mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-18 12:48:07 +00:00
47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
#!/usr/bin/env python
|
|
#
|
|
# Copyright (c) Microsoft Corporation.
|
|
# Licensed under the MIT License.
|
|
|
|
import argparse
|
|
from uuid import UUID
|
|
|
|
from azure.cosmosdb.table.tableservice import TableService
|
|
from azure.identity import AzureCliCredential
|
|
from azure.mgmt.storage import StorageManagementClient
|
|
|
|
from deploylib.configuration import (
|
|
InstanceConfigClient,
|
|
update_admins,
|
|
update_allowed_aad_tenants,
|
|
)
|
|
|
|
|
|
def main() -> None:
|
|
formatter = argparse.ArgumentDefaultsHelpFormatter
|
|
parser = argparse.ArgumentParser(formatter_class=formatter)
|
|
parser.add_argument("resource_group")
|
|
parser.add_argument("storage_account")
|
|
parser.add_argument("subscription_id")
|
|
parser.add_argument("--admins", type=UUID, nargs="*")
|
|
parser.add_argument("--allowed_aad_tenants", type=UUID, nargs="*")
|
|
args = parser.parse_args()
|
|
|
|
credential = AzureCliCredential()
|
|
client = StorageManagementClient(credential, args.subscription_id)
|
|
storage_keys = client.storage_accounts.list_keys(
|
|
args.resource_group, args.storage_account
|
|
)
|
|
table_service = TableService(
|
|
account_name=args.storage_account, account_key=storage_keys.keys[0].value
|
|
)
|
|
config_client = InstanceConfigClient(table_service, args.resource_group)
|
|
if args.admins:
|
|
update_admins(config_client, args.admins)
|
|
if args.allowed_aad_tenants:
|
|
update_allowed_aad_tenants(config_client, args.allowed_aad_tenants)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|