def create_configstore(client, resource_group_name, name, location, sku=None): sku = "Free" if sku is None else sku configstore_params = ConfigurationStore(location=location.lower(), identity=None, sku=Sku(name=sku)) return client.create(resource_group_name, name, configstore_params)
def update_configstore(cmd, client, name, resource_group_name=None, tags=None, sku=None, encryption_key_name=None, encryption_key_vault=None, encryption_key_version=None, identity_client_id=None): __validate_cmk(encryption_key_name, encryption_key_vault, encryption_key_version, identity_client_id) if resource_group_name is None: resource_group_name, _ = resolve_resource_group(cmd, name) update_params = ConfigurationStoreUpdateParameters( tags=tags if tags else None, sku=Sku(name=sku) if sku else None) if encryption_key_name is not None: key_vault_properties = KeyVaultProperties() if encryption_key_name: # key identifier schema https://keyvaultname.vault-int.azure-int.net/keys/keyname/keyversion key_identifier = "{}/keys/{}/{}".format( encryption_key_vault.strip('/'), encryption_key_name, encryption_key_version if encryption_key_version else "") key_vault_properties = KeyVaultProperties( key_identifier=key_identifier, identity_client_id=identity_client_id) update_params.encryption = EncryptionProperties( key_vault_properties=key_vault_properties) return client.update(resource_group_name=resource_group_name, config_store_name=name, config_store_update_parameters=update_params)
def create_configstore(client, resource_group_name, name, location, sku="Standard", tags=None, assign_identity=None, enable_public_network=None, disable_local_auth=None): if assign_identity is not None and not assign_identity: assign_identity = [SYSTEM_ASSIGNED_IDENTITY] public_network_access = None if enable_public_network is not None: public_network_access = 'Enabled' if enable_public_network else 'Disabled' configstore_params = ConfigurationStore( location=location.lower(), identity=__get_resource_identity(assign_identity) if assign_identity else None, sku=Sku(name=sku), tags=tags, public_network_access=public_network_access, disable_local_auth=disable_local_auth) return client.begin_create(resource_group_name, name, configstore_params)
def create_configstore(client, resource_group_name, name, location, sku="Standard", assign_identity=None): if assign_identity is not None and not assign_identity: assign_identity = [SYSTEM_ASSIGNED_IDENTITY] configstore_params = ConfigurationStore(location=location.lower(), identity=__get_resource_identity(assign_identity) if assign_identity else None, sku=Sku(name=sku)) return client.create(resource_group_name, name, configstore_params)
def update_configstore(cmd, client, name, resource_group_name=None, tags=None, sku=None, encryption_key_name=None, encryption_key_vault=None, encryption_key_version=None, identity_client_id=None, enable_public_network=None, disable_local_auth=None, enable_purge_protection=None): __validate_cmk(encryption_key_name, encryption_key_vault, encryption_key_version, identity_client_id) if resource_group_name is None: resource_group_name, _ = resolve_store_metadata(cmd, name) public_network_access = None if enable_public_network is not None: public_network_access = 'Enabled' if enable_public_network else 'Disabled' update_params = ConfigurationStoreUpdateParameters( tags=tags, sku=Sku(name=sku) if sku else None, public_network_access=public_network_access, disable_local_auth=disable_local_auth, enable_purge_protection=enable_purge_protection) if encryption_key_name is not None: key_vault_properties = KeyVaultProperties() if encryption_key_name: # key identifier schema https://keyvaultname.vault-int.azure-int.net/keys/keyname/keyversion key_identifier = "{}/keys/{}/{}".format( encryption_key_vault.strip('/'), encryption_key_name, encryption_key_version if encryption_key_version else "") key_vault_properties = KeyVaultProperties( key_identifier=key_identifier, identity_client_id=identity_client_id) update_params.encryption = EncryptionProperties( key_vault_properties=key_vault_properties) return client.begin_update(resource_group_name=resource_group_name, config_store_name=name, config_store_update_parameters=update_params)
def create_configstore(client, resource_group_name, name, location, sku="Standard", tags=None, assign_identity=None, enable_public_network=None, disable_local_auth=None, retention_days=None, enable_purge_protection=None): if assign_identity is not None and not assign_identity: assign_identity = [SYSTEM_ASSIGNED_IDENTITY] public_network_access = None if enable_public_network is not None: public_network_access = 'Enabled' if enable_public_network else 'Disabled' if sku.lower() == 'free' and (enable_purge_protection or retention_days): logger.warning( "Options '--enable-purge-protection' and '--retention-days' will be ignored when creating a free store." ) retention_days = None enable_purge_protection = None configstore_params = ConfigurationStore( location=location.lower(), identity=__get_resource_identity(assign_identity) if assign_identity else None, sku=Sku(name=sku), tags=tags, public_network_access=public_network_access, disable_local_auth=disable_local_auth, soft_delete_retention_in_days=retention_days, enable_purge_protection=enable_purge_protection, create_mode=CreateMode.DEFAULT) return client.begin_create(resource_group_name, name, configstore_params)
def recover_deleted_configstore(cmd, client, name, resource_group_name=None, location=None, yes=False): if resource_group_name is None or location is None: metadata_resource_group, metadata_location = resolve_deleted_store_metadata( cmd, name, resource_group_name, location) if resource_group_name is None: resource_group_name = metadata_resource_group if location is None: location = metadata_location configstore_params = ConfigurationStore( location=location.lower(), sku=Sku(name="Standard"), # Only Standard SKU stores can be recovered! create_mode=CreateMode.RECOVER) user_confirmation( "Are you sure you want to recover the App Configuration: {}".format( name), yes) return client.begin_create(resource_group_name, name, configstore_params)