def apim_create(client, resource_group_name, name, publisher_email, sku_name=SkuType.developer.value, sku_capacity=1, virtual_network_type=VirtualNetworkType.none.value, enable_managed_identity=False, enable_client_certificate=None, publisher_name=None, location=None, tags=None, no_wait=False): parameters = ApiManagementServiceResource( location=location, notification_sender_email=publisher_email, publisher_email=publisher_email, publisher_name=publisher_name, sku=ApiManagementServiceSkuProperties( name=sku_name, capacity=sku_capacity), enable_client_certificate=enable_client_certificate, virtual_network_type=VirtualNetworkType(virtual_network_type), tags=tags ) if enable_managed_identity: parameters.identity = ApiManagementServiceIdentity(type="SystemAssigned") if parameters.sku.name == SkuType.consumption.value: parameters.sku.capacity = 0 return sdk_no_wait(no_wait, client.api_management_service.begin_create_or_update, resource_group_name=resource_group_name, service_name=name, parameters=parameters)
def update_apim(instance, publisher_email=None, sku_name=None, sku_capacity=None, virtual_network_type=None, publisher_name=None, enable_managed_identity=None, enable_client_certificate=None, tags=None): if publisher_email is not None: instance.publisher_email = publisher_email if sku_name is not None: instance.sku.name = sku_name if sku_capacity is not None: instance.sku.capacity = sku_capacity if virtual_network_type is not None: instance.virtual_network_type = virtual_network_type if publisher_email is not None: instance.publisher_email = publisher_email if publisher_name is not None: instance.publisher_name = publisher_name if not enable_managed_identity: instance.identity = None else: if instance.identity is None: instance.identity = ApiManagementServiceIdentity(type="SystemAssigned") if enable_client_certificate is not None: instance.enable_client_certificate = enable_client_certificate if tags is not None: instance.tags = tags return instance