Fixing set_admins.py Script. (#2300)

* Fixing set_admins.

* Moving set_admins to another directory.

* Fixing imports.
This commit is contained in:
Noah McGregor Harper
2022-08-25 15:00:42 -07:00
committed by GitHub
parent c7e7fa1d27
commit d615fccd6d

View File

@ -0,0 +1,46 @@
#!/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()