diff --git a/provider/cmd/pulumi-resource-azure-native/schema.json b/provider/cmd/pulumi-resource-azure-native/schema.json index 29678461674d..88b39f6947a6 100644 --- a/provider/cmd/pulumi-resource-azure-native/schema.json +++ b/provider/cmd/pulumi-resource-azure-native/schema.json @@ -521735,6 +521735,22 @@ } ] }, + "azure-native:search:ComputeType": { + "description": "Configure this property to support the search service using either the Default Compute or Azure Confidential Compute.", + "type": "string", + "enum": [ + { + "name": "Default", + "description": "Create the service with the Default Compute.", + "value": "default" + }, + { + "name": "Confidential", + "description": "Create the service with Azure Confidential Compute.", + "value": "confidential" + } + ] + }, "azure-native:search:DataPlaneAadOrApiKeyAuthOption": { "description": "Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication.", "properties": { @@ -521786,25 +521802,25 @@ "type": "object" }, "azure-native:search:EncryptionWithCmk": { - "description": "Describes a policy that determines how resources within the search service are to be encrypted with customer=managed keys.", + "description": "Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys.", "properties": { "enforcement": { "$ref": "#/types/azure-native:search:SearchEncryptionWithCmk", - "description": "Describes how a search service should enforce having one or more non-customer-encrypted resources." + "description": "Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key." } }, "type": "object" }, "azure-native:search:EncryptionWithCmkResponse": { - "description": "Describes a policy that determines how resources within the search service are to be encrypted with customer=managed keys.", + "description": "Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys.", "properties": { "encryptionComplianceStatus": { "type": "string", - "description": "Describes whether the search service is compliant or not with respect to having non-customer-encrypted resources. If a service has more than one non-customer-encrypted resource and 'Enforcement' is 'enabled' then the service will be marked as 'nonCompliant'." + "description": "Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant." }, "enforcement": { "type": "string", - "description": "Describes how a search service should enforce having one or more non-customer-encrypted resources." + "description": "Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key." } }, "type": "object", @@ -521829,11 +521845,25 @@ ] }, "azure-native:search:Identity": { - "description": "Identity for the resource.", + "description": "Details about the search service identity. A null value indicates that the search service has no identity assigned.", "properties": { "type": { - "$ref": "#/types/azure-native:search:IdentityType", - "description": "The identity type." + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:search:IdentityType" + } + ], + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service." + }, + "userAssignedIdentities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." } }, "type": "object", @@ -521842,7 +521872,7 @@ ] }, "azure-native:search:IdentityResponse": { - "description": "Identity for the resource.", + "description": "Details about the search service identity. A null value indicates that the search service has no identity assigned.", "properties": { "principalId": { "type": "string", @@ -521854,7 +521884,15 @@ }, "type": { "type": "string", - "description": "The identity type." + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service." + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/azure-native:search:UserAssignedIdentityResponse" + }, + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." } }, "type": "object", @@ -521865,71 +521903,100 @@ ] }, "azure-native:search:IdentityType": { - "description": "The identity type.", + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service.", "type": "string", "enum": [ { + "name": "None", + "description": "Indicates that any identity associated with the search service needs to be removed.", "value": "None" }, { + "name": "SystemAssigned", + "description": "Indicates that system-assigned identity for the search service will be enabled.", "value": "SystemAssigned" + }, + { + "name": "UserAssigned", + "description": "Indicates that one or more user assigned identities will be assigned to the search service.", + "value": "UserAssigned" + }, + { + "name": "SystemAssigned, UserAssigned", + "description": "Indicates that system-assigned identity for the search service will be enabled along with the assignment of one or more user assigned identities.", + "value": "SystemAssigned, UserAssigned" } ] }, "azure-native:search:IpRule": { - "description": "The IP restriction rule of the search service.", + "description": "The IP restriction rule of the Azure AI Search service.", "properties": { "value": { "type": "string", - "description": "Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, 123.1.2.3/24) to be allowed." + "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed." } }, "type": "object" }, "azure-native:search:IpRuleResponse": { - "description": "The IP restriction rule of the search service.", + "description": "The IP restriction rule of the Azure AI Search service.", "properties": { "value": { "type": "string", - "description": "Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, 123.1.2.3/24) to be allowed." + "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed." } }, "type": "object" }, "azure-native:search:NetworkRuleSet": { - "description": "Network-specific rules that determine how the search service can be reached.", + "description": "Network specific rules that determine how the Azure AI Search service may be reached.", "properties": { + "bypass": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:search:SearchBypass" + } + ], + "description": "Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section." + }, "ipRules": { "type": "array", "items": { "type": "object", "$ref": "#/types/azure-native:search:IpRule" }, - "description": "A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'." + "description": "A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method." } }, "type": "object" }, "azure-native:search:NetworkRuleSetResponse": { - "description": "Network-specific rules that determine how the search service can be reached.", + "description": "Network specific rules that determine how the Azure AI Search service may be reached.", "properties": { + "bypass": { + "type": "string", + "description": "Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section." + }, "ipRules": { "type": "array", "items": { "type": "object", "$ref": "#/types/azure-native:search:IpRuleResponse" }, - "description": "A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'." + "description": "A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method." } }, "type": "object" }, "azure-native:search:PrivateEndpointConnectionProperties": { - "description": "Describes the properties of an existing Private Endpoint connection to the search service.", + "description": "Describes the properties of an existing private endpoint connection to the search service.", "properties": { "groupId": { "type": "string", - "description": "The group id from the provider of resource the private link service connection is for." + "description": "The group ID of the Azure resource for which the private link service is for." }, "privateEndpoint": { "type": "object", @@ -521939,7 +522006,7 @@ "privateLinkServiceConnectionState": { "type": "object", "$ref": "#/types/azure-native:search:PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionState", - "description": "Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint." + "description": "Describes the current state of an existing Azure Private Link service connection to the private endpoint." }, "provisioningState": { "oneOf": [ @@ -521950,7 +522017,7 @@ "$ref": "#/types/azure-native:search:PrivateLinkServiceConnectionProvisioningState" } ], - "description": "The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete" + "description": "The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled." } }, "type": "object" @@ -521960,13 +522027,13 @@ "properties": { "id": { "type": "string", - "description": "The resource id of the private endpoint resource from Microsoft.Network provider." + "description": "The resource ID of the private endpoint resource from Microsoft.Network provider." } }, "type": "object" }, "azure-native:search:PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionState": { - "description": "Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint.", + "description": "Describes the current state of an existing Azure Private Link service connection to the private endpoint.", "properties": { "actionsRequired": { "type": "string", @@ -521985,11 +522052,11 @@ "type": "object" }, "azure-native:search:PrivateEndpointConnectionPropertiesResponse": { - "description": "Describes the properties of an existing Private Endpoint connection to the search service.", + "description": "Describes the properties of an existing private endpoint connection to the search service.", "properties": { "groupId": { "type": "string", - "description": "The group id from the provider of resource the private link service connection is for." + "description": "The group ID of the Azure resource for which the private link service is for." }, "privateEndpoint": { "type": "object", @@ -521999,11 +522066,11 @@ "privateLinkServiceConnectionState": { "type": "object", "$ref": "#/types/azure-native:search:PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState", - "description": "Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint." + "description": "Describes the current state of an existing Azure Private Link service connection to the private endpoint." }, "provisioningState": { "type": "string", - "description": "The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete" + "description": "The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled." } }, "type": "object" @@ -522013,13 +522080,13 @@ "properties": { "id": { "type": "string", - "description": "The resource id of the private endpoint resource from Microsoft.Network provider." + "description": "The resource ID of the private endpoint resource from Microsoft.Network provider." } }, "type": "object" }, "azure-native:search:PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState": { - "description": "Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint.", + "description": "Describes the current state of an existing Azure Private Link service connection to the private endpoint.", "properties": { "actionsRequired": { "type": "string", @@ -522038,11 +522105,11 @@ "type": "object" }, "azure-native:search:PrivateEndpointConnectionResponse": { - "description": "Describes an existing private endpoint connection to the search service.", + "description": "Describes an existing private endpoint connection to the Azure AI Search service.", "properties": { "id": { "type": "string", - "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + "description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\"" }, "name": { "type": "string", @@ -522051,7 +522118,12 @@ "properties": { "type": "object", "$ref": "#/types/azure-native:search:PrivateEndpointConnectionPropertiesResponse", - "description": "Describes the properties of an existing private endpoint connection to the search service." + "description": "Describes the properties of an existing private endpoint connection to the Azure AI Search service." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:search:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." }, "type": { "type": "string", @@ -522062,11 +522134,12 @@ "required": [ "id", "name", + "systemData", "type" ] }, "azure-native:search:PrivateLinkServiceConnectionProvisioningState": { - "description": "The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete", + "description": "The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled.", "type": "string", "enum": [ { @@ -522096,7 +522169,7 @@ }, { "name": "Canceled", - "description": "Provisioning request for the private link service connection resource has been canceled", + "description": "Provisioning request for the private link service connection resource has been canceled.", "value": "Canceled" } ] @@ -522132,15 +522205,24 @@ "type": "string", "enum": [ { + "name": "Enabled", + "description": "The search service is accessible from traffic originating from the public internet.", "value": "enabled" }, { + "name": "Disabled", + "description": "The search service is not accessible from traffic originating from the public internet. Access is only permitted over approved private endpoint connections.", "value": "disabled" + }, + { + "name": "SecuredByPerimeter", + "description": "The network security perimeter configuration rules allow or disallow public network access to the resource. Requires an associated network security perimeter.", + "value": "securedByPerimeter" } ] }, "azure-native:search:QueryKeyResponse": { - "description": "Describes an API key for a given search service that has permissions for query operations only.", + "description": "Describes an API key for a given Azure AI Search service that conveys read-only permissions on the docs collection of an index.", "properties": { "key": { "type": "string", @@ -522148,7 +522230,7 @@ }, "name": { "type": "string", - "description": "The name of the query API key; may be empty." + "description": "The name of the query API key. Query names are optional, but assigning a name can help you remember how it's used." } }, "type": "object", @@ -522157,18 +522239,45 @@ "name" ] }, + "azure-native:search:SearchBypass": { + "description": "Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section.", + "type": "string", + "enum": [ + { + "name": "None", + "description": "Indicates that no origin can bypass the rules defined in the 'ipRules' section. This is the default.", + "value": "None" + }, + { + "name": "AzureServices", + "description": "Indicates that requests originating from Azure trusted services can bypass the rules defined in the 'ipRules' section.", + "value": "AzureServices" + } + ] + }, + "azure-native:search:SearchDataExfiltrationProtection": { + "description": "A specific data exfiltration scenario that is disabled for the service.", + "type": "string", + "enum": [ + { + "name": "BlockAll", + "description": "Indicates that all data exfiltration scenarios are disabled.", + "value": "BlockAll" + } + ] + }, "azure-native:search:SearchEncryptionWithCmk": { - "description": "Describes how a search service should enforce having one or more non-customer-encrypted resources.", + "description": "Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key.", "type": "string", "enum": [ { "name": "Disabled", - "description": "No enforcement will be made and the search service can have non-customer-encrypted resources.", + "description": "No enforcement of customer-managed key encryption will be made. Only the built-in service-managed encryption is used.", "value": "Disabled" }, { "name": "Enabled", - "description": "Search service will be marked as non-compliant if there are one or more non-customer-encrypted resources.", + "description": "Search service will be marked as non-compliant if one or more objects aren't encrypted with a customer-managed key.", "value": "Enabled" }, { @@ -522179,66 +522288,80 @@ ] }, "azure-native:search:SearchSemanticSearch": { - "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations.", + "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations.", "type": "string", "enum": [ { "name": "disabled", - "description": "Indicates that semantic ranking is disabled for the search service.", + "description": "Indicates that semantic reranker is disabled for the search service. This is the default.", "value": "disabled" }, { "name": "free", - "description": "Enables semantic ranking on a search service and indicates that it is to be used within the limits of the free tier. This would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services.", + "description": "Enables semantic reranker on a search service and indicates that it is to be used within the limits of the free plan. The free plan would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services.", "value": "free" }, { "name": "standard", - "description": "Enables semantic ranking on a search service as a billable feature, with higher throughput and volume of semantic ranking requests.", + "description": "Enables semantic reranker on a search service as a billable feature, with higher throughput and volume of semantically reranked queries.", "value": "standard" } ] }, "azure-native:search:SharedPrivateLinkResourceProperties": { - "description": "Describes the properties of an existing Shared Private Link Resource managed by the search service.", + "description": "Describes the properties of an existing shared private link resource managed by the Azure AI Search service.", "properties": { "groupId": { "type": "string", - "description": "The group id from the provider of resource the shared private link resource is for." + "description": "The group ID from the provider of resource the shared private link resource is for." }, "privateLinkResourceId": { "type": "string", - "description": "The resource id of the resource the shared private link resource is for." + "description": "The resource ID of the resource the shared private link resource is for." }, "provisioningState": { - "$ref": "#/types/azure-native:search:SharedPrivateLinkResourceProvisioningState", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:search:SharedPrivateLinkResourceProvisioningState" + } + ], "description": "The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete." }, "requestMessage": { "type": "string", - "description": "The request message for requesting approval of the shared private link resource." + "description": "The message for requesting approval of the shared private link resource." }, "resourceRegion": { "type": "string", - "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service)." + "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service)." }, "status": { - "$ref": "#/types/azure-native:search:SharedPrivateLinkResourceStatus", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:search:SharedPrivateLinkResourceStatus" + } + ], "description": "Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected." } }, "type": "object" }, "azure-native:search:SharedPrivateLinkResourcePropertiesResponse": { - "description": "Describes the properties of an existing Shared Private Link Resource managed by the search service.", + "description": "Describes the properties of an existing shared private link resource managed by the Azure AI Search service.", "properties": { "groupId": { "type": "string", - "description": "The group id from the provider of resource the shared private link resource is for." + "description": "The group ID from the provider of resource the shared private link resource is for." }, "privateLinkResourceId": { "type": "string", - "description": "The resource id of the resource the shared private link resource is for." + "description": "The resource ID of the resource the shared private link resource is for." }, "provisioningState": { "type": "string", @@ -522246,11 +522369,11 @@ }, "requestMessage": { "type": "string", - "description": "The request message for requesting approval of the shared private link resource." + "description": "The message for requesting approval of the shared private link resource." }, "resourceRegion": { "type": "string", - "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service)." + "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service)." }, "status": { "type": "string", @@ -522264,28 +522387,38 @@ "type": "string", "enum": [ { + "name": "Updating", + "description": "The shared private link resource is in the process of being created along with other resources for it to be fully functional.", "value": "Updating" }, { + "name": "Deleting", + "description": "The shared private link resource is in the process of being deleted.", "value": "Deleting" }, { + "name": "Failed", + "description": "The shared private link resource has failed to be provisioned or deleted.", "value": "Failed" }, { + "name": "Succeeded", + "description": "The shared private link resource has finished provisioning and is ready for approval.", "value": "Succeeded" }, { + "name": "Incomplete", + "description": "Provisioning request for the shared private link resource has been accepted but the process of creation has not commenced yet.", "value": "Incomplete" } ] }, "azure-native:search:SharedPrivateLinkResourceResponse": { - "description": "Describes a Shared Private Link Resource managed by the search service.", + "description": "Describes a shared private link resource managed by the Azure AI Search service.", "properties": { "id": { "type": "string", - "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + "description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\"" }, "name": { "type": "string", @@ -522294,7 +522427,12 @@ "properties": { "type": "object", "$ref": "#/types/azure-native:search:SharedPrivateLinkResourcePropertiesResponse", - "description": "Describes the properties of a Shared Private Link Resource managed by the search service." + "description": "Describes the properties of a shared private link resource managed by the Azure AI Search service." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:search:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." }, "type": { "type": "string", @@ -522305,6 +522443,7 @@ "required": [ "id", "name", + "systemData", "type" ] }, @@ -522313,15 +522452,23 @@ "type": "string", "enum": [ { + "name": "Pending", + "description": "The shared private link resource has been created and is pending approval.", "value": "Pending" }, { + "name": "Approved", + "description": "The shared private link resource is approved and is ready for use.", "value": "Approved" }, { + "name": "Rejected", + "description": "The shared private link resource has been rejected and cannot be used.", "value": "Rejected" }, { + "name": "Disconnected", + "description": "The shared private link resource has been removed from the service.", "value": "Disconnected" } ] @@ -522330,7 +522477,14 @@ "description": "Defines the SKU of a search service, which determines billing rate and capacity limits.", "properties": { "name": { - "$ref": "#/types/azure-native:search:SkuName", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:search:SkuName" + } + ], "description": "The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.'" } }, @@ -522387,6 +522541,70 @@ }, "type": "object" }, + "azure-native:search:SystemDataResponse": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "properties": { + "createdAt": { + "type": "string", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "description": "The timestamp of resource last modification (UTC)" + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource." + } + }, + "type": "object" + }, + "azure-native:search:UpgradeAvailable": { + "description": "Indicates if the search service has an upgrade available.", + "type": "string", + "enum": [ + { + "name": "NotAvailable", + "description": "An upgrade is currently not available for the service.", + "value": "notAvailable" + }, + { + "name": "Available", + "description": "There is an upgrade available for the service.", + "value": "available" + } + ] + }, + "azure-native:search:UserAssignedIdentityResponse": { + "description": "User assigned identity properties", + "properties": { + "clientId": { + "type": "string", + "description": "The client ID of the assigned identity." + }, + "principalId": { + "type": "string", + "description": "The principal ID of the assigned identity." + } + }, + "type": "object", + "required": [ + "clientId", + "principalId" + ] + }, "azure-native:secretsynccontroller:AzureResourceManagerCommonTypesExtendedLocation": { "description": "The complex type of the extended location.", "properties": { @@ -638708,7 +638926,7 @@ ] }, "azure-native:awsconnector:EmrCluster": { - "description": "A Microsoft.AwsConnector resource\n\nUses Azure REST API version 2024-12-01. In version 2.x of the Azure Native provider, it used API version 2024-12-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### EmrClusters_CreateOrReplace\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var emrCluster = new AzureNative.AwsConnector.EmrCluster(\"emrCluster\", new()\n {\n Location = \"gxjyaumpubnajcudsqwk\",\n Name = \"Replace this value with a string matching RegExp ^(z=.{0,259}[^zs.]$)(z!.*[zzzzzzzz])\",\n Properties = new AzureNative.AwsConnector.Inputs.EmrClusterPropertiesArgs\n {\n Arn = \"hvhwzh\",\n AwsAccountId = \"tsnkbdcacnozmtgvxjflzydxeu\",\n AwsProperties = new AzureNative.AwsConnector.Inputs.AwsEmrClusterPropertiesArgs\n {\n Applications = new[]\n {\n new AzureNative.AwsConnector.Inputs.ApplicationArgs\n {\n AdditionalInfo = \n {\n { \"key299\", \"utebwgfwrjdsmcdauxfdp\" },\n },\n Args = new[]\n {\n \"sumnqhhlrszgzznshwr\",\n },\n Name = \"kapcvpwdf\",\n Version = \"yccwkryikpyu\",\n },\n },\n AutoScalingRole = \"yuplht\",\n AutoTerminate = true,\n ClusterArn = \"bwnxmqzwlykxvewsdujzovqs\",\n Configurations = new[]\n {\n new AzureNative.AwsConnector.Inputs.ConfigurationArgs\n {\n Classification = \"ahweyaesthmgtdiv\",\n Configurations = new() { },\n Properties = \n {\n { \"key6744\", \"jfktwevmtaitzgjhgrxhcsyaf\" },\n },\n },\n },\n CustomAmiId = \"iwlvorsznjsaunx\",\n EbsRootVolumeIops = 28,\n EbsRootVolumeSize = 25,\n EbsRootVolumeThroughput = 17,\n Ec2InstanceAttributes = new AzureNative.AwsConnector.Inputs.Ec2InstanceAttributesArgs\n {\n AdditionalMasterSecurityGroups = new[]\n {\n \"pzihpojfcoxrdcrosktssgf\",\n },\n AdditionalSlaveSecurityGroups = new[]\n {\n \"rdaccocuctxwwzt\",\n },\n Ec2AvailabilityZone = \"bwaaomtre\",\n Ec2KeyName = \"jej\",\n Ec2SubnetId = \"ykhysdwgksrwehd\",\n EmrManagedMasterSecurityGroup = \"rjwslxsygj\",\n EmrManagedSlaveSecurityGroup = \"hvmxzsjgkhxnimtofmzlpkf\",\n IamInstanceProfile = \"wxgp\",\n RequestedEc2AvailabilityZones = new[]\n {\n \"wjzsvq\",\n },\n RequestedEc2SubnetIds = new[]\n {\n \"nliztbuhuhkve\",\n },\n ServiceAccessSecurityGroup = \"supzzejzwqetvnebvhefvwofww\",\n },\n Id = \"usolewchtbnpfarqidjcaetetbbnww\",\n InstanceCollectionType = new AzureNative.AwsConnector.Inputs.InstanceCollectionTypeEnumValueArgs\n {\n Value = AzureNative.AwsConnector.InstanceCollectionType.INSTANCE_FLEET,\n },\n KerberosAttributes = new AzureNative.AwsConnector.Inputs.KerberosAttributesArgs\n {\n AdDomainJoinPassword = \"nhrnfruuygxsvhumivr\",\n AdDomainJoinUser = \"ezsezwfzesdunmtiegxbsomqqk\",\n CrossRealmTrustPrincipalPassword = \"rpvurwogufbkyluimlirujvpwl\",\n KdcAdminPassword = \"yzsewywylqtqouxwulr\",\n Realm = \"rraygrjruzeqrozds\",\n },\n LogEncryptionKmsKeyId = \"p\",\n LogUri = \"xrdeudkf\",\n MasterPublicDnsName = \"ztuajioptfwewm\",\n Name = \"bhkvffeitkj\",\n NormalizedInstanceHours = 16,\n OsReleaseLabel = \"huxdgdaqkknvleyvhgydjbidn\",\n OutpostArn = \"wnoxdzcyqfbreqnkorlwtfvmzpcu\",\n PlacementGroups = new[]\n {\n new AzureNative.AwsConnector.Inputs.PlacementGroupConfigArgs\n {\n InstanceRole = new AzureNative.AwsConnector.Inputs.InstanceRoleTypeEnumValueArgs\n {\n Value = AzureNative.AwsConnector.InstanceRoleType.CORE,\n },\n PlacementStrategy = new AzureNative.AwsConnector.Inputs.PlacementGroupStrategyEnumValueArgs\n {\n Value = AzureNative.AwsConnector.PlacementGroupStrategy.CLUSTER,\n },\n },\n },\n ReleaseLabel = \"lpmpniehmkeuwyyh\",\n RepoUpgradeOnBoot = new AzureNative.AwsConnector.Inputs.RepoUpgradeOnBootEnumValueArgs\n {\n Value = AzureNative.AwsConnector.RepoUpgradeOnBoot.NONE,\n },\n RequestedAmiVersion = \"kwlohrrhuxcgnok\",\n RunningAmiVersion = \"wd\",\n ScaleDownBehavior = new AzureNative.AwsConnector.Inputs.ScaleDownBehaviorEnumValueArgs\n {\n Value = AzureNative.AwsConnector.ScaleDownBehavior.TERMINATE_AT_INSTANCE_HOUR,\n },\n SecurityConfiguration = \"njgb\",\n ServiceRole = \"msbrnoepcyrbaazxsmwbhmqrzubm\",\n Status = new AzureNative.AwsConnector.Inputs.EmrClusterStatusArgs\n {\n ErrorDetails = new[]\n {\n new AzureNative.AwsConnector.Inputs.ErrorDetailArgs\n {\n ErrorCode = \"lklafbu\",\n ErrorData = new[]\n {\n null,\n },\n ErrorMessage = \"hhoucsczmnnflofzyxt\",\n },\n },\n State = new AzureNative.AwsConnector.Inputs.ClusterStateEnumValueArgs\n {\n Value = AzureNative.AwsConnector.ClusterState.BOOTSTRAPPING,\n },\n StateChangeReason = new AzureNative.AwsConnector.Inputs.ClusterStateChangeReasonArgs\n {\n Code = new AzureNative.AwsConnector.Inputs.ClusterStateChangeReasonCodeEnumValueArgs\n {\n Value = AzureNative.AwsConnector.ClusterStateChangeReasonCode.ALL_STEPS_COMPLETED,\n },\n Message = \"sxjkazmayqtbqnbaslxpxun\",\n },\n Timeline = new AzureNative.AwsConnector.Inputs.ClusterTimelineArgs\n {\n CreationDateTime = \"2024-10-08T03:51:42.281Z\",\n EndDateTime = \"2024-10-08T03:51:42.281Z\",\n ReadyDateTime = \"2024-10-08T03:51:42.281Z\",\n },\n },\n StepConcurrencyLevel = 8,\n Tags = new[]\n {\n new AzureNative.AwsConnector.Inputs.TagArgs\n {\n Key = \"vfcae\",\n Value = \"gibogfcbfiielvixdxeb\",\n },\n },\n TerminationProtected = true,\n UnhealthyNodeReplacement = true,\n VisibleToAllUsers = true,\n },\n AwsRegion = \"rbbkoztkjhvdu\",\n AwsSourceSchema = \"sexomixwzozkllipdmi\",\n AwsTags = \n {\n { \"key6409\", \"fsgzxbnbmfnv\" },\n },\n PublicCloudConnectorsResourceId = \"gjirecopxmcdpdljkxexxoawwd\",\n PublicCloudResourceName = \"aulznvgpxpjdvghbszbwxycew\",\n },\n ResourceGroupName = \"rgemrCluster\",\n Tags = \n {\n { \"key4944\", \"rpsyifovzprbxzcudooiqiqliub\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tawsconnector \"github.com/pulumi/pulumi-azure-native-sdk/awsconnector/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := awsconnector.NewEmrCluster(ctx, \"emrCluster\", \u0026awsconnector.EmrClusterArgs{\n\t\t\tLocation: pulumi.String(\"gxjyaumpubnajcudsqwk\"),\n\t\t\tName: pulumi.String(\"Replace this value with a string matching RegExp ^(z=.{0,259}[^zs.]$)(z!.*[zzzzzzzz])\"),\n\t\t\tProperties: \u0026awsconnector.EmrClusterPropertiesArgs{\n\t\t\t\tArn: pulumi.String(\"hvhwzh\"),\n\t\t\t\tAwsAccountId: pulumi.String(\"tsnkbdcacnozmtgvxjflzydxeu\"),\n\t\t\t\tAwsProperties: \u0026awsconnector.AwsEmrClusterPropertiesArgs{\n\t\t\t\t\tApplications: awsconnector.ApplicationArray{\n\t\t\t\t\t\t\u0026awsconnector.ApplicationArgs{\n\t\t\t\t\t\t\tAdditionalInfo: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"key299\": pulumi.String(\"utebwgfwrjdsmcdauxfdp\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"sumnqhhlrszgzznshwr\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"kapcvpwdf\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"yccwkryikpyu\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAutoScalingRole: pulumi.String(\"yuplht\"),\n\t\t\t\t\tAutoTerminate: pulumi.Bool(true),\n\t\t\t\t\tClusterArn: pulumi.String(\"bwnxmqzwlykxvewsdujzovqs\"),\n\t\t\t\t\tConfigurations: awsconnector.ConfigurationArray{\n\t\t\t\t\t\t\u0026awsconnector.ConfigurationArgs{\n\t\t\t\t\t\t\tClassification: pulumi.String(\"ahweyaesthmgtdiv\"),\n\t\t\t\t\t\t\tConfigurations: awsconnector.ConfigurationArray{},\n\t\t\t\t\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"key6744\": pulumi.String(\"jfktwevmtaitzgjhgrxhcsyaf\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCustomAmiId: pulumi.String(\"iwlvorsznjsaunx\"),\n\t\t\t\t\tEbsRootVolumeIops: pulumi.Int(28),\n\t\t\t\t\tEbsRootVolumeSize: pulumi.Int(25),\n\t\t\t\t\tEbsRootVolumeThroughput: pulumi.Int(17),\n\t\t\t\t\tEc2InstanceAttributes: \u0026awsconnector.Ec2InstanceAttributesArgs{\n\t\t\t\t\t\tAdditionalMasterSecurityGroups: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"pzihpojfcoxrdcrosktssgf\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tAdditionalSlaveSecurityGroups: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"rdaccocuctxwwzt\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tEc2AvailabilityZone: pulumi.String(\"bwaaomtre\"),\n\t\t\t\t\t\tEc2KeyName: pulumi.String(\"jej\"),\n\t\t\t\t\t\tEc2SubnetId: pulumi.String(\"ykhysdwgksrwehd\"),\n\t\t\t\t\t\tEmrManagedMasterSecurityGroup: pulumi.String(\"rjwslxsygj\"),\n\t\t\t\t\t\tEmrManagedSlaveSecurityGroup: pulumi.String(\"hvmxzsjgkhxnimtofmzlpkf\"),\n\t\t\t\t\t\tIamInstanceProfile: pulumi.String(\"wxgp\"),\n\t\t\t\t\t\tRequestedEc2AvailabilityZones: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"wjzsvq\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRequestedEc2SubnetIds: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"nliztbuhuhkve\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tServiceAccessSecurityGroup: pulumi.String(\"supzzejzwqetvnebvhefvwofww\"),\n\t\t\t\t\t},\n\t\t\t\t\tId: pulumi.String(\"usolewchtbnpfarqidjcaetetbbnww\"),\n\t\t\t\t\tInstanceCollectionType: \u0026awsconnector.InstanceCollectionTypeEnumValueArgs{\n\t\t\t\t\t\tValue: pulumi.String(awsconnector.InstanceCollectionType_INSTANCE_FLEET),\n\t\t\t\t\t},\n\t\t\t\t\tKerberosAttributes: \u0026awsconnector.KerberosAttributesArgs{\n\t\t\t\t\t\tAdDomainJoinPassword: pulumi.String(\"nhrnfruuygxsvhumivr\"),\n\t\t\t\t\t\tAdDomainJoinUser: pulumi.String(\"ezsezwfzesdunmtiegxbsomqqk\"),\n\t\t\t\t\t\tCrossRealmTrustPrincipalPassword: pulumi.String(\"rpvurwogufbkyluimlirujvpwl\"),\n\t\t\t\t\t\tKdcAdminPassword: pulumi.String(\"yzsewywylqtqouxwulr\"),\n\t\t\t\t\t\tRealm: pulumi.String(\"rraygrjruzeqrozds\"),\n\t\t\t\t\t},\n\t\t\t\t\tLogEncryptionKmsKeyId: pulumi.String(\"p\"),\n\t\t\t\t\tLogUri: pulumi.String(\"xrdeudkf\"),\n\t\t\t\t\tMasterPublicDnsName: pulumi.String(\"ztuajioptfwewm\"),\n\t\t\t\t\tName: pulumi.String(\"bhkvffeitkj\"),\n\t\t\t\t\tNormalizedInstanceHours: pulumi.Int(16),\n\t\t\t\t\tOsReleaseLabel: pulumi.String(\"huxdgdaqkknvleyvhgydjbidn\"),\n\t\t\t\t\tOutpostArn: pulumi.String(\"wnoxdzcyqfbreqnkorlwtfvmzpcu\"),\n\t\t\t\t\tPlacementGroups: awsconnector.PlacementGroupConfigArray{\n\t\t\t\t\t\t\u0026awsconnector.PlacementGroupConfigArgs{\n\t\t\t\t\t\t\tInstanceRole: \u0026awsconnector.InstanceRoleTypeEnumValueArgs{\n\t\t\t\t\t\t\t\tValue: pulumi.String(awsconnector.InstanceRoleTypeCORE),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tPlacementStrategy: \u0026awsconnector.PlacementGroupStrategyEnumValueArgs{\n\t\t\t\t\t\t\t\tValue: pulumi.String(awsconnector.PlacementGroupStrategyCLUSTER),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tReleaseLabel: pulumi.String(\"lpmpniehmkeuwyyh\"),\n\t\t\t\t\tRepoUpgradeOnBoot: \u0026awsconnector.RepoUpgradeOnBootEnumValueArgs{\n\t\t\t\t\t\tValue: pulumi.String(awsconnector.RepoUpgradeOnBootNONE),\n\t\t\t\t\t},\n\t\t\t\t\tRequestedAmiVersion: pulumi.String(\"kwlohrrhuxcgnok\"),\n\t\t\t\t\tRunningAmiVersion: pulumi.String(\"wd\"),\n\t\t\t\t\tScaleDownBehavior: \u0026awsconnector.ScaleDownBehaviorEnumValueArgs{\n\t\t\t\t\t\tValue: pulumi.String(awsconnector.ScaleDownBehavior_TERMINATE_AT_INSTANCE_HOUR),\n\t\t\t\t\t},\n\t\t\t\t\tSecurityConfiguration: pulumi.String(\"njgb\"),\n\t\t\t\t\tServiceRole: pulumi.String(\"msbrnoepcyrbaazxsmwbhmqrzubm\"),\n\t\t\t\t\tStatus: \u0026awsconnector.EmrClusterStatusArgs{\n\t\t\t\t\t\tErrorDetails: awsconnector.ErrorDetailArray{\n\t\t\t\t\t\t\t\u0026awsconnector.ErrorDetailArgs{\n\t\t\t\t\t\t\t\tErrorCode: pulumi.String(\"lklafbu\"),\n\t\t\t\t\t\t\t\tErrorData: pulumi.Array{\n\t\t\t\t\t\t\t\t\tpulumi.Any(map[string]interface{}{}),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tErrorMessage: pulumi.String(\"hhoucsczmnnflofzyxt\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tState: \u0026awsconnector.ClusterStateEnumValueArgs{\n\t\t\t\t\t\t\tValue: pulumi.String(awsconnector.ClusterStateBOOTSTRAPPING),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStateChangeReason: \u0026awsconnector.ClusterStateChangeReasonArgs{\n\t\t\t\t\t\t\tCode: \u0026awsconnector.ClusterStateChangeReasonCodeEnumValueArgs{\n\t\t\t\t\t\t\t\tValue: pulumi.String(awsconnector.ClusterStateChangeReasonCode_ALL_STEPS_COMPLETED),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMessage: pulumi.String(\"sxjkazmayqtbqnbaslxpxun\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTimeline: \u0026awsconnector.ClusterTimelineArgs{\n\t\t\t\t\t\t\tCreationDateTime: pulumi.String(\"2024-10-08T03:51:42.281Z\"),\n\t\t\t\t\t\t\tEndDateTime: pulumi.String(\"2024-10-08T03:51:42.281Z\"),\n\t\t\t\t\t\t\tReadyDateTime: pulumi.String(\"2024-10-08T03:51:42.281Z\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStepConcurrencyLevel: pulumi.Int(8),\n\t\t\t\t\tTags: awsconnector.TagArray{\n\t\t\t\t\t\t\u0026awsconnector.TagArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"vfcae\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"gibogfcbfiielvixdxeb\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTerminationProtected: pulumi.Bool(true),\n\t\t\t\t\tUnhealthyNodeReplacement: pulumi.Bool(true),\n\t\t\t\t\tVisibleToAllUsers: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tAwsRegion: pulumi.String(\"rbbkoztkjhvdu\"),\n\t\t\t\tAwsSourceSchema: pulumi.String(\"sexomixwzozkllipdmi\"),\n\t\t\t\tAwsTags: pulumi.StringMap{\n\t\t\t\t\t\"key6409\": pulumi.String(\"fsgzxbnbmfnv\"),\n\t\t\t\t},\n\t\t\t\tPublicCloudConnectorsResourceId: pulumi.String(\"gjirecopxmcdpdljkxexxoawwd\"),\n\t\t\t\tPublicCloudResourceName: pulumi.String(\"aulznvgpxpjdvghbszbwxycew\"),\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rgemrCluster\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key4944\": pulumi.String(\"rpsyifovzprbxzcudooiqiqliub\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.awsconnector.EmrCluster;\nimport com.pulumi.azurenative.awsconnector.EmrClusterArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.EmrClusterPropertiesArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.AwsEmrClusterPropertiesArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.Ec2InstanceAttributesArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.InstanceCollectionTypeEnumValueArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.KerberosAttributesArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.RepoUpgradeOnBootEnumValueArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.ScaleDownBehaviorEnumValueArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.EmrClusterStatusArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.ClusterStateEnumValueArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.ClusterStateChangeReasonArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.ClusterStateChangeReasonCodeEnumValueArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.ClusterTimelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var emrCluster = new EmrCluster(\"emrCluster\", EmrClusterArgs.builder()\n .location(\"gxjyaumpubnajcudsqwk\")\n .name(\"Replace this value with a string matching RegExp ^(z=.{0,259}[^zs.]$)(z!.*[zzzzzzzz])\")\n .properties(EmrClusterPropertiesArgs.builder()\n .arn(\"hvhwzh\")\n .awsAccountId(\"tsnkbdcacnozmtgvxjflzydxeu\")\n .awsProperties(AwsEmrClusterPropertiesArgs.builder()\n .applications(ApplicationArgs.builder()\n .additionalInfo(Map.of(\"key299\", \"utebwgfwrjdsmcdauxfdp\"))\n .args(\"sumnqhhlrszgzznshwr\")\n .name(\"kapcvpwdf\")\n .version(\"yccwkryikpyu\")\n .build())\n .autoScalingRole(\"yuplht\")\n .autoTerminate(true)\n .clusterArn(\"bwnxmqzwlykxvewsdujzovqs\")\n .configurations(ConfigurationArgs.builder()\n .classification(\"ahweyaesthmgtdiv\")\n .configurations()\n .properties(Map.of(\"key6744\", \"jfktwevmtaitzgjhgrxhcsyaf\"))\n .build())\n .customAmiId(\"iwlvorsznjsaunx\")\n .ebsRootVolumeIops(28)\n .ebsRootVolumeSize(25)\n .ebsRootVolumeThroughput(17)\n .ec2InstanceAttributes(Ec2InstanceAttributesArgs.builder()\n .additionalMasterSecurityGroups(\"pzihpojfcoxrdcrosktssgf\")\n .additionalSlaveSecurityGroups(\"rdaccocuctxwwzt\")\n .ec2AvailabilityZone(\"bwaaomtre\")\n .ec2KeyName(\"jej\")\n .ec2SubnetId(\"ykhysdwgksrwehd\")\n .emrManagedMasterSecurityGroup(\"rjwslxsygj\")\n .emrManagedSlaveSecurityGroup(\"hvmxzsjgkhxnimtofmzlpkf\")\n .iamInstanceProfile(\"wxgp\")\n .requestedEc2AvailabilityZones(\"wjzsvq\")\n .requestedEc2SubnetIds(\"nliztbuhuhkve\")\n .serviceAccessSecurityGroup(\"supzzejzwqetvnebvhefvwofww\")\n .build())\n .id(\"usolewchtbnpfarqidjcaetetbbnww\")\n .instanceCollectionType(InstanceCollectionTypeEnumValueArgs.builder()\n .value(\"INSTANCE_FLEET\")\n .build())\n .kerberosAttributes(KerberosAttributesArgs.builder()\n .adDomainJoinPassword(\"nhrnfruuygxsvhumivr\")\n .adDomainJoinUser(\"ezsezwfzesdunmtiegxbsomqqk\")\n .crossRealmTrustPrincipalPassword(\"rpvurwogufbkyluimlirujvpwl\")\n .kdcAdminPassword(\"yzsewywylqtqouxwulr\")\n .realm(\"rraygrjruzeqrozds\")\n .build())\n .logEncryptionKmsKeyId(\"p\")\n .logUri(\"xrdeudkf\")\n .masterPublicDnsName(\"ztuajioptfwewm\")\n .name(\"bhkvffeitkj\")\n .normalizedInstanceHours(16)\n .osReleaseLabel(\"huxdgdaqkknvleyvhgydjbidn\")\n .outpostArn(\"wnoxdzcyqfbreqnkorlwtfvmzpcu\")\n .placementGroups(PlacementGroupConfigArgs.builder()\n .instanceRole(InstanceRoleTypeEnumValueArgs.builder()\n .value(\"CORE\")\n .build())\n .placementStrategy(PlacementGroupStrategyEnumValueArgs.builder()\n .value(\"CLUSTER\")\n .build())\n .build())\n .releaseLabel(\"lpmpniehmkeuwyyh\")\n .repoUpgradeOnBoot(RepoUpgradeOnBootEnumValueArgs.builder()\n .value(\"NONE\")\n .build())\n .requestedAmiVersion(\"kwlohrrhuxcgnok\")\n .runningAmiVersion(\"wd\")\n .scaleDownBehavior(ScaleDownBehaviorEnumValueArgs.builder()\n .value(\"TERMINATE_AT_INSTANCE_HOUR\")\n .build())\n .securityConfiguration(\"njgb\")\n .serviceRole(\"msbrnoepcyrbaazxsmwbhmqrzubm\")\n .status(EmrClusterStatusArgs.builder()\n .errorDetails(ErrorDetailArgs.builder()\n .errorCode(\"lklafbu\")\n .errorData(Map.ofEntries(\n ))\n .errorMessage(\"hhoucsczmnnflofzyxt\")\n .build())\n .state(ClusterStateEnumValueArgs.builder()\n .value(\"BOOTSTRAPPING\")\n .build())\n .stateChangeReason(ClusterStateChangeReasonArgs.builder()\n .code(ClusterStateChangeReasonCodeEnumValueArgs.builder()\n .value(\"ALL_STEPS_COMPLETED\")\n .build())\n .message(\"sxjkazmayqtbqnbaslxpxun\")\n .build())\n .timeline(ClusterTimelineArgs.builder()\n .creationDateTime(\"2024-10-08T03:51:42.281Z\")\n .endDateTime(\"2024-10-08T03:51:42.281Z\")\n .readyDateTime(\"2024-10-08T03:51:42.281Z\")\n .build())\n .build())\n .stepConcurrencyLevel(8)\n .tags(TagArgs.builder()\n .key(\"vfcae\")\n .value(\"gibogfcbfiielvixdxeb\")\n .build())\n .terminationProtected(true)\n .unhealthyNodeReplacement(true)\n .visibleToAllUsers(true)\n .build())\n .awsRegion(\"rbbkoztkjhvdu\")\n .awsSourceSchema(\"sexomixwzozkllipdmi\")\n .awsTags(Map.of(\"key6409\", \"fsgzxbnbmfnv\"))\n .publicCloudConnectorsResourceId(\"gjirecopxmcdpdljkxexxoawwd\")\n .publicCloudResourceName(\"aulznvgpxpjdvghbszbwxycew\")\n .build())\n .resourceGroupName(\"rgemrCluster\")\n .tags(Map.of(\"key4944\", \"rpsyifovzprbxzcudooiqiqliub\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst emrCluster = new azure_native.awsconnector.EmrCluster(\"emrCluster\", {\n location: \"gxjyaumpubnajcudsqwk\",\n name: \"Replace this value with a string matching RegExp ^(z=.{0,259}[^zs.]$)(z!.*[zzzzzzzz])\",\n properties: {\n arn: \"hvhwzh\",\n awsAccountId: \"tsnkbdcacnozmtgvxjflzydxeu\",\n awsProperties: {\n applications: [{\n additionalInfo: {\n key299: \"utebwgfwrjdsmcdauxfdp\",\n },\n args: [\"sumnqhhlrszgzznshwr\"],\n name: \"kapcvpwdf\",\n version: \"yccwkryikpyu\",\n }],\n autoScalingRole: \"yuplht\",\n autoTerminate: true,\n clusterArn: \"bwnxmqzwlykxvewsdujzovqs\",\n configurations: [{\n classification: \"ahweyaesthmgtdiv\",\n configurations: [],\n properties: {\n key6744: \"jfktwevmtaitzgjhgrxhcsyaf\",\n },\n }],\n customAmiId: \"iwlvorsznjsaunx\",\n ebsRootVolumeIops: 28,\n ebsRootVolumeSize: 25,\n ebsRootVolumeThroughput: 17,\n ec2InstanceAttributes: {\n additionalMasterSecurityGroups: [\"pzihpojfcoxrdcrosktssgf\"],\n additionalSlaveSecurityGroups: [\"rdaccocuctxwwzt\"],\n ec2AvailabilityZone: \"bwaaomtre\",\n ec2KeyName: \"jej\",\n ec2SubnetId: \"ykhysdwgksrwehd\",\n emrManagedMasterSecurityGroup: \"rjwslxsygj\",\n emrManagedSlaveSecurityGroup: \"hvmxzsjgkhxnimtofmzlpkf\",\n iamInstanceProfile: \"wxgp\",\n requestedEc2AvailabilityZones: [\"wjzsvq\"],\n requestedEc2SubnetIds: [\"nliztbuhuhkve\"],\n serviceAccessSecurityGroup: \"supzzejzwqetvnebvhefvwofww\",\n },\n id: \"usolewchtbnpfarqidjcaetetbbnww\",\n instanceCollectionType: {\n value: azure_native.awsconnector.InstanceCollectionType.INSTANCE_FLEET,\n },\n kerberosAttributes: {\n adDomainJoinPassword: \"nhrnfruuygxsvhumivr\",\n adDomainJoinUser: \"ezsezwfzesdunmtiegxbsomqqk\",\n crossRealmTrustPrincipalPassword: \"rpvurwogufbkyluimlirujvpwl\",\n kdcAdminPassword: \"yzsewywylqtqouxwulr\",\n realm: \"rraygrjruzeqrozds\",\n },\n logEncryptionKmsKeyId: \"p\",\n logUri: \"xrdeudkf\",\n masterPublicDnsName: \"ztuajioptfwewm\",\n name: \"bhkvffeitkj\",\n normalizedInstanceHours: 16,\n osReleaseLabel: \"huxdgdaqkknvleyvhgydjbidn\",\n outpostArn: \"wnoxdzcyqfbreqnkorlwtfvmzpcu\",\n placementGroups: [{\n instanceRole: {\n value: azure_native.awsconnector.InstanceRoleType.CORE,\n },\n placementStrategy: {\n value: azure_native.awsconnector.PlacementGroupStrategy.CLUSTER,\n },\n }],\n releaseLabel: \"lpmpniehmkeuwyyh\",\n repoUpgradeOnBoot: {\n value: azure_native.awsconnector.RepoUpgradeOnBoot.NONE,\n },\n requestedAmiVersion: \"kwlohrrhuxcgnok\",\n runningAmiVersion: \"wd\",\n scaleDownBehavior: {\n value: azure_native.awsconnector.ScaleDownBehavior.TERMINATE_AT_INSTANCE_HOUR,\n },\n securityConfiguration: \"njgb\",\n serviceRole: \"msbrnoepcyrbaazxsmwbhmqrzubm\",\n status: {\n errorDetails: [{\n errorCode: \"lklafbu\",\n errorData: [{}],\n errorMessage: \"hhoucsczmnnflofzyxt\",\n }],\n state: {\n value: azure_native.awsconnector.ClusterState.BOOTSTRAPPING,\n },\n stateChangeReason: {\n code: {\n value: azure_native.awsconnector.ClusterStateChangeReasonCode.ALL_STEPS_COMPLETED,\n },\n message: \"sxjkazmayqtbqnbaslxpxun\",\n },\n timeline: {\n creationDateTime: \"2024-10-08T03:51:42.281Z\",\n endDateTime: \"2024-10-08T03:51:42.281Z\",\n readyDateTime: \"2024-10-08T03:51:42.281Z\",\n },\n },\n stepConcurrencyLevel: 8,\n tags: [{\n key: \"vfcae\",\n value: \"gibogfcbfiielvixdxeb\",\n }],\n terminationProtected: true,\n unhealthyNodeReplacement: true,\n visibleToAllUsers: true,\n },\n awsRegion: \"rbbkoztkjhvdu\",\n awsSourceSchema: \"sexomixwzozkllipdmi\",\n awsTags: {\n key6409: \"fsgzxbnbmfnv\",\n },\n publicCloudConnectorsResourceId: \"gjirecopxmcdpdljkxexxoawwd\",\n publicCloudResourceName: \"aulznvgpxpjdvghbszbwxycew\",\n },\n resourceGroupName: \"rgemrCluster\",\n tags: {\n key4944: \"rpsyifovzprbxzcudooiqiqliub\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nemr_cluster = azure_native.awsconnector.EmrCluster(\"emrCluster\",\n location=\"gxjyaumpubnajcudsqwk\",\n name=\"Replace this value with a string matching RegExp ^(z=.{0,259}[^zs.]$)(z!.*[zzzzzzzz])\",\n properties={\n \"arn\": \"hvhwzh\",\n \"aws_account_id\": \"tsnkbdcacnozmtgvxjflzydxeu\",\n \"aws_properties\": {\n \"applications\": [{\n \"additional_info\": {\n \"key299\": \"utebwgfwrjdsmcdauxfdp\",\n },\n \"args\": [\"sumnqhhlrszgzznshwr\"],\n \"name\": \"kapcvpwdf\",\n \"version\": \"yccwkryikpyu\",\n }],\n \"auto_scaling_role\": \"yuplht\",\n \"auto_terminate\": True,\n \"cluster_arn\": \"bwnxmqzwlykxvewsdujzovqs\",\n \"configurations\": [{\n \"classification\": \"ahweyaesthmgtdiv\",\n \"configurations\": [],\n \"properties\": {\n \"key6744\": \"jfktwevmtaitzgjhgrxhcsyaf\",\n },\n }],\n \"custom_ami_id\": \"iwlvorsznjsaunx\",\n \"ebs_root_volume_iops\": 28,\n \"ebs_root_volume_size\": 25,\n \"ebs_root_volume_throughput\": 17,\n \"ec2_instance_attributes\": {\n \"additional_master_security_groups\": [\"pzihpojfcoxrdcrosktssgf\"],\n \"additional_slave_security_groups\": [\"rdaccocuctxwwzt\"],\n \"ec2_availability_zone\": \"bwaaomtre\",\n \"ec2_key_name\": \"jej\",\n \"ec2_subnet_id\": \"ykhysdwgksrwehd\",\n \"emr_managed_master_security_group\": \"rjwslxsygj\",\n \"emr_managed_slave_security_group\": \"hvmxzsjgkhxnimtofmzlpkf\",\n \"iam_instance_profile\": \"wxgp\",\n \"requested_ec2_availability_zones\": [\"wjzsvq\"],\n \"requested_ec2_subnet_ids\": [\"nliztbuhuhkve\"],\n \"service_access_security_group\": \"supzzejzwqetvnebvhefvwofww\",\n },\n \"id\": \"usolewchtbnpfarqidjcaetetbbnww\",\n \"instance_collection_type\": {\n \"value\": azure_native.awsconnector.InstanceCollectionType.INSTANC_E_FLEET,\n },\n \"kerberos_attributes\": {\n \"ad_domain_join_password\": \"nhrnfruuygxsvhumivr\",\n \"ad_domain_join_user\": \"ezsezwfzesdunmtiegxbsomqqk\",\n \"cross_realm_trust_principal_password\": \"rpvurwogufbkyluimlirujvpwl\",\n \"kdc_admin_password\": \"yzsewywylqtqouxwulr\",\n \"realm\": \"rraygrjruzeqrozds\",\n },\n \"log_encryption_kms_key_id\": \"p\",\n \"log_uri\": \"xrdeudkf\",\n \"master_public_dns_name\": \"ztuajioptfwewm\",\n \"name\": \"bhkvffeitkj\",\n \"normalized_instance_hours\": 16,\n \"os_release_label\": \"huxdgdaqkknvleyvhgydjbidn\",\n \"outpost_arn\": \"wnoxdzcyqfbreqnkorlwtfvmzpcu\",\n \"placement_groups\": [{\n \"instance_role\": {\n \"value\": azure_native.awsconnector.InstanceRoleType.CORE,\n },\n \"placement_strategy\": {\n \"value\": azure_native.awsconnector.PlacementGroupStrategy.CLUSTER,\n },\n }],\n \"release_label\": \"lpmpniehmkeuwyyh\",\n \"repo_upgrade_on_boot\": {\n \"value\": azure_native.awsconnector.RepoUpgradeOnBoot.NONE,\n },\n \"requested_ami_version\": \"kwlohrrhuxcgnok\",\n \"running_ami_version\": \"wd\",\n \"scale_down_behavior\": {\n \"value\": azure_native.awsconnector.ScaleDownBehavior.TERMINAT_E_A_T_INSTANC_E_HOUR,\n },\n \"security_configuration\": \"njgb\",\n \"service_role\": \"msbrnoepcyrbaazxsmwbhmqrzubm\",\n \"status\": {\n \"error_details\": [{\n \"error_code\": \"lklafbu\",\n \"error_data\": [{}],\n \"error_message\": \"hhoucsczmnnflofzyxt\",\n }],\n \"state\": {\n \"value\": azure_native.awsconnector.ClusterState.BOOTSTRAPPING,\n },\n \"state_change_reason\": {\n \"code\": {\n \"value\": azure_native.awsconnector.ClusterStateChangeReasonCode.AL_L_STEP_S_COMPLETED,\n },\n \"message\": \"sxjkazmayqtbqnbaslxpxun\",\n },\n \"timeline\": {\n \"creation_date_time\": \"2024-10-08T03:51:42.281Z\",\n \"end_date_time\": \"2024-10-08T03:51:42.281Z\",\n \"ready_date_time\": \"2024-10-08T03:51:42.281Z\",\n },\n },\n \"step_concurrency_level\": 8,\n \"tags\": [{\n \"key\": \"vfcae\",\n \"value\": \"gibogfcbfiielvixdxeb\",\n }],\n \"termination_protected\": True,\n \"unhealthy_node_replacement\": True,\n \"visible_to_all_users\": True,\n },\n \"aws_region\": \"rbbkoztkjhvdu\",\n \"aws_source_schema\": \"sexomixwzozkllipdmi\",\n \"aws_tags\": {\n \"key6409\": \"fsgzxbnbmfnv\",\n },\n \"public_cloud_connectors_resource_id\": \"gjirecopxmcdpdljkxexxoawwd\",\n \"public_cloud_resource_name\": \"aulznvgpxpjdvghbszbwxycew\",\n },\n resource_group_name=\"rgemrCluster\",\n tags={\n \"key4944\": \"rpsyifovzprbxzcudooiqiqliub\",\n })\n\n```\n\n```yaml\nresources:\n emrCluster:\n type: azure-native:awsconnector:EmrCluster\n properties:\n location: gxjyaumpubnajcudsqwk\n name: Replace this value with a string matching RegExp ^(z=.{0,259}[^zs.]$)(z!.*[zzzzzzzz])\n properties:\n arn: hvhwzh\n awsAccountId: tsnkbdcacnozmtgvxjflzydxeu\n awsProperties:\n applications:\n - additionalInfo:\n key299: utebwgfwrjdsmcdauxfdp\n args:\n - sumnqhhlrszgzznshwr\n name: kapcvpwdf\n version: yccwkryikpyu\n autoScalingRole: yuplht\n autoTerminate: true\n clusterArn: bwnxmqzwlykxvewsdujzovqs\n configurations:\n - classification: ahweyaesthmgtdiv\n configurations: []\n properties:\n key6744: jfktwevmtaitzgjhgrxhcsyaf\n customAmiId: iwlvorsznjsaunx\n ebsRootVolumeIops: 28\n ebsRootVolumeSize: 25\n ebsRootVolumeThroughput: 17\n ec2InstanceAttributes:\n additionalMasterSecurityGroups:\n - pzihpojfcoxrdcrosktssgf\n additionalSlaveSecurityGroups:\n - rdaccocuctxwwzt\n ec2AvailabilityZone: bwaaomtre\n ec2KeyName: jej\n ec2SubnetId: ykhysdwgksrwehd\n emrManagedMasterSecurityGroup: rjwslxsygj\n emrManagedSlaveSecurityGroup: hvmxzsjgkhxnimtofmzlpkf\n iamInstanceProfile: wxgp\n requestedEc2AvailabilityZones:\n - wjzsvq\n requestedEc2SubnetIds:\n - nliztbuhuhkve\n serviceAccessSecurityGroup: supzzejzwqetvnebvhefvwofww\n id: usolewchtbnpfarqidjcaetetbbnww\n instanceCollectionType:\n value: INSTANCE_FLEET\n kerberosAttributes:\n adDomainJoinPassword: nhrnfruuygxsvhumivr\n adDomainJoinUser: ezsezwfzesdunmtiegxbsomqqk\n crossRealmTrustPrincipalPassword: rpvurwogufbkyluimlirujvpwl\n kdcAdminPassword: yzsewywylqtqouxwulr\n realm: rraygrjruzeqrozds\n logEncryptionKmsKeyId: p\n logUri: xrdeudkf\n masterPublicDnsName: ztuajioptfwewm\n name: bhkvffeitkj\n normalizedInstanceHours: 16\n osReleaseLabel: huxdgdaqkknvleyvhgydjbidn\n outpostArn: wnoxdzcyqfbreqnkorlwtfvmzpcu\n placementGroups:\n - instanceRole:\n value: CORE\n placementStrategy:\n value: CLUSTER\n releaseLabel: lpmpniehmkeuwyyh\n repoUpgradeOnBoot:\n value: NONE\n requestedAmiVersion: kwlohrrhuxcgnok\n runningAmiVersion: wd\n scaleDownBehavior:\n value: TERMINATE_AT_INSTANCE_HOUR\n securityConfiguration: njgb\n serviceRole: msbrnoepcyrbaazxsmwbhmqrzubm\n status:\n errorDetails:\n - errorCode: lklafbu\n errorData:\n - {}\n errorMessage: hhoucsczmnnflofzyxt\n state:\n value: BOOTSTRAPPING\n stateChangeReason:\n code:\n value: ALL_STEPS_COMPLETED\n message: sxjkazmayqtbqnbaslxpxun\n timeline:\n creationDateTime: 2024-10-08T03:51:42.281Z\n endDateTime: 2024-10-08T03:51:42.281Z\n readyDateTime: 2024-10-08T03:51:42.281Z\n stepConcurrencyLevel: 8\n tags:\n - key: vfcae\n value: gibogfcbfiielvixdxeb\n terminationProtected: true\n unhealthyNodeReplacement: true\n visibleToAllUsers: true\n awsRegion: rbbkoztkjhvdu\n awsSourceSchema: sexomixwzozkllipdmi\n awsTags:\n key6409: fsgzxbnbmfnv\n publicCloudConnectorsResourceId: gjirecopxmcdpdljkxexxoawwd\n publicCloudResourceName: aulznvgpxpjdvghbszbwxycew\n resourceGroupName: rgemrCluster\n tags:\n key4944: rpsyifovzprbxzcudooiqiqliub\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:awsconnector:EmrCluster kmdpxexhrplqjddfybxybrrb /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AwsConnector/emrClusters/{name} \n```\n", + "description": "A Microsoft.AwsConnector resource\n\nUses Azure REST API version 2024-12-01. In version 2.x of the Azure Native provider, it used API version 2024-12-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### EmrClusters_CreateOrReplace\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var emrCluster = new AzureNative.AwsConnector.EmrCluster(\"emrCluster\", new()\n {\n Location = \"gxjyaumpubnajcudsqwk\",\n Name = \"Replace this value with a string matching RegExp ^(z=.{0,259}[^zs.]$)(z!.*[zzzzzzzz])\",\n Properties = new AzureNative.AwsConnector.Inputs.EmrClusterPropertiesArgs\n {\n Arn = \"hvhwzh\",\n AwsAccountId = \"tsnkbdcacnozmtgvxjflzydxeu\",\n AwsProperties = new AzureNative.AwsConnector.Inputs.AwsEmrClusterPropertiesArgs\n {\n Applications = new[]\n {\n new AzureNative.AwsConnector.Inputs.ApplicationArgs\n {\n AdditionalInfo = \n {\n { \"key299\", \"utebwgfwrjdsmcdauxfdp\" },\n },\n Args = new[]\n {\n \"sumnqhhlrszgzznshwr\",\n },\n Name = \"kapcvpwdf\",\n Version = \"yccwkryikpyu\",\n },\n },\n AutoScalingRole = \"yuplht\",\n AutoTerminate = true,\n ClusterArn = \"bwnxmqzwlykxvewsdujzovqs\",\n Configurations = new[]\n {\n new AzureNative.AwsConnector.Inputs.ConfigurationArgs\n {\n Classification = \"ahweyaesthmgtdiv\",\n Configurations = new() { },\n Properties = \n {\n { \"key6744\", \"jfktwevmtaitzgjhgrxhcsyaf\" },\n },\n },\n },\n CustomAmiId = \"iwlvorsznjsaunx\",\n EbsRootVolumeIops = 28,\n EbsRootVolumeSize = 25,\n EbsRootVolumeThroughput = 17,\n Ec2InstanceAttributes = new AzureNative.AwsConnector.Inputs.Ec2InstanceAttributesArgs\n {\n AdditionalMasterSecurityGroups = new[]\n {\n \"pzihpojfcoxrdcrosktssgf\",\n },\n AdditionalSlaveSecurityGroups = new[]\n {\n \"rdaccocuctxwwzt\",\n },\n Ec2AvailabilityZone = \"bwaaomtre\",\n Ec2KeyName = \"jej\",\n Ec2SubnetId = \"ykhysdwgksrwehd\",\n EmrManagedMasterSecurityGroup = \"rjwslxsygj\",\n EmrManagedSlaveSecurityGroup = \"hvmxzsjgkhxnimtofmzlpkf\",\n IamInstanceProfile = \"wxgp\",\n RequestedEc2AvailabilityZones = new[]\n {\n \"wjzsvq\",\n },\n RequestedEc2SubnetIds = new[]\n {\n \"nliztbuhuhkve\",\n },\n ServiceAccessSecurityGroup = \"supzzejzwqetvnebvhefvwofww\",\n },\n Id = \"usolewchtbnpfarqidjcaetetbbnww\",\n InstanceCollectionType = new AzureNative.AwsConnector.Inputs.InstanceCollectionTypeEnumValueArgs\n {\n Value = AzureNative.AwsConnector.InstanceCollectionType.INSTANCE_FLEET,\n },\n KerberosAttributes = new AzureNative.AwsConnector.Inputs.KerberosAttributesArgs\n {\n AdDomainJoinPassword = \"nhrnfruuygxsvhumivr\",\n AdDomainJoinUser = \"ezsezwfzesdunmtiegxbsomqqk\",\n CrossRealmTrustPrincipalPassword = \"rpvurwogufbkyluimlirujvpwl\",\n KdcAdminPassword = \"yzsewywylqtqouxwulr\",\n Realm = \"rraygrjruzeqrozds\",\n },\n LogEncryptionKmsKeyId = \"p\",\n LogUri = \"xrdeudkf\",\n MasterPublicDnsName = \"ztuajioptfwewm\",\n Name = \"bhkvffeitkj\",\n NormalizedInstanceHours = 16,\n OsReleaseLabel = \"huxdgdaqkknvleyvhgydjbidn\",\n OutpostArn = \"wnoxdzcyqfbreqnkorlwtfvmzpcu\",\n PlacementGroups = new[]\n {\n new AzureNative.AwsConnector.Inputs.PlacementGroupConfigArgs\n {\n InstanceRole = new AzureNative.AwsConnector.Inputs.InstanceRoleTypeEnumValueArgs\n {\n Value = AzureNative.AwsConnector.InstanceRoleType.CORE,\n },\n PlacementStrategy = new AzureNative.AwsConnector.Inputs.PlacementGroupStrategyEnumValueArgs\n {\n Value = AzureNative.AwsConnector.PlacementGroupStrategy.CLUSTER,\n },\n },\n },\n ReleaseLabel = \"lpmpniehmkeuwyyh\",\n RepoUpgradeOnBoot = new AzureNative.AwsConnector.Inputs.RepoUpgradeOnBootEnumValueArgs\n {\n Value = AzureNative.AwsConnector.RepoUpgradeOnBoot.NONE,\n },\n RequestedAmiVersion = \"kwlohrrhuxcgnok\",\n RunningAmiVersion = \"wd\",\n ScaleDownBehavior = new AzureNative.AwsConnector.Inputs.ScaleDownBehaviorEnumValueArgs\n {\n Value = AzureNative.AwsConnector.ScaleDownBehavior.TERMINATE_AT_INSTANCE_HOUR,\n },\n SecurityConfiguration = \"njgb\",\n ServiceRole = \"msbrnoepcyrbaazxsmwbhmqrzubm\",\n Status = new AzureNative.AwsConnector.Inputs.EmrClusterStatusArgs\n {\n ErrorDetails = new[]\n {\n new AzureNative.AwsConnector.Inputs.ErrorDetailArgs\n {\n ErrorCode = \"lklafbu\",\n ErrorData = new[]\n {\n null,\n },\n ErrorMessage = \"hhoucsczmnnflofzyxt\",\n },\n },\n State = new AzureNative.AwsConnector.Inputs.ClusterStateEnumValueArgs\n {\n Value = AzureNative.AwsConnector.ClusterState.BOOTSTRAPPING,\n },\n StateChangeReason = new AzureNative.AwsConnector.Inputs.ClusterStateChangeReasonArgs\n {\n Code = new AzureNative.AwsConnector.Inputs.ClusterStateChangeReasonCodeEnumValueArgs\n {\n Value = AzureNative.AwsConnector.ClusterStateChangeReasonCode.ALL_STEPS_COMPLETED,\n },\n Message = \"sxjkazmayqtbqnbaslxpxun\",\n },\n Timeline = new AzureNative.AwsConnector.Inputs.ClusterTimelineArgs\n {\n CreationDateTime = \"2024-10-08T03:51:42.281Z\",\n EndDateTime = \"2024-10-08T03:51:42.281Z\",\n ReadyDateTime = \"2024-10-08T03:51:42.281Z\",\n },\n },\n StepConcurrencyLevel = 8,\n Tags = new[]\n {\n new AzureNative.AwsConnector.Inputs.TagArgs\n {\n Key = \"vfcae\",\n Value = \"gibogfcbfiielvixdxeb\",\n },\n },\n TerminationProtected = true,\n UnhealthyNodeReplacement = true,\n VisibleToAllUsers = true,\n },\n AwsRegion = \"rbbkoztkjhvdu\",\n AwsSourceSchema = \"sexomixwzozkllipdmi\",\n AwsTags = \n {\n { \"key6409\", \"fsgzxbnbmfnv\" },\n },\n PublicCloudConnectorsResourceId = \"gjirecopxmcdpdljkxexxoawwd\",\n PublicCloudResourceName = \"aulznvgpxpjdvghbszbwxycew\",\n },\n ResourceGroupName = \"rgemrCluster\",\n Tags = \n {\n { \"key4944\", \"rpsyifovzprbxzcudooiqiqliub\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tawsconnector \"github.com/pulumi/pulumi-azure-native-sdk/awsconnector/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := awsconnector.NewEmrCluster(ctx, \"emrCluster\", \u0026awsconnector.EmrClusterArgs{\n\t\t\tLocation: pulumi.String(\"gxjyaumpubnajcudsqwk\"),\n\t\t\tName: pulumi.String(\"Replace this value with a string matching RegExp ^(z=.{0,259}[^zs.]$)(z!.*[zzzzzzzz])\"),\n\t\t\tProperties: \u0026awsconnector.EmrClusterPropertiesArgs{\n\t\t\t\tArn: pulumi.String(\"hvhwzh\"),\n\t\t\t\tAwsAccountId: pulumi.String(\"tsnkbdcacnozmtgvxjflzydxeu\"),\n\t\t\t\tAwsProperties: \u0026awsconnector.AwsEmrClusterPropertiesArgs{\n\t\t\t\t\tApplications: awsconnector.ApplicationArray{\n\t\t\t\t\t\t\u0026awsconnector.ApplicationArgs{\n\t\t\t\t\t\t\tAdditionalInfo: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"key299\": pulumi.String(\"utebwgfwrjdsmcdauxfdp\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"sumnqhhlrszgzznshwr\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"kapcvpwdf\"),\n\t\t\t\t\t\t\tVersion: pulumi.String(\"yccwkryikpyu\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAutoScalingRole: pulumi.String(\"yuplht\"),\n\t\t\t\t\tAutoTerminate: pulumi.Bool(true),\n\t\t\t\t\tClusterArn: pulumi.String(\"bwnxmqzwlykxvewsdujzovqs\"),\n\t\t\t\t\tConfigurations: awsconnector.ConfigurationArray{\n\t\t\t\t\t\t\u0026awsconnector.ConfigurationArgs{\n\t\t\t\t\t\t\tClassification: pulumi.String(\"ahweyaesthmgtdiv\"),\n\t\t\t\t\t\t\tConfigurations: awsconnector.ConfigurationArray{},\n\t\t\t\t\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"key6744\": pulumi.String(\"jfktwevmtaitzgjhgrxhcsyaf\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCustomAmiId: pulumi.String(\"iwlvorsznjsaunx\"),\n\t\t\t\t\tEbsRootVolumeIops: pulumi.Int(28),\n\t\t\t\t\tEbsRootVolumeSize: pulumi.Int(25),\n\t\t\t\t\tEbsRootVolumeThroughput: pulumi.Int(17),\n\t\t\t\t\tEc2InstanceAttributes: \u0026awsconnector.Ec2InstanceAttributesArgs{\n\t\t\t\t\t\tAdditionalMasterSecurityGroups: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"pzihpojfcoxrdcrosktssgf\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tAdditionalSlaveSecurityGroups: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"rdaccocuctxwwzt\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tEc2AvailabilityZone: pulumi.String(\"bwaaomtre\"),\n\t\t\t\t\t\tEc2KeyName: pulumi.String(\"jej\"),\n\t\t\t\t\t\tEc2SubnetId: pulumi.String(\"ykhysdwgksrwehd\"),\n\t\t\t\t\t\tEmrManagedMasterSecurityGroup: pulumi.String(\"rjwslxsygj\"),\n\t\t\t\t\t\tEmrManagedSlaveSecurityGroup: pulumi.String(\"hvmxzsjgkhxnimtofmzlpkf\"),\n\t\t\t\t\t\tIamInstanceProfile: pulumi.String(\"wxgp\"),\n\t\t\t\t\t\tRequestedEc2AvailabilityZones: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"wjzsvq\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRequestedEc2SubnetIds: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"nliztbuhuhkve\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tServiceAccessSecurityGroup: pulumi.String(\"supzzejzwqetvnebvhefvwofww\"),\n\t\t\t\t\t},\n\t\t\t\t\tId: pulumi.String(\"usolewchtbnpfarqidjcaetetbbnww\"),\n\t\t\t\t\tInstanceCollectionType: \u0026awsconnector.InstanceCollectionTypeEnumValueArgs{\n\t\t\t\t\t\tValue: pulumi.String(awsconnector.InstanceCollectionType_INSTANCE_FLEET),\n\t\t\t\t\t},\n\t\t\t\t\tKerberosAttributes: \u0026awsconnector.KerberosAttributesArgs{\n\t\t\t\t\t\tAdDomainJoinPassword: pulumi.String(\"nhrnfruuygxsvhumivr\"),\n\t\t\t\t\t\tAdDomainJoinUser: pulumi.String(\"ezsezwfzesdunmtiegxbsomqqk\"),\n\t\t\t\t\t\tCrossRealmTrustPrincipalPassword: pulumi.String(\"rpvurwogufbkyluimlirujvpwl\"),\n\t\t\t\t\t\tKdcAdminPassword: pulumi.String(\"yzsewywylqtqouxwulr\"),\n\t\t\t\t\t\tRealm: pulumi.String(\"rraygrjruzeqrozds\"),\n\t\t\t\t\t},\n\t\t\t\t\tLogEncryptionKmsKeyId: pulumi.String(\"p\"),\n\t\t\t\t\tLogUri: pulumi.String(\"xrdeudkf\"),\n\t\t\t\t\tMasterPublicDnsName: pulumi.String(\"ztuajioptfwewm\"),\n\t\t\t\t\tName: pulumi.String(\"bhkvffeitkj\"),\n\t\t\t\t\tNormalizedInstanceHours: pulumi.Int(16),\n\t\t\t\t\tOsReleaseLabel: pulumi.String(\"huxdgdaqkknvleyvhgydjbidn\"),\n\t\t\t\t\tOutpostArn: pulumi.String(\"wnoxdzcyqfbreqnkorlwtfvmzpcu\"),\n\t\t\t\t\tPlacementGroups: awsconnector.PlacementGroupConfigArray{\n\t\t\t\t\t\t\u0026awsconnector.PlacementGroupConfigArgs{\n\t\t\t\t\t\t\tInstanceRole: \u0026awsconnector.InstanceRoleTypeEnumValueArgs{\n\t\t\t\t\t\t\t\tValue: pulumi.String(awsconnector.InstanceRoleTypeCORE),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tPlacementStrategy: \u0026awsconnector.PlacementGroupStrategyEnumValueArgs{\n\t\t\t\t\t\t\t\tValue: pulumi.String(awsconnector.PlacementGroupStrategyCLUSTER),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tReleaseLabel: pulumi.String(\"lpmpniehmkeuwyyh\"),\n\t\t\t\t\tRepoUpgradeOnBoot: \u0026awsconnector.RepoUpgradeOnBootEnumValueArgs{\n\t\t\t\t\t\tValue: pulumi.String(awsconnector.RepoUpgradeOnBootNONE),\n\t\t\t\t\t},\n\t\t\t\t\tRequestedAmiVersion: pulumi.String(\"kwlohrrhuxcgnok\"),\n\t\t\t\t\tRunningAmiVersion: pulumi.String(\"wd\"),\n\t\t\t\t\tScaleDownBehavior: \u0026awsconnector.ScaleDownBehaviorEnumValueArgs{\n\t\t\t\t\t\tValue: pulumi.String(awsconnector.ScaleDownBehavior_TERMINATE_AT_INSTANCE_HOUR),\n\t\t\t\t\t},\n\t\t\t\t\tSecurityConfiguration: pulumi.String(\"njgb\"),\n\t\t\t\t\tServiceRole: pulumi.String(\"msbrnoepcyrbaazxsmwbhmqrzubm\"),\n\t\t\t\t\tStatus: \u0026awsconnector.EmrClusterStatusArgs{\n\t\t\t\t\t\tErrorDetails: awsconnector.ErrorDetailArray{\n\t\t\t\t\t\t\t\u0026awsconnector.ErrorDetailArgs{\n\t\t\t\t\t\t\t\tErrorCode: pulumi.String(\"lklafbu\"),\n\t\t\t\t\t\t\t\tErrorData: pulumi.Array{\n\t\t\t\t\t\t\t\t\tpulumi.Any(map[string]interface{}{}),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tErrorMessage: pulumi.String(\"hhoucsczmnnflofzyxt\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tState: \u0026awsconnector.ClusterStateEnumValueArgs{\n\t\t\t\t\t\t\tValue: pulumi.String(awsconnector.ClusterStateBOOTSTRAPPING),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tStateChangeReason: \u0026awsconnector.ClusterStateChangeReasonArgs{\n\t\t\t\t\t\t\tCode: \u0026awsconnector.ClusterStateChangeReasonCodeEnumValueArgs{\n\t\t\t\t\t\t\t\tValue: pulumi.String(awsconnector.ClusterStateChangeReasonCode_ALL_STEPS_COMPLETED),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tMessage: pulumi.String(\"sxjkazmayqtbqnbaslxpxun\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTimeline: \u0026awsconnector.ClusterTimelineArgs{\n\t\t\t\t\t\t\tCreationDateTime: pulumi.String(\"2024-10-08T03:51:42.281Z\"),\n\t\t\t\t\t\t\tEndDateTime: pulumi.String(\"2024-10-08T03:51:42.281Z\"),\n\t\t\t\t\t\t\tReadyDateTime: pulumi.String(\"2024-10-08T03:51:42.281Z\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tStepConcurrencyLevel: pulumi.Int(8),\n\t\t\t\t\tTags: awsconnector.TagArray{\n\t\t\t\t\t\t\u0026awsconnector.TagArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"vfcae\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"gibogfcbfiielvixdxeb\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTerminationProtected: pulumi.Bool(true),\n\t\t\t\t\tUnhealthyNodeReplacement: pulumi.Bool(true),\n\t\t\t\t\tVisibleToAllUsers: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tAwsRegion: pulumi.String(\"rbbkoztkjhvdu\"),\n\t\t\t\tAwsSourceSchema: pulumi.String(\"sexomixwzozkllipdmi\"),\n\t\t\t\tAwsTags: pulumi.StringMap{\n\t\t\t\t\t\"key6409\": pulumi.String(\"fsgzxbnbmfnv\"),\n\t\t\t\t},\n\t\t\t\tPublicCloudConnectorsResourceId: pulumi.String(\"gjirecopxmcdpdljkxexxoawwd\"),\n\t\t\t\tPublicCloudResourceName: pulumi.String(\"aulznvgpxpjdvghbszbwxycew\"),\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rgemrCluster\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key4944\": pulumi.String(\"rpsyifovzprbxzcudooiqiqliub\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.awsconnector.EmrCluster;\nimport com.pulumi.azurenative.awsconnector.EmrClusterArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.EmrClusterPropertiesArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.AwsEmrClusterPropertiesArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.Ec2InstanceAttributesArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.InstanceCollectionTypeEnumValueArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.KerberosAttributesArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.RepoUpgradeOnBootEnumValueArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.ScaleDownBehaviorEnumValueArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.EmrClusterStatusArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.ClusterStateEnumValueArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.ClusterStateChangeReasonArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.ClusterStateChangeReasonCodeEnumValueArgs;\nimport com.pulumi.azurenative.awsconnector.inputs.ClusterTimelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var emrCluster = new EmrCluster(\"emrCluster\", EmrClusterArgs.builder()\n .location(\"gxjyaumpubnajcudsqwk\")\n .name(\"Replace this value with a string matching RegExp ^(z=.{0,259}[^zs.]$)(z!.*[zzzzzzzz])\")\n .properties(EmrClusterPropertiesArgs.builder()\n .arn(\"hvhwzh\")\n .awsAccountId(\"tsnkbdcacnozmtgvxjflzydxeu\")\n .awsProperties(Map.ofEntries(\n Map.entry(\"applications\", ApplicationArgs.builder()\n .additionalInfo(Map.of(\"key299\", \"utebwgfwrjdsmcdauxfdp\"))\n .args(\"sumnqhhlrszgzznshwr\")\n .name(\"kapcvpwdf\")\n .version(\"yccwkryikpyu\")\n .build()),\n Map.entry(\"autoScalingRole\", \"yuplht\"),\n Map.entry(\"autoTerminate\", true),\n Map.entry(\"clusterArn\", \"bwnxmqzwlykxvewsdujzovqs\"),\n Map.entry(\"configurations\", ConfigurationArgs.builder()\n .classification(\"ahweyaesthmgtdiv\")\n .configurations()\n .properties(Map.of(\"key6744\", \"jfktwevmtaitzgjhgrxhcsyaf\"))\n .build()),\n Map.entry(\"customAmiId\", \"iwlvorsznjsaunx\"),\n Map.entry(\"ebsRootVolumeIops\", 28),\n Map.entry(\"ebsRootVolumeSize\", 25),\n Map.entry(\"ebsRootVolumeThroughput\", 17),\n Map.entry(\"ec2InstanceAttributes\", Ec2InstanceAttributesArgs.builder()\n .additionalMasterSecurityGroups(\"pzihpojfcoxrdcrosktssgf\")\n .additionalSlaveSecurityGroups(\"rdaccocuctxwwzt\")\n .ec2AvailabilityZone(\"bwaaomtre\")\n .ec2KeyName(\"jej\")\n .ec2SubnetId(\"ykhysdwgksrwehd\")\n .emrManagedMasterSecurityGroup(\"rjwslxsygj\")\n .emrManagedSlaveSecurityGroup(\"hvmxzsjgkhxnimtofmzlpkf\")\n .iamInstanceProfile(\"wxgp\")\n .requestedEc2AvailabilityZones(\"wjzsvq\")\n .requestedEc2SubnetIds(\"nliztbuhuhkve\")\n .serviceAccessSecurityGroup(\"supzzejzwqetvnebvhefvwofww\")\n .build()),\n Map.entry(\"id\", \"usolewchtbnpfarqidjcaetetbbnww\"),\n Map.entry(\"instanceCollectionType\", InstanceCollectionTypeEnumValueArgs.builder()\n .value(\"INSTANCE_FLEET\")\n .build()),\n Map.entry(\"kerberosAttributes\", KerberosAttributesArgs.builder()\n .adDomainJoinPassword(\"nhrnfruuygxsvhumivr\")\n .adDomainJoinUser(\"ezsezwfzesdunmtiegxbsomqqk\")\n .crossRealmTrustPrincipalPassword(\"rpvurwogufbkyluimlirujvpwl\")\n .kdcAdminPassword(\"yzsewywylqtqouxwulr\")\n .realm(\"rraygrjruzeqrozds\")\n .build()),\n Map.entry(\"logEncryptionKmsKeyId\", \"p\"),\n Map.entry(\"logUri\", \"xrdeudkf\"),\n Map.entry(\"masterPublicDnsName\", \"ztuajioptfwewm\"),\n Map.entry(\"name\", \"bhkvffeitkj\"),\n Map.entry(\"normalizedInstanceHours\", 16),\n Map.entry(\"osReleaseLabel\", \"huxdgdaqkknvleyvhgydjbidn\"),\n Map.entry(\"outpostArn\", \"wnoxdzcyqfbreqnkorlwtfvmzpcu\"),\n Map.entry(\"placementGroups\", PlacementGroupConfigArgs.builder()\n .instanceRole(InstanceRoleTypeEnumValueArgs.builder()\n .value(\"CORE\")\n .build())\n .placementStrategy(PlacementGroupStrategyEnumValueArgs.builder()\n .value(\"CLUSTER\")\n .build())\n .build()),\n Map.entry(\"releaseLabel\", \"lpmpniehmkeuwyyh\"),\n Map.entry(\"repoUpgradeOnBoot\", RepoUpgradeOnBootEnumValueArgs.builder()\n .value(\"NONE\")\n .build()),\n Map.entry(\"requestedAmiVersion\", \"kwlohrrhuxcgnok\"),\n Map.entry(\"runningAmiVersion\", \"wd\"),\n Map.entry(\"scaleDownBehavior\", ScaleDownBehaviorEnumValueArgs.builder()\n .value(\"TERMINATE_AT_INSTANCE_HOUR\")\n .build()),\n Map.entry(\"securityConfiguration\", \"njgb\"),\n Map.entry(\"serviceRole\", \"msbrnoepcyrbaazxsmwbhmqrzubm\"),\n Map.entry(\"status\", EmrClusterStatusArgs.builder()\n .errorDetails(ErrorDetailArgs.builder()\n .errorCode(\"lklafbu\")\n .errorData(Map.ofEntries(\n ))\n .errorMessage(\"hhoucsczmnnflofzyxt\")\n .build())\n .state(ClusterStateEnumValueArgs.builder()\n .value(\"BOOTSTRAPPING\")\n .build())\n .stateChangeReason(ClusterStateChangeReasonArgs.builder()\n .code(ClusterStateChangeReasonCodeEnumValueArgs.builder()\n .value(\"ALL_STEPS_COMPLETED\")\n .build())\n .message(\"sxjkazmayqtbqnbaslxpxun\")\n .build())\n .timeline(ClusterTimelineArgs.builder()\n .creationDateTime(\"2024-10-08T03:51:42.281Z\")\n .endDateTime(\"2024-10-08T03:51:42.281Z\")\n .readyDateTime(\"2024-10-08T03:51:42.281Z\")\n .build())\n .build()),\n Map.entry(\"stepConcurrencyLevel\", 8),\n Map.entry(\"tags\", TagArgs.builder()\n .key(\"vfcae\")\n .value(\"gibogfcbfiielvixdxeb\")\n .build()),\n Map.entry(\"terminationProtected\", true),\n Map.entry(\"unhealthyNodeReplacement\", true),\n Map.entry(\"visibleToAllUsers\", true)\n ))\n .awsRegion(\"rbbkoztkjhvdu\")\n .awsSourceSchema(\"sexomixwzozkllipdmi\")\n .awsTags(Map.of(\"key6409\", \"fsgzxbnbmfnv\"))\n .publicCloudConnectorsResourceId(\"gjirecopxmcdpdljkxexxoawwd\")\n .publicCloudResourceName(\"aulznvgpxpjdvghbszbwxycew\")\n .build())\n .resourceGroupName(\"rgemrCluster\")\n .tags(Map.of(\"key4944\", \"rpsyifovzprbxzcudooiqiqliub\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst emrCluster = new azure_native.awsconnector.EmrCluster(\"emrCluster\", {\n location: \"gxjyaumpubnajcudsqwk\",\n name: \"Replace this value with a string matching RegExp ^(z=.{0,259}[^zs.]$)(z!.*[zzzzzzzz])\",\n properties: {\n arn: \"hvhwzh\",\n awsAccountId: \"tsnkbdcacnozmtgvxjflzydxeu\",\n awsProperties: {\n applications: [{\n additionalInfo: {\n key299: \"utebwgfwrjdsmcdauxfdp\",\n },\n args: [\"sumnqhhlrszgzznshwr\"],\n name: \"kapcvpwdf\",\n version: \"yccwkryikpyu\",\n }],\n autoScalingRole: \"yuplht\",\n autoTerminate: true,\n clusterArn: \"bwnxmqzwlykxvewsdujzovqs\",\n configurations: [{\n classification: \"ahweyaesthmgtdiv\",\n configurations: [],\n properties: {\n key6744: \"jfktwevmtaitzgjhgrxhcsyaf\",\n },\n }],\n customAmiId: \"iwlvorsznjsaunx\",\n ebsRootVolumeIops: 28,\n ebsRootVolumeSize: 25,\n ebsRootVolumeThroughput: 17,\n ec2InstanceAttributes: {\n additionalMasterSecurityGroups: [\"pzihpojfcoxrdcrosktssgf\"],\n additionalSlaveSecurityGroups: [\"rdaccocuctxwwzt\"],\n ec2AvailabilityZone: \"bwaaomtre\",\n ec2KeyName: \"jej\",\n ec2SubnetId: \"ykhysdwgksrwehd\",\n emrManagedMasterSecurityGroup: \"rjwslxsygj\",\n emrManagedSlaveSecurityGroup: \"hvmxzsjgkhxnimtofmzlpkf\",\n iamInstanceProfile: \"wxgp\",\n requestedEc2AvailabilityZones: [\"wjzsvq\"],\n requestedEc2SubnetIds: [\"nliztbuhuhkve\"],\n serviceAccessSecurityGroup: \"supzzejzwqetvnebvhefvwofww\",\n },\n id: \"usolewchtbnpfarqidjcaetetbbnww\",\n instanceCollectionType: {\n value: azure_native.awsconnector.InstanceCollectionType.INSTANCE_FLEET,\n },\n kerberosAttributes: {\n adDomainJoinPassword: \"nhrnfruuygxsvhumivr\",\n adDomainJoinUser: \"ezsezwfzesdunmtiegxbsomqqk\",\n crossRealmTrustPrincipalPassword: \"rpvurwogufbkyluimlirujvpwl\",\n kdcAdminPassword: \"yzsewywylqtqouxwulr\",\n realm: \"rraygrjruzeqrozds\",\n },\n logEncryptionKmsKeyId: \"p\",\n logUri: \"xrdeudkf\",\n masterPublicDnsName: \"ztuajioptfwewm\",\n name: \"bhkvffeitkj\",\n normalizedInstanceHours: 16,\n osReleaseLabel: \"huxdgdaqkknvleyvhgydjbidn\",\n outpostArn: \"wnoxdzcyqfbreqnkorlwtfvmzpcu\",\n placementGroups: [{\n instanceRole: {\n value: azure_native.awsconnector.InstanceRoleType.CORE,\n },\n placementStrategy: {\n value: azure_native.awsconnector.PlacementGroupStrategy.CLUSTER,\n },\n }],\n releaseLabel: \"lpmpniehmkeuwyyh\",\n repoUpgradeOnBoot: {\n value: azure_native.awsconnector.RepoUpgradeOnBoot.NONE,\n },\n requestedAmiVersion: \"kwlohrrhuxcgnok\",\n runningAmiVersion: \"wd\",\n scaleDownBehavior: {\n value: azure_native.awsconnector.ScaleDownBehavior.TERMINATE_AT_INSTANCE_HOUR,\n },\n securityConfiguration: \"njgb\",\n serviceRole: \"msbrnoepcyrbaazxsmwbhmqrzubm\",\n status: {\n errorDetails: [{\n errorCode: \"lklafbu\",\n errorData: [{}],\n errorMessage: \"hhoucsczmnnflofzyxt\",\n }],\n state: {\n value: azure_native.awsconnector.ClusterState.BOOTSTRAPPING,\n },\n stateChangeReason: {\n code: {\n value: azure_native.awsconnector.ClusterStateChangeReasonCode.ALL_STEPS_COMPLETED,\n },\n message: \"sxjkazmayqtbqnbaslxpxun\",\n },\n timeline: {\n creationDateTime: \"2024-10-08T03:51:42.281Z\",\n endDateTime: \"2024-10-08T03:51:42.281Z\",\n readyDateTime: \"2024-10-08T03:51:42.281Z\",\n },\n },\n stepConcurrencyLevel: 8,\n tags: [{\n key: \"vfcae\",\n value: \"gibogfcbfiielvixdxeb\",\n }],\n terminationProtected: true,\n unhealthyNodeReplacement: true,\n visibleToAllUsers: true,\n },\n awsRegion: \"rbbkoztkjhvdu\",\n awsSourceSchema: \"sexomixwzozkllipdmi\",\n awsTags: {\n key6409: \"fsgzxbnbmfnv\",\n },\n publicCloudConnectorsResourceId: \"gjirecopxmcdpdljkxexxoawwd\",\n publicCloudResourceName: \"aulznvgpxpjdvghbszbwxycew\",\n },\n resourceGroupName: \"rgemrCluster\",\n tags: {\n key4944: \"rpsyifovzprbxzcudooiqiqliub\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nemr_cluster = azure_native.awsconnector.EmrCluster(\"emrCluster\",\n location=\"gxjyaumpubnajcudsqwk\",\n name=\"Replace this value with a string matching RegExp ^(z=.{0,259}[^zs.]$)(z!.*[zzzzzzzz])\",\n properties={\n \"arn\": \"hvhwzh\",\n \"aws_account_id\": \"tsnkbdcacnozmtgvxjflzydxeu\",\n \"aws_properties\": {\n \"applications\": [{\n \"additional_info\": {\n \"key299\": \"utebwgfwrjdsmcdauxfdp\",\n },\n \"args\": [\"sumnqhhlrszgzznshwr\"],\n \"name\": \"kapcvpwdf\",\n \"version\": \"yccwkryikpyu\",\n }],\n \"auto_scaling_role\": \"yuplht\",\n \"auto_terminate\": True,\n \"cluster_arn\": \"bwnxmqzwlykxvewsdujzovqs\",\n \"configurations\": [{\n \"classification\": \"ahweyaesthmgtdiv\",\n \"configurations\": [],\n \"properties\": {\n \"key6744\": \"jfktwevmtaitzgjhgrxhcsyaf\",\n },\n }],\n \"custom_ami_id\": \"iwlvorsznjsaunx\",\n \"ebs_root_volume_iops\": 28,\n \"ebs_root_volume_size\": 25,\n \"ebs_root_volume_throughput\": 17,\n \"ec2_instance_attributes\": {\n \"additional_master_security_groups\": [\"pzihpojfcoxrdcrosktssgf\"],\n \"additional_slave_security_groups\": [\"rdaccocuctxwwzt\"],\n \"ec2_availability_zone\": \"bwaaomtre\",\n \"ec2_key_name\": \"jej\",\n \"ec2_subnet_id\": \"ykhysdwgksrwehd\",\n \"emr_managed_master_security_group\": \"rjwslxsygj\",\n \"emr_managed_slave_security_group\": \"hvmxzsjgkhxnimtofmzlpkf\",\n \"iam_instance_profile\": \"wxgp\",\n \"requested_ec2_availability_zones\": [\"wjzsvq\"],\n \"requested_ec2_subnet_ids\": [\"nliztbuhuhkve\"],\n \"service_access_security_group\": \"supzzejzwqetvnebvhefvwofww\",\n },\n \"id\": \"usolewchtbnpfarqidjcaetetbbnww\",\n \"instance_collection_type\": {\n \"value\": azure_native.awsconnector.InstanceCollectionType.INSTANC_E_FLEET,\n },\n \"kerberos_attributes\": {\n \"ad_domain_join_password\": \"nhrnfruuygxsvhumivr\",\n \"ad_domain_join_user\": \"ezsezwfzesdunmtiegxbsomqqk\",\n \"cross_realm_trust_principal_password\": \"rpvurwogufbkyluimlirujvpwl\",\n \"kdc_admin_password\": \"yzsewywylqtqouxwulr\",\n \"realm\": \"rraygrjruzeqrozds\",\n },\n \"log_encryption_kms_key_id\": \"p\",\n \"log_uri\": \"xrdeudkf\",\n \"master_public_dns_name\": \"ztuajioptfwewm\",\n \"name\": \"bhkvffeitkj\",\n \"normalized_instance_hours\": 16,\n \"os_release_label\": \"huxdgdaqkknvleyvhgydjbidn\",\n \"outpost_arn\": \"wnoxdzcyqfbreqnkorlwtfvmzpcu\",\n \"placement_groups\": [{\n \"instance_role\": {\n \"value\": azure_native.awsconnector.InstanceRoleType.CORE,\n },\n \"placement_strategy\": {\n \"value\": azure_native.awsconnector.PlacementGroupStrategy.CLUSTER,\n },\n }],\n \"release_label\": \"lpmpniehmkeuwyyh\",\n \"repo_upgrade_on_boot\": {\n \"value\": azure_native.awsconnector.RepoUpgradeOnBoot.NONE,\n },\n \"requested_ami_version\": \"kwlohrrhuxcgnok\",\n \"running_ami_version\": \"wd\",\n \"scale_down_behavior\": {\n \"value\": azure_native.awsconnector.ScaleDownBehavior.TERMINAT_E_A_T_INSTANC_E_HOUR,\n },\n \"security_configuration\": \"njgb\",\n \"service_role\": \"msbrnoepcyrbaazxsmwbhmqrzubm\",\n \"status\": {\n \"error_details\": [{\n \"error_code\": \"lklafbu\",\n \"error_data\": [{}],\n \"error_message\": \"hhoucsczmnnflofzyxt\",\n }],\n \"state\": {\n \"value\": azure_native.awsconnector.ClusterState.BOOTSTRAPPING,\n },\n \"state_change_reason\": {\n \"code\": {\n \"value\": azure_native.awsconnector.ClusterStateChangeReasonCode.AL_L_STEP_S_COMPLETED,\n },\n \"message\": \"sxjkazmayqtbqnbaslxpxun\",\n },\n \"timeline\": {\n \"creation_date_time\": \"2024-10-08T03:51:42.281Z\",\n \"end_date_time\": \"2024-10-08T03:51:42.281Z\",\n \"ready_date_time\": \"2024-10-08T03:51:42.281Z\",\n },\n },\n \"step_concurrency_level\": 8,\n \"tags\": [{\n \"key\": \"vfcae\",\n \"value\": \"gibogfcbfiielvixdxeb\",\n }],\n \"termination_protected\": True,\n \"unhealthy_node_replacement\": True,\n \"visible_to_all_users\": True,\n },\n \"aws_region\": \"rbbkoztkjhvdu\",\n \"aws_source_schema\": \"sexomixwzozkllipdmi\",\n \"aws_tags\": {\n \"key6409\": \"fsgzxbnbmfnv\",\n },\n \"public_cloud_connectors_resource_id\": \"gjirecopxmcdpdljkxexxoawwd\",\n \"public_cloud_resource_name\": \"aulznvgpxpjdvghbszbwxycew\",\n },\n resource_group_name=\"rgemrCluster\",\n tags={\n \"key4944\": \"rpsyifovzprbxzcudooiqiqliub\",\n })\n\n```\n\n```yaml\nresources:\n emrCluster:\n type: azure-native:awsconnector:EmrCluster\n properties:\n location: gxjyaumpubnajcudsqwk\n name: Replace this value with a string matching RegExp ^(z=.{0,259}[^zs.]$)(z!.*[zzzzzzzz])\n properties:\n arn: hvhwzh\n awsAccountId: tsnkbdcacnozmtgvxjflzydxeu\n awsProperties:\n applications:\n - additionalInfo:\n key299: utebwgfwrjdsmcdauxfdp\n args:\n - sumnqhhlrszgzznshwr\n name: kapcvpwdf\n version: yccwkryikpyu\n autoScalingRole: yuplht\n autoTerminate: true\n clusterArn: bwnxmqzwlykxvewsdujzovqs\n configurations:\n - classification: ahweyaesthmgtdiv\n configurations: []\n properties:\n key6744: jfktwevmtaitzgjhgrxhcsyaf\n customAmiId: iwlvorsznjsaunx\n ebsRootVolumeIops: 28\n ebsRootVolumeSize: 25\n ebsRootVolumeThroughput: 17\n ec2InstanceAttributes:\n additionalMasterSecurityGroups:\n - pzihpojfcoxrdcrosktssgf\n additionalSlaveSecurityGroups:\n - rdaccocuctxwwzt\n ec2AvailabilityZone: bwaaomtre\n ec2KeyName: jej\n ec2SubnetId: ykhysdwgksrwehd\n emrManagedMasterSecurityGroup: rjwslxsygj\n emrManagedSlaveSecurityGroup: hvmxzsjgkhxnimtofmzlpkf\n iamInstanceProfile: wxgp\n requestedEc2AvailabilityZones:\n - wjzsvq\n requestedEc2SubnetIds:\n - nliztbuhuhkve\n serviceAccessSecurityGroup: supzzejzwqetvnebvhefvwofww\n id: usolewchtbnpfarqidjcaetetbbnww\n instanceCollectionType:\n value: INSTANCE_FLEET\n kerberosAttributes:\n adDomainJoinPassword: nhrnfruuygxsvhumivr\n adDomainJoinUser: ezsezwfzesdunmtiegxbsomqqk\n crossRealmTrustPrincipalPassword: rpvurwogufbkyluimlirujvpwl\n kdcAdminPassword: yzsewywylqtqouxwulr\n realm: rraygrjruzeqrozds\n logEncryptionKmsKeyId: p\n logUri: xrdeudkf\n masterPublicDnsName: ztuajioptfwewm\n name: bhkvffeitkj\n normalizedInstanceHours: 16\n osReleaseLabel: huxdgdaqkknvleyvhgydjbidn\n outpostArn: wnoxdzcyqfbreqnkorlwtfvmzpcu\n placementGroups:\n - instanceRole:\n value: CORE\n placementStrategy:\n value: CLUSTER\n releaseLabel: lpmpniehmkeuwyyh\n repoUpgradeOnBoot:\n value: NONE\n requestedAmiVersion: kwlohrrhuxcgnok\n runningAmiVersion: wd\n scaleDownBehavior:\n value: TERMINATE_AT_INSTANCE_HOUR\n securityConfiguration: njgb\n serviceRole: msbrnoepcyrbaazxsmwbhmqrzubm\n status:\n errorDetails:\n - errorCode: lklafbu\n errorData:\n - {}\n errorMessage: hhoucsczmnnflofzyxt\n state:\n value: BOOTSTRAPPING\n stateChangeReason:\n code:\n value: ALL_STEPS_COMPLETED\n message: sxjkazmayqtbqnbaslxpxun\n timeline:\n creationDateTime: 2024-10-08T03:51:42.281Z\n endDateTime: 2024-10-08T03:51:42.281Z\n readyDateTime: 2024-10-08T03:51:42.281Z\n stepConcurrencyLevel: 8\n tags:\n - key: vfcae\n value: gibogfcbfiielvixdxeb\n terminationProtected: true\n unhealthyNodeReplacement: true\n visibleToAllUsers: true\n awsRegion: rbbkoztkjhvdu\n awsSourceSchema: sexomixwzozkllipdmi\n awsTags:\n key6409: fsgzxbnbmfnv\n publicCloudConnectorsResourceId: gjirecopxmcdpdljkxexxoawwd\n publicCloudResourceName: aulznvgpxpjdvghbszbwxycew\n resourceGroupName: rgemrCluster\n tags:\n key4944: rpsyifovzprbxzcudooiqiqliub\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:awsconnector:EmrCluster kmdpxexhrplqjddfybxybrrb /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AwsConnector/emrClusters/{name} \n```\n", "properties": { "azureApiVersion": { "type": "string", @@ -759624,7 +759842,7 @@ ] }, "azure-native:hybridnetwork:NetworkFunctionDefinitionVersion": { - "description": "Network function definition version.\n\nUses Azure REST API version 2024-04-15. In version 2.x of the Azure Native provider, it used API version 2023-09-01.\n\nOther available API versions: 2023-09-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native hybridnetwork [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create or update a network function definition version resource\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var networkFunctionDefinitionVersion = new AzureNative.HybridNetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", new()\n {\n Location = \"eastus\",\n NetworkFunctionDefinitionGroupName = \"TestNetworkFunctionDefinitionGroupName\",\n NetworkFunctionDefinitionVersionName = \"1.0.0\",\n Properties = new AzureNative.HybridNetwork.Inputs.ContainerizedNetworkFunctionDefinitionVersionArgs\n {\n DeployParameters = \"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"releaseName\\\":{\\\"type\\\":\\\"string\\\"},\\\"namespace\\\":{\\\"type\\\":\\\"string\\\"}}}\",\n NetworkFunctionTemplate = new AzureNative.HybridNetwork.Inputs.AzureArcKubernetesNetworkFunctionTemplateArgs\n {\n NetworkFunctionApplications = new[]\n {\n new AzureNative.HybridNetwork.Inputs.AzureArcKubernetesHelmApplicationArgs\n {\n ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureArcKubernetesArtifactProfileArgs\n {\n ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs\n {\n Id = \"/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore\",\n },\n HelmArtifactProfile = new AzureNative.HybridNetwork.Inputs.HelmArtifactProfileArgs\n {\n HelmPackageName = \"fed-rbac\",\n HelmPackageVersionRange = \"~2.1.3\",\n ImagePullSecretsValuesPaths = new[]\n {\n \"global.imagePullSecrets\",\n },\n RegistryValuesPaths = new[]\n {\n \"global.registry.docker.repoPath\",\n },\n },\n },\n ArtifactType = \"HelmPackage\",\n DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs\n {\n InstallDependsOn = new() { },\n UninstallDependsOn = new() { },\n UpdateDependsOn = new() { },\n },\n DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureArcKubernetesDeployMappingRuleProfileArgs\n {\n ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Enabled,\n HelmMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.HelmMappingRuleProfileArgs\n {\n HelmPackageVersion = \"2.1.3\",\n Options = new AzureNative.HybridNetwork.Inputs.HelmMappingRuleProfileOptionsArgs\n {\n InstallOptions = new AzureNative.HybridNetwork.Inputs.HelmInstallOptionsArgs\n {\n Atomic = \"true\",\n Timeout = \"30\",\n Wait = \"waitValue\",\n },\n UpgradeOptions = new AzureNative.HybridNetwork.Inputs.HelmUpgradeOptionsArgs\n {\n Atomic = \"true\",\n Timeout = \"30\",\n Wait = \"waitValue\",\n },\n },\n ReleaseName = \"{deployParameters.releaseName}\",\n ReleaseNamespace = \"{deployParameters.namesapce}\",\n Values = \"\",\n },\n },\n Name = \"fedrbac\",\n },\n },\n NfviType = \"AzureArcKubernetes\",\n },\n NetworkFunctionType = \"ContainerizedNetworkFunction\",\n },\n PublisherName = \"TestPublisher\",\n ResourceGroupName = \"rg\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\thybridnetwork \"github.com/pulumi/pulumi-azure-native-sdk/hybridnetwork/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hybridnetwork.NewNetworkFunctionDefinitionVersion(ctx, \"networkFunctionDefinitionVersion\", \u0026hybridnetwork.NetworkFunctionDefinitionVersionArgs{\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tNetworkFunctionDefinitionGroupName: pulumi.String(\"TestNetworkFunctionDefinitionGroupName\"),\n\t\t\tNetworkFunctionDefinitionVersionName: pulumi.String(\"1.0.0\"),\n\t\t\tProperties: \u0026hybridnetwork.ContainerizedNetworkFunctionDefinitionVersionArgs{\n\t\t\t\tDeployParameters: pulumi.String(\"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"releaseName\\\":{\\\"type\\\":\\\"string\\\"},\\\"namespace\\\":{\\\"type\\\":\\\"string\\\"}}}\"),\n\t\t\t\tNetworkFunctionTemplate: \u0026hybridnetwork.AzureArcKubernetesNetworkFunctionTemplateArgs{\n\t\t\t\t\tNetworkFunctionApplications: hybridnetwork.AzureArcKubernetesHelmApplicationArray{\n\t\t\t\t\t\t\u0026hybridnetwork.AzureArcKubernetesHelmApplicationArgs{\n\t\t\t\t\t\t\tArtifactProfile: \u0026hybridnetwork.AzureArcKubernetesArtifactProfileArgs{\n\t\t\t\t\t\t\t\tArtifactStore: \u0026hybridnetwork.ReferencedResourceArgs{\n\t\t\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tHelmArtifactProfile: \u0026hybridnetwork.HelmArtifactProfileArgs{\n\t\t\t\t\t\t\t\t\tHelmPackageName: pulumi.String(\"fed-rbac\"),\n\t\t\t\t\t\t\t\t\tHelmPackageVersionRange: pulumi.String(\"~2.1.3\"),\n\t\t\t\t\t\t\t\t\tImagePullSecretsValuesPaths: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"global.imagePullSecrets\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tRegistryValuesPaths: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"global.registry.docker.repoPath\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tArtifactType: pulumi.String(\"HelmPackage\"),\n\t\t\t\t\t\t\tDependsOnProfile: \u0026hybridnetwork.DependsOnProfileArgs{\n\t\t\t\t\t\t\t\tInstallDependsOn: pulumi.StringArray{},\n\t\t\t\t\t\t\t\tUninstallDependsOn: pulumi.StringArray{},\n\t\t\t\t\t\t\t\tUpdateDependsOn: pulumi.StringArray{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDeployParametersMappingRuleProfile: \u0026hybridnetwork.AzureArcKubernetesDeployMappingRuleProfileArgs{\n\t\t\t\t\t\t\t\tApplicationEnablement: pulumi.String(hybridnetwork.ApplicationEnablementEnabled),\n\t\t\t\t\t\t\t\tHelmMappingRuleProfile: \u0026hybridnetwork.HelmMappingRuleProfileArgs{\n\t\t\t\t\t\t\t\t\tHelmPackageVersion: pulumi.String(\"2.1.3\"),\n\t\t\t\t\t\t\t\t\tOptions: \u0026hybridnetwork.HelmMappingRuleProfileOptionsArgs{\n\t\t\t\t\t\t\t\t\t\tInstallOptions: \u0026hybridnetwork.HelmInstallOptionsArgs{\n\t\t\t\t\t\t\t\t\t\t\tAtomic: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t\t\t\tTimeout: pulumi.String(\"30\"),\n\t\t\t\t\t\t\t\t\t\t\tWait: pulumi.String(\"waitValue\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tUpgradeOptions: \u0026hybridnetwork.HelmUpgradeOptionsArgs{\n\t\t\t\t\t\t\t\t\t\t\tAtomic: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t\t\t\tTimeout: pulumi.String(\"30\"),\n\t\t\t\t\t\t\t\t\t\t\tWait: pulumi.String(\"waitValue\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tReleaseName: pulumi.String(\"{deployParameters.releaseName}\"),\n\t\t\t\t\t\t\t\t\tReleaseNamespace: pulumi.String(\"{deployParameters.namesapce}\"),\n\t\t\t\t\t\t\t\t\tValues: pulumi.String(\"\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"fedrbac\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNfviType: pulumi.String(\"AzureArcKubernetes\"),\n\t\t\t\t},\n\t\t\t\tNetworkFunctionType: pulumi.String(\"ContainerizedNetworkFunction\"),\n\t\t\t},\n\t\t\tPublisherName: pulumi.String(\"TestPublisher\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersion;\nimport com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var networkFunctionDefinitionVersion = new NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", NetworkFunctionDefinitionVersionArgs.builder()\n .location(\"eastus\")\n .networkFunctionDefinitionGroupName(\"TestNetworkFunctionDefinitionGroupName\")\n .networkFunctionDefinitionVersionName(\"1.0.0\")\n .properties(ContainerizedNetworkFunctionDefinitionVersionArgs.builder()\n .deployParameters(\"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"releaseName\\\":{\\\"type\\\":\\\"string\\\"},\\\"namespace\\\":{\\\"type\\\":\\\"string\\\"}}}\")\n .networkFunctionTemplate(Map.ofEntries(\n Map.entry(\"networkFunctionApplications\", Map.ofEntries(\n Map.entry(\"artifactProfile\", AzureArcKubernetesArtifactProfileArgs.builder()\n .artifactStore(ReferencedResourceArgs.builder()\n .id(\"/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore\")\n .build())\n .helmArtifactProfile(HelmArtifactProfileArgs.builder()\n .helmPackageName(\"fed-rbac\")\n .helmPackageVersionRange(\"~2.1.3\")\n .imagePullSecretsValuesPaths(\"global.imagePullSecrets\")\n .registryValuesPaths(\"global.registry.docker.repoPath\")\n .build())\n .build()),\n Map.entry(\"artifactType\", \"HelmPackage\"),\n Map.entry(\"dependsOnProfile\", DependsOnProfileArgs.builder()\n .installDependsOn()\n .uninstallDependsOn()\n .updateDependsOn()\n .build()),\n Map.entry(\"deployParametersMappingRuleProfile\", AzureArcKubernetesDeployMappingRuleProfileArgs.builder()\n .applicationEnablement(\"Enabled\")\n .helmMappingRuleProfile(HelmMappingRuleProfileArgs.builder()\n .helmPackageVersion(\"2.1.3\")\n .options(HelmMappingRuleProfileOptionsArgs.builder()\n .installOptions(HelmInstallOptionsArgs.builder()\n .atomic(\"true\")\n .timeout(\"30\")\n .wait(\"waitValue\")\n .build())\n .upgradeOptions(HelmUpgradeOptionsArgs.builder()\n .atomic(\"true\")\n .timeout(\"30\")\n .wait(\"waitValue\")\n .build())\n .build())\n .releaseName(\"{deployParameters.releaseName}\")\n .releaseNamespace(\"{deployParameters.namesapce}\")\n .values(\"\")\n .build())\n .build()),\n Map.entry(\"name\", \"fedrbac\")\n )),\n Map.entry(\"nfviType\", \"AzureArcKubernetes\")\n ))\n .networkFunctionType(\"ContainerizedNetworkFunction\")\n .build())\n .publisherName(\"TestPublisher\")\n .resourceGroupName(\"rg\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst networkFunctionDefinitionVersion = new azure_native.hybridnetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", {\n location: \"eastus\",\n networkFunctionDefinitionGroupName: \"TestNetworkFunctionDefinitionGroupName\",\n networkFunctionDefinitionVersionName: \"1.0.0\",\n properties: {\n deployParameters: \"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"releaseName\\\":{\\\"type\\\":\\\"string\\\"},\\\"namespace\\\":{\\\"type\\\":\\\"string\\\"}}}\",\n networkFunctionTemplate: {\n networkFunctionApplications: [{\n artifactProfile: {\n artifactStore: {\n id: \"/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore\",\n },\n helmArtifactProfile: {\n helmPackageName: \"fed-rbac\",\n helmPackageVersionRange: \"~2.1.3\",\n imagePullSecretsValuesPaths: [\"global.imagePullSecrets\"],\n registryValuesPaths: [\"global.registry.docker.repoPath\"],\n },\n },\n artifactType: \"HelmPackage\",\n dependsOnProfile: {\n installDependsOn: [],\n uninstallDependsOn: [],\n updateDependsOn: [],\n },\n deployParametersMappingRuleProfile: {\n applicationEnablement: azure_native.hybridnetwork.ApplicationEnablement.Enabled,\n helmMappingRuleProfile: {\n helmPackageVersion: \"2.1.3\",\n options: {\n installOptions: {\n atomic: \"true\",\n timeout: \"30\",\n wait: \"waitValue\",\n },\n upgradeOptions: {\n atomic: \"true\",\n timeout: \"30\",\n wait: \"waitValue\",\n },\n },\n releaseName: \"{deployParameters.releaseName}\",\n releaseNamespace: \"{deployParameters.namesapce}\",\n values: \"\",\n },\n },\n name: \"fedrbac\",\n }],\n nfviType: \"AzureArcKubernetes\",\n },\n networkFunctionType: \"ContainerizedNetworkFunction\",\n },\n publisherName: \"TestPublisher\",\n resourceGroupName: \"rg\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nnetwork_function_definition_version = azure_native.hybridnetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\",\n location=\"eastus\",\n network_function_definition_group_name=\"TestNetworkFunctionDefinitionGroupName\",\n network_function_definition_version_name=\"1.0.0\",\n properties={\n \"deploy_parameters\": \"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"releaseName\\\":{\\\"type\\\":\\\"string\\\"},\\\"namespace\\\":{\\\"type\\\":\\\"string\\\"}}}\",\n \"network_function_template\": {\n \"network_function_applications\": [{\n \"artifact_profile\": {\n \"artifact_store\": {\n \"id\": \"/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore\",\n },\n \"helm_artifact_profile\": {\n \"helm_package_name\": \"fed-rbac\",\n \"helm_package_version_range\": \"~2.1.3\",\n \"image_pull_secrets_values_paths\": [\"global.imagePullSecrets\"],\n \"registry_values_paths\": [\"global.registry.docker.repoPath\"],\n },\n },\n \"artifact_type\": \"HelmPackage\",\n \"depends_on_profile\": {\n \"install_depends_on\": [],\n \"uninstall_depends_on\": [],\n \"update_depends_on\": [],\n },\n \"deploy_parameters_mapping_rule_profile\": {\n \"application_enablement\": azure_native.hybridnetwork.ApplicationEnablement.ENABLED,\n \"helm_mapping_rule_profile\": {\n \"helm_package_version\": \"2.1.3\",\n \"options\": {\n \"install_options\": {\n \"atomic\": \"true\",\n \"timeout\": \"30\",\n \"wait\": \"waitValue\",\n },\n \"upgrade_options\": {\n \"atomic\": \"true\",\n \"timeout\": \"30\",\n \"wait\": \"waitValue\",\n },\n },\n \"release_name\": \"{deployParameters.releaseName}\",\n \"release_namespace\": \"{deployParameters.namesapce}\",\n \"values\": \"\",\n },\n },\n \"name\": \"fedrbac\",\n }],\n \"nfvi_type\": \"AzureArcKubernetes\",\n },\n \"network_function_type\": \"ContainerizedNetworkFunction\",\n },\n publisher_name=\"TestPublisher\",\n resource_group_name=\"rg\")\n\n```\n\n```yaml\nresources:\n networkFunctionDefinitionVersion:\n type: azure-native:hybridnetwork:NetworkFunctionDefinitionVersion\n properties:\n location: eastus\n networkFunctionDefinitionGroupName: TestNetworkFunctionDefinitionGroupName\n networkFunctionDefinitionVersionName: 1.0.0\n properties:\n deployParameters: '{\"type\":\"object\",\"properties\":{\"releaseName\":{\"type\":\"string\"},\"namespace\":{\"type\":\"string\"}}}'\n networkFunctionTemplate:\n networkFunctionApplications:\n - artifactProfile:\n artifactStore:\n id: /subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore\n helmArtifactProfile:\n helmPackageName: fed-rbac\n helmPackageVersionRange: ~2.1.3\n imagePullSecretsValuesPaths:\n - global.imagePullSecrets\n registryValuesPaths:\n - global.registry.docker.repoPath\n artifactType: HelmPackage\n dependsOnProfile:\n installDependsOn: []\n uninstallDependsOn: []\n updateDependsOn: []\n deployParametersMappingRuleProfile:\n applicationEnablement: Enabled\n helmMappingRuleProfile:\n helmPackageVersion: 2.1.3\n options:\n installOptions:\n atomic: 'true'\n timeout: '30'\n wait: waitValue\n upgradeOptions:\n atomic: 'true'\n timeout: '30'\n wait: waitValue\n releaseName: '{deployParameters.releaseName}'\n releaseNamespace: '{deployParameters.namesapce}'\n values: \"\"\n name: fedrbac\n nfviType: AzureArcKubernetes\n networkFunctionType: ContainerizedNetworkFunction\n publisherName: TestPublisher\n resourceGroupName: rg\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a network function definition version resource for AzureCore VNF\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var networkFunctionDefinitionVersion = new AzureNative.HybridNetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", new()\n {\n Location = \"eastus\",\n NetworkFunctionDefinitionGroupName = \"TestNetworkFunctionDefinitionGroupName\",\n NetworkFunctionDefinitionVersionName = \"1.0.0\",\n Properties = new AzureNative.HybridNetwork.Inputs.VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs\n {\n DeployParameters = \"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\",\n Description = \"test NFDV for AzureCore\",\n NetworkFunctionTemplate = new AzureNative.HybridNetwork.Inputs.AzureCoreNetworkFunctionTemplateArgs\n {\n NetworkFunctionApplications = \n {\n new AzureNative.HybridNetwork.Inputs.AzureCoreNetworkFunctionVhdApplicationArgs\n {\n ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureCoreVhdImageArtifactProfileArgs\n {\n ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n VhdArtifactProfile = new AzureNative.HybridNetwork.Inputs.VhdImageArtifactProfileArgs\n {\n VhdName = \"test-image\",\n VhdVersion = \"1-0-0\",\n },\n },\n ArtifactType = \"VhdImageFile\",\n DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs\n {\n InstallDependsOn = new() { },\n UninstallDependsOn = new() { },\n UpdateDependsOn = new() { },\n },\n DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureCoreVhdImageDeployMappingRuleProfileArgs\n {\n ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Unknown,\n VhdImageMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.VhdImageMappingRuleProfileArgs\n {\n UserConfiguration = \"\",\n },\n },\n Name = \"testImageRole\",\n },\n new AzureNative.HybridNetwork.Inputs.AzureCoreNetworkFunctionArmTemplateApplicationArgs\n {\n ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureCoreArmTemplateArtifactProfileArgs\n {\n ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n TemplateArtifactProfile = new AzureNative.HybridNetwork.Inputs.ArmTemplateArtifactProfileArgs\n {\n TemplateName = \"test-template\",\n TemplateVersion = \"1.0.0\",\n },\n },\n ArtifactType = \"ArmTemplate\",\n DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs\n {\n InstallDependsOn = new[]\n {\n \"testImageRole\",\n },\n UninstallDependsOn = new[]\n {\n \"testImageRole\",\n },\n UpdateDependsOn = new[]\n {\n \"testImageRole\",\n },\n },\n DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureCoreArmTemplateDeployMappingRuleProfileArgs\n {\n ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Unknown,\n TemplateMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.ArmTemplateMappingRuleProfileArgs\n {\n TemplateParameters = \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n },\n },\n Name = \"testTemplateRole\",\n },\n },\n NfviType = \"AzureCore\",\n },\n NetworkFunctionType = \"VirtualNetworkFunction\",\n },\n PublisherName = \"TestPublisher\",\n ResourceGroupName = \"rg\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\thybridnetwork \"github.com/pulumi/pulumi-azure-native-sdk/hybridnetwork/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hybridnetwork.NewNetworkFunctionDefinitionVersion(ctx, \"networkFunctionDefinitionVersion\", \u0026hybridnetwork.NetworkFunctionDefinitionVersionArgs{\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tNetworkFunctionDefinitionGroupName: pulumi.String(\"TestNetworkFunctionDefinitionGroupName\"),\n\t\t\tNetworkFunctionDefinitionVersionName: pulumi.String(\"1.0.0\"),\n\t\t\tProperties: \u0026hybridnetwork.VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs{\n\t\t\t\tDeployParameters: pulumi.String(\"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\"),\n\t\t\t\tDescription: pulumi.String(\"test NFDV for AzureCore\"),\n\t\t\t\tNetworkFunctionTemplate: hybridnetwork.AzureCoreNetworkFunctionTemplate{\n\t\t\t\t\tNetworkFunctionApplications: []interface{}{\n\t\t\t\t\t\thybridnetwork.AzureCoreNetworkFunctionVhdApplication{\n\t\t\t\t\t\t\tArtifactProfile: hybridnetwork.AzureCoreVhdImageArtifactProfile{\n\t\t\t\t\t\t\t\tArtifactStore: hybridnetwork.ReferencedResource{\n\t\t\t\t\t\t\t\t\tId: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tVhdArtifactProfile: hybridnetwork.VhdImageArtifactProfile{\n\t\t\t\t\t\t\t\t\tVhdName: \"test-image\",\n\t\t\t\t\t\t\t\t\tVhdVersion: \"1-0-0\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tArtifactType: \"VhdImageFile\",\n\t\t\t\t\t\t\tDependsOnProfile: hybridnetwork.DependsOnProfile{\n\t\t\t\t\t\t\t\tInstallDependsOn: []interface{}{},\n\t\t\t\t\t\t\t\tUninstallDependsOn: []interface{}{},\n\t\t\t\t\t\t\t\tUpdateDependsOn: []interface{}{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDeployParametersMappingRuleProfile: hybridnetwork.AzureCoreVhdImageDeployMappingRuleProfile{\n\t\t\t\t\t\t\t\tApplicationEnablement: hybridnetwork.ApplicationEnablementUnknown,\n\t\t\t\t\t\t\t\tVhdImageMappingRuleProfile: hybridnetwork.VhdImageMappingRuleProfile{\n\t\t\t\t\t\t\t\t\tUserConfiguration: \"\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: \"testImageRole\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\thybridnetwork.AzureCoreNetworkFunctionArmTemplateApplication{\n\t\t\t\t\t\t\tArtifactProfile: hybridnetwork.AzureCoreArmTemplateArtifactProfile{\n\t\t\t\t\t\t\t\tArtifactStore: hybridnetwork.ReferencedResource{\n\t\t\t\t\t\t\t\t\tId: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tTemplateArtifactProfile: hybridnetwork.ArmTemplateArtifactProfile{\n\t\t\t\t\t\t\t\t\tTemplateName: \"test-template\",\n\t\t\t\t\t\t\t\t\tTemplateVersion: \"1.0.0\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tArtifactType: \"ArmTemplate\",\n\t\t\t\t\t\t\tDependsOnProfile: hybridnetwork.DependsOnProfile{\n\t\t\t\t\t\t\t\tInstallDependsOn: []string{\n\t\t\t\t\t\t\t\t\t\"testImageRole\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tUninstallDependsOn: []string{\n\t\t\t\t\t\t\t\t\t\"testImageRole\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tUpdateDependsOn: []string{\n\t\t\t\t\t\t\t\t\t\"testImageRole\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDeployParametersMappingRuleProfile: hybridnetwork.AzureCoreArmTemplateDeployMappingRuleProfile{\n\t\t\t\t\t\t\t\tApplicationEnablement: hybridnetwork.ApplicationEnablementUnknown,\n\t\t\t\t\t\t\t\tTemplateMappingRuleProfile: hybridnetwork.ArmTemplateMappingRuleProfile{\n\t\t\t\t\t\t\t\t\tTemplateParameters: \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: \"testTemplateRole\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNfviType: \"AzureCore\",\n\t\t\t\t},\n\t\t\t\tNetworkFunctionType: pulumi.String(\"VirtualNetworkFunction\"),\n\t\t\t},\n\t\t\tPublisherName: pulumi.String(\"TestPublisher\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersion;\nimport com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var networkFunctionDefinitionVersion = new NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", NetworkFunctionDefinitionVersionArgs.builder()\n .location(\"eastus\")\n .networkFunctionDefinitionGroupName(\"TestNetworkFunctionDefinitionGroupName\")\n .networkFunctionDefinitionVersionName(\"1.0.0\")\n .properties(VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs.builder()\n .deployParameters(\"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\")\n .description(\"test NFDV for AzureCore\")\n .networkFunctionTemplate(AzureCoreNetworkFunctionTemplateArgs.builder()\n .networkFunctionApplications(%!v(PANIC=Format method: interface conversion: model.Expression is *model.FunctionCallExpression, not *model.ObjectConsExpression))\n .nfviType(\"AzureCore\")\n .build())\n .networkFunctionType(\"VirtualNetworkFunction\")\n .build())\n .publisherName(\"TestPublisher\")\n .resourceGroupName(\"rg\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst networkFunctionDefinitionVersion = new azure_native.hybridnetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", {\n location: \"eastus\",\n networkFunctionDefinitionGroupName: \"TestNetworkFunctionDefinitionGroupName\",\n networkFunctionDefinitionVersionName: \"1.0.0\",\n properties: {\n deployParameters: \"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\",\n description: \"test NFDV for AzureCore\",\n networkFunctionTemplate: {\n networkFunctionApplications: [\n {\n artifactProfile: {\n artifactStore: {\n id: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n vhdArtifactProfile: {\n vhdName: \"test-image\",\n vhdVersion: \"1-0-0\",\n },\n },\n artifactType: \"VhdImageFile\",\n dependsOnProfile: {\n installDependsOn: [],\n uninstallDependsOn: [],\n updateDependsOn: [],\n },\n deployParametersMappingRuleProfile: {\n applicationEnablement: azure_native.hybridnetwork.ApplicationEnablement.Unknown,\n vhdImageMappingRuleProfile: {\n userConfiguration: \"\",\n },\n },\n name: \"testImageRole\",\n },\n {\n artifactProfile: {\n artifactStore: {\n id: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n templateArtifactProfile: {\n templateName: \"test-template\",\n templateVersion: \"1.0.0\",\n },\n },\n artifactType: \"ArmTemplate\",\n dependsOnProfile: {\n installDependsOn: [\"testImageRole\"],\n uninstallDependsOn: [\"testImageRole\"],\n updateDependsOn: [\"testImageRole\"],\n },\n deployParametersMappingRuleProfile: {\n applicationEnablement: azure_native.hybridnetwork.ApplicationEnablement.Unknown,\n templateMappingRuleProfile: {\n templateParameters: \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n },\n },\n name: \"testTemplateRole\",\n },\n ],\n nfviType: \"AzureCore\",\n },\n networkFunctionType: \"VirtualNetworkFunction\",\n },\n publisherName: \"TestPublisher\",\n resourceGroupName: \"rg\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nnetwork_function_definition_version = azure_native.hybridnetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\",\n location=\"eastus\",\n network_function_definition_group_name=\"TestNetworkFunctionDefinitionGroupName\",\n network_function_definition_version_name=\"1.0.0\",\n properties={\n \"deploy_parameters\": \"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\",\n \"description\": \"test NFDV for AzureCore\",\n \"network_function_template\": {\n \"network_function_applications\": [\n {\n \"artifact_profile\": {\n \"artifact_store\": {\n \"id\": \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n \"vhd_artifact_profile\": {\n \"vhd_name\": \"test-image\",\n \"vhd_version\": \"1-0-0\",\n },\n },\n \"artifact_type\": \"VhdImageFile\",\n \"depends_on_profile\": {\n \"install_depends_on\": [],\n \"uninstall_depends_on\": [],\n \"update_depends_on\": [],\n },\n \"deploy_parameters_mapping_rule_profile\": {\n \"application_enablement\": azure_native.hybridnetwork.ApplicationEnablement.UNKNOWN,\n \"vhd_image_mapping_rule_profile\": {\n \"user_configuration\": \"\",\n },\n },\n \"name\": \"testImageRole\",\n },\n {\n \"artifact_profile\": {\n \"artifact_store\": {\n \"id\": \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n \"template_artifact_profile\": {\n \"template_name\": \"test-template\",\n \"template_version\": \"1.0.0\",\n },\n },\n \"artifact_type\": \"ArmTemplate\",\n \"depends_on_profile\": {\n \"install_depends_on\": [\"testImageRole\"],\n \"uninstall_depends_on\": [\"testImageRole\"],\n \"update_depends_on\": [\"testImageRole\"],\n },\n \"deploy_parameters_mapping_rule_profile\": {\n \"application_enablement\": azure_native.hybridnetwork.ApplicationEnablement.UNKNOWN,\n \"template_mapping_rule_profile\": {\n \"template_parameters\": \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n },\n },\n \"name\": \"testTemplateRole\",\n },\n ],\n \"nfvi_type\": \"AzureCore\",\n },\n \"network_function_type\": \"VirtualNetworkFunction\",\n },\n publisher_name=\"TestPublisher\",\n resource_group_name=\"rg\")\n\n```\n\n```yaml\nresources:\n networkFunctionDefinitionVersion:\n type: azure-native:hybridnetwork:NetworkFunctionDefinitionVersion\n properties:\n location: eastus\n networkFunctionDefinitionGroupName: TestNetworkFunctionDefinitionGroupName\n networkFunctionDefinitionVersionName: 1.0.0\n properties:\n deployParameters: '{\"virtualMachineName\":{\"type\":\"string\"},\"cpuCores\":{\"type\":\"int\"},\"memorySizeGB\":{\"type\":\"int\"},\"cloudServicesNetworkAttachment\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]},\"networkAttachments\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]}},\"storageProfile\":{\"type\":\"object\",\"properties\":{\"osDisk\":{\"type\":\"object\",\"properties\":{\"createOption\":{\"type\":\"string\"},\"deleteOption\":{\"type\":\"string\"},\"diskSizeGB\":{\"type\":\"integer\"}},\"required\":[\"diskSizeGB\"]}},\"required\":[\"osDisk\"]},\"sshPublicKeys\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"keyData\":{\"type\":\"string\"}},\"required\":[\"keyData\"]}},\"userData\":{\"type\":\"string\"},\"adminUsername\":{\"type\":\"string\"},\"bootMethod\":{\"type\":\"string\",\"default\":\"UEFI\",\"enum\":[\"UEFI\",\"BIOS\"]},\"isolateEmulatorThread\":{\"type\":\"string\"},\"virtioInterface\":{\"type\":\"string\"},\"placementHints\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hintType\":{\"type\":\"string\",\"enum\":[\"Affinity\",\"AntiAffinity\"]},\"resourceId\":{\"type\":\"string\"},\"schedulingExecution\":{\"type\":\"string\",\"enum\":[\"Soft\",\"Hard\"]},\"scope\":{\"type\":\"string\"}},\"required\":[\"hintType\",\"schedulingExecution\",\"resourceId\",\"scope\"]}}}'\n description: test NFDV for AzureCore\n networkFunctionTemplate:\n networkFunctionApplications:\n - artifactProfile:\n artifactStore:\n id: /subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\n vhdArtifactProfile:\n vhdName: test-image\n vhdVersion: 1-0-0\n artifactType: VhdImageFile\n dependsOnProfile:\n installDependsOn: []\n uninstallDependsOn: []\n updateDependsOn: []\n deployParametersMappingRuleProfile:\n applicationEnablement: Unknown\n vhdImageMappingRuleProfile:\n userConfiguration: \"\"\n name: testImageRole\n - artifactProfile:\n artifactStore:\n id: /subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\n templateArtifactProfile:\n templateName: test-template\n templateVersion: 1.0.0\n artifactType: ArmTemplate\n dependsOnProfile:\n installDependsOn:\n - testImageRole\n uninstallDependsOn:\n - testImageRole\n updateDependsOn:\n - testImageRole\n deployParametersMappingRuleProfile:\n applicationEnablement: Unknown\n templateMappingRuleProfile:\n templateParameters: '{\"virtualMachineName\":\"{deployParameters.virtualMachineName}\",\"cpuCores\":\"{deployParameters.cpuCores}\",\"memorySizeGB\":\"{deployParameters.memorySizeGB}\",\"cloudServicesNetworkAttachment\":\"{deployParameters.cloudServicesNetworkAttachment}\",\"networkAttachments\":\"{deployParameters.networkAttachments}\",\"sshPublicKeys\":\"{deployParameters.sshPublicKeys}\",\"storageProfile\":\"{deployParameters.storageProfile}\",\"isolateEmulatorThread\":\"{deployParameters.isolateEmulatorThread}\",\"virtioInterface\":\"{deployParameters.virtioInterface}\",\"userData\":\"{deployParameters.userData}\",\"adminUsername\":\"{deployParameters.adminUsername}\",\"bootMethod\":\"{deployParameters.bootMethod}\",\"placementHints\":\"{deployParameters.placementHints}\"}'\n name: testTemplateRole\n nfviType: AzureCore\n networkFunctionType: VirtualNetworkFunction\n publisherName: TestPublisher\n resourceGroupName: rg\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a network function definition version resource for AzureOperatorNexus VNF\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var networkFunctionDefinitionVersion = new AzureNative.HybridNetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", new()\n {\n Location = \"eastus\",\n NetworkFunctionDefinitionGroupName = \"TestNetworkFunctionDefinitionGroupName\",\n NetworkFunctionDefinitionVersionName = \"1.0.0\",\n Properties = new AzureNative.HybridNetwork.Inputs.VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs\n {\n DeployParameters = \"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"extendedLocationName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\",\n Description = \"test NFDV for AzureOperatorNexus\",\n NetworkFunctionTemplate = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusNetworkFunctionTemplateArgs\n {\n NetworkFunctionApplications = \n {\n new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusNetworkFunctionImageApplicationArgs\n {\n ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusImageArtifactProfileArgs\n {\n ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n ImageArtifactProfile = new AzureNative.HybridNetwork.Inputs.ImageArtifactProfileArgs\n {\n ImageName = \"test-image\",\n ImageVersion = \"1.0.0\",\n },\n },\n ArtifactType = \"ImageFile\",\n DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs\n {\n InstallDependsOn = new() { },\n UninstallDependsOn = new() { },\n UpdateDependsOn = new() { },\n },\n DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusImageDeployMappingRuleProfileArgs\n {\n ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Unknown,\n ImageMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.ImageMappingRuleProfileArgs\n {\n UserConfiguration = \"\",\n },\n },\n Name = \"testImageRole\",\n },\n new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusNetworkFunctionArmTemplateApplicationArgs\n {\n ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusArmTemplateArtifactProfileArgs\n {\n ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n TemplateArtifactProfile = new AzureNative.HybridNetwork.Inputs.ArmTemplateArtifactProfileArgs\n {\n TemplateName = \"test-template\",\n TemplateVersion = \"1.0.0\",\n },\n },\n ArtifactType = \"ArmTemplate\",\n DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs\n {\n InstallDependsOn = new[]\n {\n \"testImageRole\",\n },\n UninstallDependsOn = new[]\n {\n \"testImageRole\",\n },\n UpdateDependsOn = new[]\n {\n \"testImageRole\",\n },\n },\n DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusArmTemplateDeployMappingRuleProfileArgs\n {\n ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Unknown,\n TemplateMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.ArmTemplateMappingRuleProfileArgs\n {\n TemplateParameters = \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"extendedLocationName\\\":\\\"{deployParameters.extendedLocationName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n },\n },\n Name = \"testTemplateRole\",\n },\n },\n NfviType = \"AzureOperatorNexus\",\n },\n NetworkFunctionType = \"VirtualNetworkFunction\",\n },\n PublisherName = \"TestPublisher\",\n ResourceGroupName = \"rg\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\thybridnetwork \"github.com/pulumi/pulumi-azure-native-sdk/hybridnetwork/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hybridnetwork.NewNetworkFunctionDefinitionVersion(ctx, \"networkFunctionDefinitionVersion\", \u0026hybridnetwork.NetworkFunctionDefinitionVersionArgs{\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tNetworkFunctionDefinitionGroupName: pulumi.String(\"TestNetworkFunctionDefinitionGroupName\"),\n\t\t\tNetworkFunctionDefinitionVersionName: pulumi.String(\"1.0.0\"),\n\t\t\tProperties: \u0026hybridnetwork.VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs{\n\t\t\t\tDeployParameters: pulumi.String(\"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"extendedLocationName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\"),\n\t\t\t\tDescription: pulumi.String(\"test NFDV for AzureOperatorNexus\"),\n\t\t\t\tNetworkFunctionTemplate: hybridnetwork.AzureOperatorNexusNetworkFunctionTemplate{\n\t\t\t\t\tNetworkFunctionApplications: []interface{}{\n\t\t\t\t\t\thybridnetwork.AzureOperatorNexusNetworkFunctionImageApplication{\n\t\t\t\t\t\t\tArtifactProfile: hybridnetwork.AzureOperatorNexusImageArtifactProfile{\n\t\t\t\t\t\t\t\tArtifactStore: hybridnetwork.ReferencedResource{\n\t\t\t\t\t\t\t\t\tId: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tImageArtifactProfile: hybridnetwork.ImageArtifactProfile{\n\t\t\t\t\t\t\t\t\tImageName: \"test-image\",\n\t\t\t\t\t\t\t\t\tImageVersion: \"1.0.0\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tArtifactType: \"ImageFile\",\n\t\t\t\t\t\t\tDependsOnProfile: hybridnetwork.DependsOnProfile{\n\t\t\t\t\t\t\t\tInstallDependsOn: []interface{}{},\n\t\t\t\t\t\t\t\tUninstallDependsOn: []interface{}{},\n\t\t\t\t\t\t\t\tUpdateDependsOn: []interface{}{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDeployParametersMappingRuleProfile: hybridnetwork.AzureOperatorNexusImageDeployMappingRuleProfile{\n\t\t\t\t\t\t\t\tApplicationEnablement: hybridnetwork.ApplicationEnablementUnknown,\n\t\t\t\t\t\t\t\tImageMappingRuleProfile: hybridnetwork.ImageMappingRuleProfile{\n\t\t\t\t\t\t\t\t\tUserConfiguration: \"\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: \"testImageRole\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\thybridnetwork.AzureOperatorNexusNetworkFunctionArmTemplateApplication{\n\t\t\t\t\t\t\tArtifactProfile: hybridnetwork.AzureOperatorNexusArmTemplateArtifactProfile{\n\t\t\t\t\t\t\t\tArtifactStore: hybridnetwork.ReferencedResource{\n\t\t\t\t\t\t\t\t\tId: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tTemplateArtifactProfile: hybridnetwork.ArmTemplateArtifactProfile{\n\t\t\t\t\t\t\t\t\tTemplateName: \"test-template\",\n\t\t\t\t\t\t\t\t\tTemplateVersion: \"1.0.0\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tArtifactType: \"ArmTemplate\",\n\t\t\t\t\t\t\tDependsOnProfile: hybridnetwork.DependsOnProfile{\n\t\t\t\t\t\t\t\tInstallDependsOn: []string{\n\t\t\t\t\t\t\t\t\t\"testImageRole\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tUninstallDependsOn: []string{\n\t\t\t\t\t\t\t\t\t\"testImageRole\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tUpdateDependsOn: []string{\n\t\t\t\t\t\t\t\t\t\"testImageRole\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDeployParametersMappingRuleProfile: hybridnetwork.AzureOperatorNexusArmTemplateDeployMappingRuleProfile{\n\t\t\t\t\t\t\t\tApplicationEnablement: hybridnetwork.ApplicationEnablementUnknown,\n\t\t\t\t\t\t\t\tTemplateMappingRuleProfile: hybridnetwork.ArmTemplateMappingRuleProfile{\n\t\t\t\t\t\t\t\t\tTemplateParameters: \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"extendedLocationName\\\":\\\"{deployParameters.extendedLocationName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: \"testTemplateRole\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNfviType: \"AzureOperatorNexus\",\n\t\t\t\t},\n\t\t\t\tNetworkFunctionType: pulumi.String(\"VirtualNetworkFunction\"),\n\t\t\t},\n\t\t\tPublisherName: pulumi.String(\"TestPublisher\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersion;\nimport com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var networkFunctionDefinitionVersion = new NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", NetworkFunctionDefinitionVersionArgs.builder()\n .location(\"eastus\")\n .networkFunctionDefinitionGroupName(\"TestNetworkFunctionDefinitionGroupName\")\n .networkFunctionDefinitionVersionName(\"1.0.0\")\n .properties(VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs.builder()\n .deployParameters(\"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"extendedLocationName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\")\n .description(\"test NFDV for AzureOperatorNexus\")\n .networkFunctionTemplate(Map.ofEntries(\n Map.entry(\"networkFunctionApplications\", \n AzureOperatorNexusNetworkFunctionImageApplicationArgs.builder()\n .artifactProfile(AzureOperatorNexusImageArtifactProfileArgs.builder()\n .artifactStore(ReferencedResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\")\n .build())\n .imageArtifactProfile(ImageArtifactProfileArgs.builder()\n .imageName(\"test-image\")\n .imageVersion(\"1.0.0\")\n .build())\n .build())\n .artifactType(\"ImageFile\")\n .dependsOnProfile(DependsOnProfileArgs.builder()\n .installDependsOn()\n .uninstallDependsOn()\n .updateDependsOn()\n .build())\n .deployParametersMappingRuleProfile(AzureOperatorNexusImageDeployMappingRuleProfileArgs.builder()\n .applicationEnablement(\"Unknown\")\n .imageMappingRuleProfile(ImageMappingRuleProfileArgs.builder()\n .userConfiguration(\"\")\n .build())\n .build())\n .name(\"testImageRole\")\n .build(),\n AzureOperatorNexusNetworkFunctionArmTemplateApplicationArgs.builder()\n .artifactProfile(AzureOperatorNexusArmTemplateArtifactProfileArgs.builder()\n .artifactStore(ReferencedResourceArgs.builder()\n .id(\"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\")\n .build())\n .templateArtifactProfile(ArmTemplateArtifactProfileArgs.builder()\n .templateName(\"test-template\")\n .templateVersion(\"1.0.0\")\n .build())\n .build())\n .artifactType(\"ArmTemplate\")\n .dependsOnProfile(DependsOnProfileArgs.builder()\n .installDependsOn(\"testImageRole\")\n .uninstallDependsOn(\"testImageRole\")\n .updateDependsOn(\"testImageRole\")\n .build())\n .deployParametersMappingRuleProfile(AzureOperatorNexusArmTemplateDeployMappingRuleProfileArgs.builder()\n .applicationEnablement(\"Unknown\")\n .templateMappingRuleProfile(ArmTemplateMappingRuleProfileArgs.builder()\n .templateParameters(\"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"extendedLocationName\\\":\\\"{deployParameters.extendedLocationName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\")\n .build())\n .build())\n .name(\"testTemplateRole\")\n .build()),\n Map.entry(\"nfviType\", \"AzureOperatorNexus\")\n ))\n .networkFunctionType(\"VirtualNetworkFunction\")\n .build())\n .publisherName(\"TestPublisher\")\n .resourceGroupName(\"rg\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst networkFunctionDefinitionVersion = new azure_native.hybridnetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", {\n location: \"eastus\",\n networkFunctionDefinitionGroupName: \"TestNetworkFunctionDefinitionGroupName\",\n networkFunctionDefinitionVersionName: \"1.0.0\",\n properties: {\n deployParameters: \"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"extendedLocationName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\",\n description: \"test NFDV for AzureOperatorNexus\",\n networkFunctionTemplate: {\n networkFunctionApplications: [\n {\n artifactProfile: {\n artifactStore: {\n id: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n imageArtifactProfile: {\n imageName: \"test-image\",\n imageVersion: \"1.0.0\",\n },\n },\n artifactType: \"ImageFile\",\n dependsOnProfile: {\n installDependsOn: [],\n uninstallDependsOn: [],\n updateDependsOn: [],\n },\n deployParametersMappingRuleProfile: {\n applicationEnablement: azure_native.hybridnetwork.ApplicationEnablement.Unknown,\n imageMappingRuleProfile: {\n userConfiguration: \"\",\n },\n },\n name: \"testImageRole\",\n },\n {\n artifactProfile: {\n artifactStore: {\n id: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n templateArtifactProfile: {\n templateName: \"test-template\",\n templateVersion: \"1.0.0\",\n },\n },\n artifactType: \"ArmTemplate\",\n dependsOnProfile: {\n installDependsOn: [\"testImageRole\"],\n uninstallDependsOn: [\"testImageRole\"],\n updateDependsOn: [\"testImageRole\"],\n },\n deployParametersMappingRuleProfile: {\n applicationEnablement: azure_native.hybridnetwork.ApplicationEnablement.Unknown,\n templateMappingRuleProfile: {\n templateParameters: \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"extendedLocationName\\\":\\\"{deployParameters.extendedLocationName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n },\n },\n name: \"testTemplateRole\",\n },\n ],\n nfviType: \"AzureOperatorNexus\",\n },\n networkFunctionType: \"VirtualNetworkFunction\",\n },\n publisherName: \"TestPublisher\",\n resourceGroupName: \"rg\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nnetwork_function_definition_version = azure_native.hybridnetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\",\n location=\"eastus\",\n network_function_definition_group_name=\"TestNetworkFunctionDefinitionGroupName\",\n network_function_definition_version_name=\"1.0.0\",\n properties={\n \"deploy_parameters\": \"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"extendedLocationName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\",\n \"description\": \"test NFDV for AzureOperatorNexus\",\n \"network_function_template\": {\n \"network_function_applications\": [\n {\n \"artifact_profile\": {\n \"artifact_store\": {\n \"id\": \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n \"image_artifact_profile\": {\n \"image_name\": \"test-image\",\n \"image_version\": \"1.0.0\",\n },\n },\n \"artifact_type\": \"ImageFile\",\n \"depends_on_profile\": {\n \"install_depends_on\": [],\n \"uninstall_depends_on\": [],\n \"update_depends_on\": [],\n },\n \"deploy_parameters_mapping_rule_profile\": {\n \"application_enablement\": azure_native.hybridnetwork.ApplicationEnablement.UNKNOWN,\n \"image_mapping_rule_profile\": {\n \"user_configuration\": \"\",\n },\n },\n \"name\": \"testImageRole\",\n },\n {\n \"artifact_profile\": {\n \"artifact_store\": {\n \"id\": \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n \"template_artifact_profile\": {\n \"template_name\": \"test-template\",\n \"template_version\": \"1.0.0\",\n },\n },\n \"artifact_type\": \"ArmTemplate\",\n \"depends_on_profile\": {\n \"install_depends_on\": [\"testImageRole\"],\n \"uninstall_depends_on\": [\"testImageRole\"],\n \"update_depends_on\": [\"testImageRole\"],\n },\n \"deploy_parameters_mapping_rule_profile\": {\n \"application_enablement\": azure_native.hybridnetwork.ApplicationEnablement.UNKNOWN,\n \"template_mapping_rule_profile\": {\n \"template_parameters\": \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"extendedLocationName\\\":\\\"{deployParameters.extendedLocationName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n },\n },\n \"name\": \"testTemplateRole\",\n },\n ],\n \"nfvi_type\": \"AzureOperatorNexus\",\n },\n \"network_function_type\": \"VirtualNetworkFunction\",\n },\n publisher_name=\"TestPublisher\",\n resource_group_name=\"rg\")\n\n```\n\n```yaml\nresources:\n networkFunctionDefinitionVersion:\n type: azure-native:hybridnetwork:NetworkFunctionDefinitionVersion\n properties:\n location: eastus\n networkFunctionDefinitionGroupName: TestNetworkFunctionDefinitionGroupName\n networkFunctionDefinitionVersionName: 1.0.0\n properties:\n deployParameters: '{\"virtualMachineName\":{\"type\":\"string\"},\"extendedLocationName\":{\"type\":\"string\"},\"cpuCores\":{\"type\":\"int\"},\"memorySizeGB\":{\"type\":\"int\"},\"cloudServicesNetworkAttachment\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]},\"networkAttachments\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]}},\"storageProfile\":{\"type\":\"object\",\"properties\":{\"osDisk\":{\"type\":\"object\",\"properties\":{\"createOption\":{\"type\":\"string\"},\"deleteOption\":{\"type\":\"string\"},\"diskSizeGB\":{\"type\":\"integer\"}},\"required\":[\"diskSizeGB\"]}},\"required\":[\"osDisk\"]},\"sshPublicKeys\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"keyData\":{\"type\":\"string\"}},\"required\":[\"keyData\"]}},\"userData\":{\"type\":\"string\"},\"adminUsername\":{\"type\":\"string\"},\"bootMethod\":{\"type\":\"string\",\"default\":\"UEFI\",\"enum\":[\"UEFI\",\"BIOS\"]},\"isolateEmulatorThread\":{\"type\":\"string\"},\"virtioInterface\":{\"type\":\"string\"},\"placementHints\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hintType\":{\"type\":\"string\",\"enum\":[\"Affinity\",\"AntiAffinity\"]},\"resourceId\":{\"type\":\"string\"},\"schedulingExecution\":{\"type\":\"string\",\"enum\":[\"Soft\",\"Hard\"]},\"scope\":{\"type\":\"string\"}},\"required\":[\"hintType\",\"schedulingExecution\",\"resourceId\",\"scope\"]}}}'\n description: test NFDV for AzureOperatorNexus\n networkFunctionTemplate:\n networkFunctionApplications:\n - artifactProfile:\n artifactStore:\n id: /subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\n imageArtifactProfile:\n imageName: test-image\n imageVersion: 1.0.0\n artifactType: ImageFile\n dependsOnProfile:\n installDependsOn: []\n uninstallDependsOn: []\n updateDependsOn: []\n deployParametersMappingRuleProfile:\n applicationEnablement: Unknown\n imageMappingRuleProfile:\n userConfiguration: \"\"\n name: testImageRole\n - artifactProfile:\n artifactStore:\n id: /subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\n templateArtifactProfile:\n templateName: test-template\n templateVersion: 1.0.0\n artifactType: ArmTemplate\n dependsOnProfile:\n installDependsOn:\n - testImageRole\n uninstallDependsOn:\n - testImageRole\n updateDependsOn:\n - testImageRole\n deployParametersMappingRuleProfile:\n applicationEnablement: Unknown\n templateMappingRuleProfile:\n templateParameters: '{\"virtualMachineName\":\"{deployParameters.virtualMachineName}\",\"extendedLocationName\":\"{deployParameters.extendedLocationName}\",\"cpuCores\":\"{deployParameters.cpuCores}\",\"memorySizeGB\":\"{deployParameters.memorySizeGB}\",\"cloudServicesNetworkAttachment\":\"{deployParameters.cloudServicesNetworkAttachment}\",\"networkAttachments\":\"{deployParameters.networkAttachments}\",\"sshPublicKeys\":\"{deployParameters.sshPublicKeys}\",\"storageProfile\":\"{deployParameters.storageProfile}\",\"isolateEmulatorThread\":\"{deployParameters.isolateEmulatorThread}\",\"virtioInterface\":\"{deployParameters.virtioInterface}\",\"userData\":\"{deployParameters.userData}\",\"adminUsername\":\"{deployParameters.adminUsername}\",\"bootMethod\":\"{deployParameters.bootMethod}\",\"placementHints\":\"{deployParameters.placementHints}\"}'\n name: testTemplateRole\n nfviType: AzureOperatorNexus\n networkFunctionType: VirtualNetworkFunction\n publisherName: TestPublisher\n resourceGroupName: rg\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:hybridnetwork:NetworkFunctionDefinitionVersion TestVersion /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/publishers/{publisherName}/networkFunctionDefinitionGroups/{networkFunctionDefinitionGroupName}/networkFunctionDefinitionVersions/{networkFunctionDefinitionVersionName} \n```\n", + "description": "Network function definition version.\n\nUses Azure REST API version 2024-04-15. In version 2.x of the Azure Native provider, it used API version 2023-09-01.\n\nOther available API versions: 2023-09-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native hybridnetwork [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create or update a network function definition version resource\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var networkFunctionDefinitionVersion = new AzureNative.HybridNetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", new()\n {\n Location = \"eastus\",\n NetworkFunctionDefinitionGroupName = \"TestNetworkFunctionDefinitionGroupName\",\n NetworkFunctionDefinitionVersionName = \"1.0.0\",\n Properties = new AzureNative.HybridNetwork.Inputs.ContainerizedNetworkFunctionDefinitionVersionArgs\n {\n DeployParameters = \"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"releaseName\\\":{\\\"type\\\":\\\"string\\\"},\\\"namespace\\\":{\\\"type\\\":\\\"string\\\"}}}\",\n NetworkFunctionTemplate = new AzureNative.HybridNetwork.Inputs.AzureArcKubernetesNetworkFunctionTemplateArgs\n {\n NetworkFunctionApplications = new[]\n {\n new AzureNative.HybridNetwork.Inputs.AzureArcKubernetesHelmApplicationArgs\n {\n ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureArcKubernetesArtifactProfileArgs\n {\n ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs\n {\n Id = \"/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore\",\n },\n HelmArtifactProfile = new AzureNative.HybridNetwork.Inputs.HelmArtifactProfileArgs\n {\n HelmPackageName = \"fed-rbac\",\n HelmPackageVersionRange = \"~2.1.3\",\n ImagePullSecretsValuesPaths = new[]\n {\n \"global.imagePullSecrets\",\n },\n RegistryValuesPaths = new[]\n {\n \"global.registry.docker.repoPath\",\n },\n },\n },\n ArtifactType = \"HelmPackage\",\n DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs\n {\n InstallDependsOn = new() { },\n UninstallDependsOn = new() { },\n UpdateDependsOn = new() { },\n },\n DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureArcKubernetesDeployMappingRuleProfileArgs\n {\n ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Enabled,\n HelmMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.HelmMappingRuleProfileArgs\n {\n HelmPackageVersion = \"2.1.3\",\n Options = new AzureNative.HybridNetwork.Inputs.HelmMappingRuleProfileOptionsArgs\n {\n InstallOptions = new AzureNative.HybridNetwork.Inputs.HelmInstallOptionsArgs\n {\n Atomic = \"true\",\n Timeout = \"30\",\n Wait = \"waitValue\",\n },\n UpgradeOptions = new AzureNative.HybridNetwork.Inputs.HelmUpgradeOptionsArgs\n {\n Atomic = \"true\",\n Timeout = \"30\",\n Wait = \"waitValue\",\n },\n },\n ReleaseName = \"{deployParameters.releaseName}\",\n ReleaseNamespace = \"{deployParameters.namesapce}\",\n Values = \"\",\n },\n },\n Name = \"fedrbac\",\n },\n },\n NfviType = \"AzureArcKubernetes\",\n },\n NetworkFunctionType = \"ContainerizedNetworkFunction\",\n },\n PublisherName = \"TestPublisher\",\n ResourceGroupName = \"rg\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\thybridnetwork \"github.com/pulumi/pulumi-azure-native-sdk/hybridnetwork/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hybridnetwork.NewNetworkFunctionDefinitionVersion(ctx, \"networkFunctionDefinitionVersion\", \u0026hybridnetwork.NetworkFunctionDefinitionVersionArgs{\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tNetworkFunctionDefinitionGroupName: pulumi.String(\"TestNetworkFunctionDefinitionGroupName\"),\n\t\t\tNetworkFunctionDefinitionVersionName: pulumi.String(\"1.0.0\"),\n\t\t\tProperties: \u0026hybridnetwork.ContainerizedNetworkFunctionDefinitionVersionArgs{\n\t\t\t\tDeployParameters: pulumi.String(\"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"releaseName\\\":{\\\"type\\\":\\\"string\\\"},\\\"namespace\\\":{\\\"type\\\":\\\"string\\\"}}}\"),\n\t\t\t\tNetworkFunctionTemplate: \u0026hybridnetwork.AzureArcKubernetesNetworkFunctionTemplateArgs{\n\t\t\t\t\tNetworkFunctionApplications: hybridnetwork.AzureArcKubernetesHelmApplicationArray{\n\t\t\t\t\t\t\u0026hybridnetwork.AzureArcKubernetesHelmApplicationArgs{\n\t\t\t\t\t\t\tArtifactProfile: \u0026hybridnetwork.AzureArcKubernetesArtifactProfileArgs{\n\t\t\t\t\t\t\t\tArtifactStore: \u0026hybridnetwork.ReferencedResourceArgs{\n\t\t\t\t\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tHelmArtifactProfile: \u0026hybridnetwork.HelmArtifactProfileArgs{\n\t\t\t\t\t\t\t\t\tHelmPackageName: pulumi.String(\"fed-rbac\"),\n\t\t\t\t\t\t\t\t\tHelmPackageVersionRange: pulumi.String(\"~2.1.3\"),\n\t\t\t\t\t\t\t\t\tImagePullSecretsValuesPaths: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"global.imagePullSecrets\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tRegistryValuesPaths: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"global.registry.docker.repoPath\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tArtifactType: pulumi.String(\"HelmPackage\"),\n\t\t\t\t\t\t\tDependsOnProfile: \u0026hybridnetwork.DependsOnProfileArgs{\n\t\t\t\t\t\t\t\tInstallDependsOn: pulumi.StringArray{},\n\t\t\t\t\t\t\t\tUninstallDependsOn: pulumi.StringArray{},\n\t\t\t\t\t\t\t\tUpdateDependsOn: pulumi.StringArray{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDeployParametersMappingRuleProfile: \u0026hybridnetwork.AzureArcKubernetesDeployMappingRuleProfileArgs{\n\t\t\t\t\t\t\t\tApplicationEnablement: pulumi.String(hybridnetwork.ApplicationEnablementEnabled),\n\t\t\t\t\t\t\t\tHelmMappingRuleProfile: \u0026hybridnetwork.HelmMappingRuleProfileArgs{\n\t\t\t\t\t\t\t\t\tHelmPackageVersion: pulumi.String(\"2.1.3\"),\n\t\t\t\t\t\t\t\t\tOptions: \u0026hybridnetwork.HelmMappingRuleProfileOptionsArgs{\n\t\t\t\t\t\t\t\t\t\tInstallOptions: \u0026hybridnetwork.HelmInstallOptionsArgs{\n\t\t\t\t\t\t\t\t\t\t\tAtomic: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t\t\t\tTimeout: pulumi.String(\"30\"),\n\t\t\t\t\t\t\t\t\t\t\tWait: pulumi.String(\"waitValue\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tUpgradeOptions: \u0026hybridnetwork.HelmUpgradeOptionsArgs{\n\t\t\t\t\t\t\t\t\t\t\tAtomic: pulumi.String(\"true\"),\n\t\t\t\t\t\t\t\t\t\t\tTimeout: pulumi.String(\"30\"),\n\t\t\t\t\t\t\t\t\t\t\tWait: pulumi.String(\"waitValue\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tReleaseName: pulumi.String(\"{deployParameters.releaseName}\"),\n\t\t\t\t\t\t\t\t\tReleaseNamespace: pulumi.String(\"{deployParameters.namesapce}\"),\n\t\t\t\t\t\t\t\t\tValues: pulumi.String(\"\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"fedrbac\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNfviType: pulumi.String(\"AzureArcKubernetes\"),\n\t\t\t\t},\n\t\t\t\tNetworkFunctionType: pulumi.String(\"ContainerizedNetworkFunction\"),\n\t\t\t},\n\t\t\tPublisherName: pulumi.String(\"TestPublisher\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersion;\nimport com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var networkFunctionDefinitionVersion = new NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", NetworkFunctionDefinitionVersionArgs.builder()\n .location(\"eastus\")\n .networkFunctionDefinitionGroupName(\"TestNetworkFunctionDefinitionGroupName\")\n .networkFunctionDefinitionVersionName(\"1.0.0\")\n .properties(ContainerizedNetworkFunctionDefinitionVersionArgs.builder()\n .deployParameters(\"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"releaseName\\\":{\\\"type\\\":\\\"string\\\"},\\\"namespace\\\":{\\\"type\\\":\\\"string\\\"}}}\")\n .networkFunctionTemplate(Map.ofEntries(\n Map.entry(\"networkFunctionApplications\", Map.ofEntries(\n Map.entry(\"artifactProfile\", AzureArcKubernetesArtifactProfileArgs.builder()\n .artifactStore(ReferencedResourceArgs.builder()\n .id(\"/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore\")\n .build())\n .helmArtifactProfile(HelmArtifactProfileArgs.builder()\n .helmPackageName(\"fed-rbac\")\n .helmPackageVersionRange(\"~2.1.3\")\n .imagePullSecretsValuesPaths(\"global.imagePullSecrets\")\n .registryValuesPaths(\"global.registry.docker.repoPath\")\n .build())\n .build()),\n Map.entry(\"artifactType\", \"HelmPackage\"),\n Map.entry(\"dependsOnProfile\", DependsOnProfileArgs.builder()\n .installDependsOn()\n .uninstallDependsOn()\n .updateDependsOn()\n .build()),\n Map.entry(\"deployParametersMappingRuleProfile\", AzureArcKubernetesDeployMappingRuleProfileArgs.builder()\n .applicationEnablement(\"Enabled\")\n .helmMappingRuleProfile(HelmMappingRuleProfileArgs.builder()\n .helmPackageVersion(\"2.1.3\")\n .options(HelmMappingRuleProfileOptionsArgs.builder()\n .installOptions(HelmInstallOptionsArgs.builder()\n .atomic(\"true\")\n .timeout(\"30\")\n .wait(\"waitValue\")\n .build())\n .upgradeOptions(HelmUpgradeOptionsArgs.builder()\n .atomic(\"true\")\n .timeout(\"30\")\n .wait(\"waitValue\")\n .build())\n .build())\n .releaseName(\"{deployParameters.releaseName}\")\n .releaseNamespace(\"{deployParameters.namesapce}\")\n .values(\"\")\n .build())\n .build()),\n Map.entry(\"name\", \"fedrbac\")\n )),\n Map.entry(\"nfviType\", \"AzureArcKubernetes\")\n ))\n .networkFunctionType(\"ContainerizedNetworkFunction\")\n .build())\n .publisherName(\"TestPublisher\")\n .resourceGroupName(\"rg\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst networkFunctionDefinitionVersion = new azure_native.hybridnetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", {\n location: \"eastus\",\n networkFunctionDefinitionGroupName: \"TestNetworkFunctionDefinitionGroupName\",\n networkFunctionDefinitionVersionName: \"1.0.0\",\n properties: {\n deployParameters: \"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"releaseName\\\":{\\\"type\\\":\\\"string\\\"},\\\"namespace\\\":{\\\"type\\\":\\\"string\\\"}}}\",\n networkFunctionTemplate: {\n networkFunctionApplications: [{\n artifactProfile: {\n artifactStore: {\n id: \"/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore\",\n },\n helmArtifactProfile: {\n helmPackageName: \"fed-rbac\",\n helmPackageVersionRange: \"~2.1.3\",\n imagePullSecretsValuesPaths: [\"global.imagePullSecrets\"],\n registryValuesPaths: [\"global.registry.docker.repoPath\"],\n },\n },\n artifactType: \"HelmPackage\",\n dependsOnProfile: {\n installDependsOn: [],\n uninstallDependsOn: [],\n updateDependsOn: [],\n },\n deployParametersMappingRuleProfile: {\n applicationEnablement: azure_native.hybridnetwork.ApplicationEnablement.Enabled,\n helmMappingRuleProfile: {\n helmPackageVersion: \"2.1.3\",\n options: {\n installOptions: {\n atomic: \"true\",\n timeout: \"30\",\n wait: \"waitValue\",\n },\n upgradeOptions: {\n atomic: \"true\",\n timeout: \"30\",\n wait: \"waitValue\",\n },\n },\n releaseName: \"{deployParameters.releaseName}\",\n releaseNamespace: \"{deployParameters.namesapce}\",\n values: \"\",\n },\n },\n name: \"fedrbac\",\n }],\n nfviType: \"AzureArcKubernetes\",\n },\n networkFunctionType: \"ContainerizedNetworkFunction\",\n },\n publisherName: \"TestPublisher\",\n resourceGroupName: \"rg\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nnetwork_function_definition_version = azure_native.hybridnetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\",\n location=\"eastus\",\n network_function_definition_group_name=\"TestNetworkFunctionDefinitionGroupName\",\n network_function_definition_version_name=\"1.0.0\",\n properties={\n \"deploy_parameters\": \"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"releaseName\\\":{\\\"type\\\":\\\"string\\\"},\\\"namespace\\\":{\\\"type\\\":\\\"string\\\"}}}\",\n \"network_function_template\": {\n \"network_function_applications\": [{\n \"artifact_profile\": {\n \"artifact_store\": {\n \"id\": \"/subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore\",\n },\n \"helm_artifact_profile\": {\n \"helm_package_name\": \"fed-rbac\",\n \"helm_package_version_range\": \"~2.1.3\",\n \"image_pull_secrets_values_paths\": [\"global.imagePullSecrets\"],\n \"registry_values_paths\": [\"global.registry.docker.repoPath\"],\n },\n },\n \"artifact_type\": \"HelmPackage\",\n \"depends_on_profile\": {\n \"install_depends_on\": [],\n \"uninstall_depends_on\": [],\n \"update_depends_on\": [],\n },\n \"deploy_parameters_mapping_rule_profile\": {\n \"application_enablement\": azure_native.hybridnetwork.ApplicationEnablement.ENABLED,\n \"helm_mapping_rule_profile\": {\n \"helm_package_version\": \"2.1.3\",\n \"options\": {\n \"install_options\": {\n \"atomic\": \"true\",\n \"timeout\": \"30\",\n \"wait\": \"waitValue\",\n },\n \"upgrade_options\": {\n \"atomic\": \"true\",\n \"timeout\": \"30\",\n \"wait\": \"waitValue\",\n },\n },\n \"release_name\": \"{deployParameters.releaseName}\",\n \"release_namespace\": \"{deployParameters.namesapce}\",\n \"values\": \"\",\n },\n },\n \"name\": \"fedrbac\",\n }],\n \"nfvi_type\": \"AzureArcKubernetes\",\n },\n \"network_function_type\": \"ContainerizedNetworkFunction\",\n },\n publisher_name=\"TestPublisher\",\n resource_group_name=\"rg\")\n\n```\n\n```yaml\nresources:\n networkFunctionDefinitionVersion:\n type: azure-native:hybridnetwork:NetworkFunctionDefinitionVersion\n properties:\n location: eastus\n networkFunctionDefinitionGroupName: TestNetworkFunctionDefinitionGroupName\n networkFunctionDefinitionVersionName: 1.0.0\n properties:\n deployParameters: '{\"type\":\"object\",\"properties\":{\"releaseName\":{\"type\":\"string\"},\"namespace\":{\"type\":\"string\"}}}'\n networkFunctionTemplate:\n networkFunctionApplications:\n - artifactProfile:\n artifactStore:\n id: /subscriptions/subid/resourcegroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/testArtifactStore\n helmArtifactProfile:\n helmPackageName: fed-rbac\n helmPackageVersionRange: ~2.1.3\n imagePullSecretsValuesPaths:\n - global.imagePullSecrets\n registryValuesPaths:\n - global.registry.docker.repoPath\n artifactType: HelmPackage\n dependsOnProfile:\n installDependsOn: []\n uninstallDependsOn: []\n updateDependsOn: []\n deployParametersMappingRuleProfile:\n applicationEnablement: Enabled\n helmMappingRuleProfile:\n helmPackageVersion: 2.1.3\n options:\n installOptions:\n atomic: 'true'\n timeout: '30'\n wait: waitValue\n upgradeOptions:\n atomic: 'true'\n timeout: '30'\n wait: waitValue\n releaseName: '{deployParameters.releaseName}'\n releaseNamespace: '{deployParameters.namesapce}'\n values: \"\"\n name: fedrbac\n nfviType: AzureArcKubernetes\n networkFunctionType: ContainerizedNetworkFunction\n publisherName: TestPublisher\n resourceGroupName: rg\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a network function definition version resource for AzureCore VNF\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var networkFunctionDefinitionVersion = new AzureNative.HybridNetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", new()\n {\n Location = \"eastus\",\n NetworkFunctionDefinitionGroupName = \"TestNetworkFunctionDefinitionGroupName\",\n NetworkFunctionDefinitionVersionName = \"1.0.0\",\n Properties = new AzureNative.HybridNetwork.Inputs.VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs\n {\n DeployParameters = \"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\",\n Description = \"test NFDV for AzureCore\",\n NetworkFunctionTemplate = new AzureNative.HybridNetwork.Inputs.AzureCoreNetworkFunctionTemplateArgs\n {\n NetworkFunctionApplications = \n {\n new AzureNative.HybridNetwork.Inputs.AzureCoreNetworkFunctionVhdApplicationArgs\n {\n ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureCoreVhdImageArtifactProfileArgs\n {\n ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n VhdArtifactProfile = new AzureNative.HybridNetwork.Inputs.VhdImageArtifactProfileArgs\n {\n VhdName = \"test-image\",\n VhdVersion = \"1-0-0\",\n },\n },\n ArtifactType = \"VhdImageFile\",\n DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs\n {\n InstallDependsOn = new() { },\n UninstallDependsOn = new() { },\n UpdateDependsOn = new() { },\n },\n DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureCoreVhdImageDeployMappingRuleProfileArgs\n {\n ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Unknown,\n VhdImageMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.VhdImageMappingRuleProfileArgs\n {\n UserConfiguration = \"\",\n },\n },\n Name = \"testImageRole\",\n },\n new AzureNative.HybridNetwork.Inputs.AzureCoreNetworkFunctionArmTemplateApplicationArgs\n {\n ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureCoreArmTemplateArtifactProfileArgs\n {\n ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n TemplateArtifactProfile = new AzureNative.HybridNetwork.Inputs.ArmTemplateArtifactProfileArgs\n {\n TemplateName = \"test-template\",\n TemplateVersion = \"1.0.0\",\n },\n },\n ArtifactType = \"ArmTemplate\",\n DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs\n {\n InstallDependsOn = new[]\n {\n \"testImageRole\",\n },\n UninstallDependsOn = new[]\n {\n \"testImageRole\",\n },\n UpdateDependsOn = new[]\n {\n \"testImageRole\",\n },\n },\n DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureCoreArmTemplateDeployMappingRuleProfileArgs\n {\n ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Unknown,\n TemplateMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.ArmTemplateMappingRuleProfileArgs\n {\n TemplateParameters = \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n },\n },\n Name = \"testTemplateRole\",\n },\n },\n NfviType = \"AzureCore\",\n },\n NetworkFunctionType = \"VirtualNetworkFunction\",\n },\n PublisherName = \"TestPublisher\",\n ResourceGroupName = \"rg\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\thybridnetwork \"github.com/pulumi/pulumi-azure-native-sdk/hybridnetwork/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hybridnetwork.NewNetworkFunctionDefinitionVersion(ctx, \"networkFunctionDefinitionVersion\", \u0026hybridnetwork.NetworkFunctionDefinitionVersionArgs{\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tNetworkFunctionDefinitionGroupName: pulumi.String(\"TestNetworkFunctionDefinitionGroupName\"),\n\t\t\tNetworkFunctionDefinitionVersionName: pulumi.String(\"1.0.0\"),\n\t\t\tProperties: \u0026hybridnetwork.VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs{\n\t\t\t\tDeployParameters: pulumi.String(\"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\"),\n\t\t\t\tDescription: pulumi.String(\"test NFDV for AzureCore\"),\n\t\t\t\tNetworkFunctionTemplate: hybridnetwork.AzureCoreNetworkFunctionTemplate{\n\t\t\t\t\tNetworkFunctionApplications: []interface{}{\n\t\t\t\t\t\thybridnetwork.AzureCoreNetworkFunctionVhdApplication{\n\t\t\t\t\t\t\tArtifactProfile: hybridnetwork.AzureCoreVhdImageArtifactProfile{\n\t\t\t\t\t\t\t\tArtifactStore: hybridnetwork.ReferencedResource{\n\t\t\t\t\t\t\t\t\tId: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tVhdArtifactProfile: hybridnetwork.VhdImageArtifactProfile{\n\t\t\t\t\t\t\t\t\tVhdName: \"test-image\",\n\t\t\t\t\t\t\t\t\tVhdVersion: \"1-0-0\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tArtifactType: \"VhdImageFile\",\n\t\t\t\t\t\t\tDependsOnProfile: hybridnetwork.DependsOnProfile{\n\t\t\t\t\t\t\t\tInstallDependsOn: []interface{}{},\n\t\t\t\t\t\t\t\tUninstallDependsOn: []interface{}{},\n\t\t\t\t\t\t\t\tUpdateDependsOn: []interface{}{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDeployParametersMappingRuleProfile: hybridnetwork.AzureCoreVhdImageDeployMappingRuleProfile{\n\t\t\t\t\t\t\t\tApplicationEnablement: hybridnetwork.ApplicationEnablementUnknown,\n\t\t\t\t\t\t\t\tVhdImageMappingRuleProfile: hybridnetwork.VhdImageMappingRuleProfile{\n\t\t\t\t\t\t\t\t\tUserConfiguration: \"\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: \"testImageRole\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\thybridnetwork.AzureCoreNetworkFunctionArmTemplateApplication{\n\t\t\t\t\t\t\tArtifactProfile: hybridnetwork.AzureCoreArmTemplateArtifactProfile{\n\t\t\t\t\t\t\t\tArtifactStore: hybridnetwork.ReferencedResource{\n\t\t\t\t\t\t\t\t\tId: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tTemplateArtifactProfile: hybridnetwork.ArmTemplateArtifactProfile{\n\t\t\t\t\t\t\t\t\tTemplateName: \"test-template\",\n\t\t\t\t\t\t\t\t\tTemplateVersion: \"1.0.0\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tArtifactType: \"ArmTemplate\",\n\t\t\t\t\t\t\tDependsOnProfile: hybridnetwork.DependsOnProfile{\n\t\t\t\t\t\t\t\tInstallDependsOn: []string{\n\t\t\t\t\t\t\t\t\t\"testImageRole\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tUninstallDependsOn: []string{\n\t\t\t\t\t\t\t\t\t\"testImageRole\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tUpdateDependsOn: []string{\n\t\t\t\t\t\t\t\t\t\"testImageRole\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDeployParametersMappingRuleProfile: hybridnetwork.AzureCoreArmTemplateDeployMappingRuleProfile{\n\t\t\t\t\t\t\t\tApplicationEnablement: hybridnetwork.ApplicationEnablementUnknown,\n\t\t\t\t\t\t\t\tTemplateMappingRuleProfile: hybridnetwork.ArmTemplateMappingRuleProfile{\n\t\t\t\t\t\t\t\t\tTemplateParameters: \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: \"testTemplateRole\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNfviType: \"AzureCore\",\n\t\t\t\t},\n\t\t\t\tNetworkFunctionType: pulumi.String(\"VirtualNetworkFunction\"),\n\t\t\t},\n\t\t\tPublisherName: pulumi.String(\"TestPublisher\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersion;\nimport com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var networkFunctionDefinitionVersion = new NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", NetworkFunctionDefinitionVersionArgs.builder()\n .location(\"eastus\")\n .networkFunctionDefinitionGroupName(\"TestNetworkFunctionDefinitionGroupName\")\n .networkFunctionDefinitionVersionName(\"1.0.0\")\n .properties(VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs.builder()\n .deployParameters(\"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\")\n .description(\"test NFDV for AzureCore\")\n .networkFunctionTemplate(AzureCoreNetworkFunctionTemplateArgs.builder()\n .networkFunctionApplications(%!v(PANIC=Format method: interface conversion: model.Expression is *model.FunctionCallExpression, not *model.ObjectConsExpression))\n .nfviType(\"AzureCore\")\n .build())\n .networkFunctionType(\"VirtualNetworkFunction\")\n .build())\n .publisherName(\"TestPublisher\")\n .resourceGroupName(\"rg\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst networkFunctionDefinitionVersion = new azure_native.hybridnetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", {\n location: \"eastus\",\n networkFunctionDefinitionGroupName: \"TestNetworkFunctionDefinitionGroupName\",\n networkFunctionDefinitionVersionName: \"1.0.0\",\n properties: {\n deployParameters: \"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\",\n description: \"test NFDV for AzureCore\",\n networkFunctionTemplate: {\n networkFunctionApplications: [\n {\n artifactProfile: {\n artifactStore: {\n id: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n vhdArtifactProfile: {\n vhdName: \"test-image\",\n vhdVersion: \"1-0-0\",\n },\n },\n artifactType: \"VhdImageFile\",\n dependsOnProfile: {\n installDependsOn: [],\n uninstallDependsOn: [],\n updateDependsOn: [],\n },\n deployParametersMappingRuleProfile: {\n applicationEnablement: azure_native.hybridnetwork.ApplicationEnablement.Unknown,\n vhdImageMappingRuleProfile: {\n userConfiguration: \"\",\n },\n },\n name: \"testImageRole\",\n },\n {\n artifactProfile: {\n artifactStore: {\n id: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n templateArtifactProfile: {\n templateName: \"test-template\",\n templateVersion: \"1.0.0\",\n },\n },\n artifactType: \"ArmTemplate\",\n dependsOnProfile: {\n installDependsOn: [\"testImageRole\"],\n uninstallDependsOn: [\"testImageRole\"],\n updateDependsOn: [\"testImageRole\"],\n },\n deployParametersMappingRuleProfile: {\n applicationEnablement: azure_native.hybridnetwork.ApplicationEnablement.Unknown,\n templateMappingRuleProfile: {\n templateParameters: \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n },\n },\n name: \"testTemplateRole\",\n },\n ],\n nfviType: \"AzureCore\",\n },\n networkFunctionType: \"VirtualNetworkFunction\",\n },\n publisherName: \"TestPublisher\",\n resourceGroupName: \"rg\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nnetwork_function_definition_version = azure_native.hybridnetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\",\n location=\"eastus\",\n network_function_definition_group_name=\"TestNetworkFunctionDefinitionGroupName\",\n network_function_definition_version_name=\"1.0.0\",\n properties={\n \"deploy_parameters\": \"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\",\n \"description\": \"test NFDV for AzureCore\",\n \"network_function_template\": {\n \"network_function_applications\": [\n {\n \"artifact_profile\": {\n \"artifact_store\": {\n \"id\": \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n \"vhd_artifact_profile\": {\n \"vhd_name\": \"test-image\",\n \"vhd_version\": \"1-0-0\",\n },\n },\n \"artifact_type\": \"VhdImageFile\",\n \"depends_on_profile\": {\n \"install_depends_on\": [],\n \"uninstall_depends_on\": [],\n \"update_depends_on\": [],\n },\n \"deploy_parameters_mapping_rule_profile\": {\n \"application_enablement\": azure_native.hybridnetwork.ApplicationEnablement.UNKNOWN,\n \"vhd_image_mapping_rule_profile\": {\n \"user_configuration\": \"\",\n },\n },\n \"name\": \"testImageRole\",\n },\n {\n \"artifact_profile\": {\n \"artifact_store\": {\n \"id\": \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n \"template_artifact_profile\": {\n \"template_name\": \"test-template\",\n \"template_version\": \"1.0.0\",\n },\n },\n \"artifact_type\": \"ArmTemplate\",\n \"depends_on_profile\": {\n \"install_depends_on\": [\"testImageRole\"],\n \"uninstall_depends_on\": [\"testImageRole\"],\n \"update_depends_on\": [\"testImageRole\"],\n },\n \"deploy_parameters_mapping_rule_profile\": {\n \"application_enablement\": azure_native.hybridnetwork.ApplicationEnablement.UNKNOWN,\n \"template_mapping_rule_profile\": {\n \"template_parameters\": \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n },\n },\n \"name\": \"testTemplateRole\",\n },\n ],\n \"nfvi_type\": \"AzureCore\",\n },\n \"network_function_type\": \"VirtualNetworkFunction\",\n },\n publisher_name=\"TestPublisher\",\n resource_group_name=\"rg\")\n\n```\n\n```yaml\nresources:\n networkFunctionDefinitionVersion:\n type: azure-native:hybridnetwork:NetworkFunctionDefinitionVersion\n properties:\n location: eastus\n networkFunctionDefinitionGroupName: TestNetworkFunctionDefinitionGroupName\n networkFunctionDefinitionVersionName: 1.0.0\n properties:\n deployParameters: '{\"virtualMachineName\":{\"type\":\"string\"},\"cpuCores\":{\"type\":\"int\"},\"memorySizeGB\":{\"type\":\"int\"},\"cloudServicesNetworkAttachment\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]},\"networkAttachments\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]}},\"storageProfile\":{\"type\":\"object\",\"properties\":{\"osDisk\":{\"type\":\"object\",\"properties\":{\"createOption\":{\"type\":\"string\"},\"deleteOption\":{\"type\":\"string\"},\"diskSizeGB\":{\"type\":\"integer\"}},\"required\":[\"diskSizeGB\"]}},\"required\":[\"osDisk\"]},\"sshPublicKeys\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"keyData\":{\"type\":\"string\"}},\"required\":[\"keyData\"]}},\"userData\":{\"type\":\"string\"},\"adminUsername\":{\"type\":\"string\"},\"bootMethod\":{\"type\":\"string\",\"default\":\"UEFI\",\"enum\":[\"UEFI\",\"BIOS\"]},\"isolateEmulatorThread\":{\"type\":\"string\"},\"virtioInterface\":{\"type\":\"string\"},\"placementHints\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hintType\":{\"type\":\"string\",\"enum\":[\"Affinity\",\"AntiAffinity\"]},\"resourceId\":{\"type\":\"string\"},\"schedulingExecution\":{\"type\":\"string\",\"enum\":[\"Soft\",\"Hard\"]},\"scope\":{\"type\":\"string\"}},\"required\":[\"hintType\",\"schedulingExecution\",\"resourceId\",\"scope\"]}}}'\n description: test NFDV for AzureCore\n networkFunctionTemplate:\n networkFunctionApplications:\n - artifactProfile:\n artifactStore:\n id: /subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\n vhdArtifactProfile:\n vhdName: test-image\n vhdVersion: 1-0-0\n artifactType: VhdImageFile\n dependsOnProfile:\n installDependsOn: []\n uninstallDependsOn: []\n updateDependsOn: []\n deployParametersMappingRuleProfile:\n applicationEnablement: Unknown\n vhdImageMappingRuleProfile:\n userConfiguration: \"\"\n name: testImageRole\n - artifactProfile:\n artifactStore:\n id: /subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\n templateArtifactProfile:\n templateName: test-template\n templateVersion: 1.0.0\n artifactType: ArmTemplate\n dependsOnProfile:\n installDependsOn:\n - testImageRole\n uninstallDependsOn:\n - testImageRole\n updateDependsOn:\n - testImageRole\n deployParametersMappingRuleProfile:\n applicationEnablement: Unknown\n templateMappingRuleProfile:\n templateParameters: '{\"virtualMachineName\":\"{deployParameters.virtualMachineName}\",\"cpuCores\":\"{deployParameters.cpuCores}\",\"memorySizeGB\":\"{deployParameters.memorySizeGB}\",\"cloudServicesNetworkAttachment\":\"{deployParameters.cloudServicesNetworkAttachment}\",\"networkAttachments\":\"{deployParameters.networkAttachments}\",\"sshPublicKeys\":\"{deployParameters.sshPublicKeys}\",\"storageProfile\":\"{deployParameters.storageProfile}\",\"isolateEmulatorThread\":\"{deployParameters.isolateEmulatorThread}\",\"virtioInterface\":\"{deployParameters.virtioInterface}\",\"userData\":\"{deployParameters.userData}\",\"adminUsername\":\"{deployParameters.adminUsername}\",\"bootMethod\":\"{deployParameters.bootMethod}\",\"placementHints\":\"{deployParameters.placementHints}\"}'\n name: testTemplateRole\n nfviType: AzureCore\n networkFunctionType: VirtualNetworkFunction\n publisherName: TestPublisher\n resourceGroupName: rg\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a network function definition version resource for AzureOperatorNexus VNF\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var networkFunctionDefinitionVersion = new AzureNative.HybridNetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", new()\n {\n Location = \"eastus\",\n NetworkFunctionDefinitionGroupName = \"TestNetworkFunctionDefinitionGroupName\",\n NetworkFunctionDefinitionVersionName = \"1.0.0\",\n Properties = new AzureNative.HybridNetwork.Inputs.VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs\n {\n DeployParameters = \"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"extendedLocationName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\",\n Description = \"test NFDV for AzureOperatorNexus\",\n NetworkFunctionTemplate = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusNetworkFunctionTemplateArgs\n {\n NetworkFunctionApplications = \n {\n new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusNetworkFunctionImageApplicationArgs\n {\n ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusImageArtifactProfileArgs\n {\n ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n ImageArtifactProfile = new AzureNative.HybridNetwork.Inputs.ImageArtifactProfileArgs\n {\n ImageName = \"test-image\",\n ImageVersion = \"1.0.0\",\n },\n },\n ArtifactType = \"ImageFile\",\n DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs\n {\n InstallDependsOn = new() { },\n UninstallDependsOn = new() { },\n UpdateDependsOn = new() { },\n },\n DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusImageDeployMappingRuleProfileArgs\n {\n ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Unknown,\n ImageMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.ImageMappingRuleProfileArgs\n {\n UserConfiguration = \"\",\n },\n },\n Name = \"testImageRole\",\n },\n new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusNetworkFunctionArmTemplateApplicationArgs\n {\n ArtifactProfile = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusArmTemplateArtifactProfileArgs\n {\n ArtifactStore = new AzureNative.HybridNetwork.Inputs.ReferencedResourceArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n TemplateArtifactProfile = new AzureNative.HybridNetwork.Inputs.ArmTemplateArtifactProfileArgs\n {\n TemplateName = \"test-template\",\n TemplateVersion = \"1.0.0\",\n },\n },\n ArtifactType = \"ArmTemplate\",\n DependsOnProfile = new AzureNative.HybridNetwork.Inputs.DependsOnProfileArgs\n {\n InstallDependsOn = new[]\n {\n \"testImageRole\",\n },\n UninstallDependsOn = new[]\n {\n \"testImageRole\",\n },\n UpdateDependsOn = new[]\n {\n \"testImageRole\",\n },\n },\n DeployParametersMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.AzureOperatorNexusArmTemplateDeployMappingRuleProfileArgs\n {\n ApplicationEnablement = AzureNative.HybridNetwork.ApplicationEnablement.Unknown,\n TemplateMappingRuleProfile = new AzureNative.HybridNetwork.Inputs.ArmTemplateMappingRuleProfileArgs\n {\n TemplateParameters = \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"extendedLocationName\\\":\\\"{deployParameters.extendedLocationName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n },\n },\n Name = \"testTemplateRole\",\n },\n },\n NfviType = \"AzureOperatorNexus\",\n },\n NetworkFunctionType = \"VirtualNetworkFunction\",\n },\n PublisherName = \"TestPublisher\",\n ResourceGroupName = \"rg\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\thybridnetwork \"github.com/pulumi/pulumi-azure-native-sdk/hybridnetwork/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := hybridnetwork.NewNetworkFunctionDefinitionVersion(ctx, \"networkFunctionDefinitionVersion\", \u0026hybridnetwork.NetworkFunctionDefinitionVersionArgs{\n\t\t\tLocation: pulumi.String(\"eastus\"),\n\t\t\tNetworkFunctionDefinitionGroupName: pulumi.String(\"TestNetworkFunctionDefinitionGroupName\"),\n\t\t\tNetworkFunctionDefinitionVersionName: pulumi.String(\"1.0.0\"),\n\t\t\tProperties: \u0026hybridnetwork.VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs{\n\t\t\t\tDeployParameters: pulumi.String(\"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"extendedLocationName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\"),\n\t\t\t\tDescription: pulumi.String(\"test NFDV for AzureOperatorNexus\"),\n\t\t\t\tNetworkFunctionTemplate: hybridnetwork.AzureOperatorNexusNetworkFunctionTemplate{\n\t\t\t\t\tNetworkFunctionApplications: []interface{}{\n\t\t\t\t\t\thybridnetwork.AzureOperatorNexusNetworkFunctionImageApplication{\n\t\t\t\t\t\t\tArtifactProfile: hybridnetwork.AzureOperatorNexusImageArtifactProfile{\n\t\t\t\t\t\t\t\tArtifactStore: hybridnetwork.ReferencedResource{\n\t\t\t\t\t\t\t\t\tId: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tImageArtifactProfile: hybridnetwork.ImageArtifactProfile{\n\t\t\t\t\t\t\t\t\tImageName: \"test-image\",\n\t\t\t\t\t\t\t\t\tImageVersion: \"1.0.0\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tArtifactType: \"ImageFile\",\n\t\t\t\t\t\t\tDependsOnProfile: hybridnetwork.DependsOnProfile{\n\t\t\t\t\t\t\t\tInstallDependsOn: []interface{}{},\n\t\t\t\t\t\t\t\tUninstallDependsOn: []interface{}{},\n\t\t\t\t\t\t\t\tUpdateDependsOn: []interface{}{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDeployParametersMappingRuleProfile: hybridnetwork.AzureOperatorNexusImageDeployMappingRuleProfile{\n\t\t\t\t\t\t\t\tApplicationEnablement: hybridnetwork.ApplicationEnablementUnknown,\n\t\t\t\t\t\t\t\tImageMappingRuleProfile: hybridnetwork.ImageMappingRuleProfile{\n\t\t\t\t\t\t\t\t\tUserConfiguration: \"\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: \"testImageRole\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\thybridnetwork.AzureOperatorNexusNetworkFunctionArmTemplateApplication{\n\t\t\t\t\t\t\tArtifactProfile: hybridnetwork.AzureOperatorNexusArmTemplateArtifactProfile{\n\t\t\t\t\t\t\t\tArtifactStore: hybridnetwork.ReferencedResource{\n\t\t\t\t\t\t\t\t\tId: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tTemplateArtifactProfile: hybridnetwork.ArmTemplateArtifactProfile{\n\t\t\t\t\t\t\t\t\tTemplateName: \"test-template\",\n\t\t\t\t\t\t\t\t\tTemplateVersion: \"1.0.0\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tArtifactType: \"ArmTemplate\",\n\t\t\t\t\t\t\tDependsOnProfile: hybridnetwork.DependsOnProfile{\n\t\t\t\t\t\t\t\tInstallDependsOn: []string{\n\t\t\t\t\t\t\t\t\t\"testImageRole\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tUninstallDependsOn: []string{\n\t\t\t\t\t\t\t\t\t\"testImageRole\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tUpdateDependsOn: []string{\n\t\t\t\t\t\t\t\t\t\"testImageRole\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDeployParametersMappingRuleProfile: hybridnetwork.AzureOperatorNexusArmTemplateDeployMappingRuleProfile{\n\t\t\t\t\t\t\t\tApplicationEnablement: hybridnetwork.ApplicationEnablementUnknown,\n\t\t\t\t\t\t\t\tTemplateMappingRuleProfile: hybridnetwork.ArmTemplateMappingRuleProfile{\n\t\t\t\t\t\t\t\t\tTemplateParameters: \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"extendedLocationName\\\":\\\"{deployParameters.extendedLocationName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: \"testTemplateRole\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tNfviType: \"AzureOperatorNexus\",\n\t\t\t\t},\n\t\t\t\tNetworkFunctionType: pulumi.String(\"VirtualNetworkFunction\"),\n\t\t\t},\n\t\t\tPublisherName: pulumi.String(\"TestPublisher\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersion;\nimport com.pulumi.azurenative.hybridnetwork.NetworkFunctionDefinitionVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var networkFunctionDefinitionVersion = new NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", NetworkFunctionDefinitionVersionArgs.builder()\n .location(\"eastus\")\n .networkFunctionDefinitionGroupName(\"TestNetworkFunctionDefinitionGroupName\")\n .networkFunctionDefinitionVersionName(\"1.0.0\")\n .properties(VirtualNetworkFunctionNetworkFunctionDefinitionVersionArgs.builder()\n .deployParameters(\"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"extendedLocationName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\")\n .description(\"test NFDV for AzureOperatorNexus\")\n .networkFunctionTemplate(AzureOperatorNexusNetworkFunctionTemplateArgs.builder()\n .networkFunctionApplications(%!v(PANIC=Format method: interface conversion: model.Expression is *model.FunctionCallExpression, not *model.ObjectConsExpression))\n .nfviType(\"AzureOperatorNexus\")\n .build())\n .networkFunctionType(\"VirtualNetworkFunction\")\n .build())\n .publisherName(\"TestPublisher\")\n .resourceGroupName(\"rg\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst networkFunctionDefinitionVersion = new azure_native.hybridnetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\", {\n location: \"eastus\",\n networkFunctionDefinitionGroupName: \"TestNetworkFunctionDefinitionGroupName\",\n networkFunctionDefinitionVersionName: \"1.0.0\",\n properties: {\n deployParameters: \"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"extendedLocationName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\",\n description: \"test NFDV for AzureOperatorNexus\",\n networkFunctionTemplate: {\n networkFunctionApplications: [\n {\n artifactProfile: {\n artifactStore: {\n id: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n imageArtifactProfile: {\n imageName: \"test-image\",\n imageVersion: \"1.0.0\",\n },\n },\n artifactType: \"ImageFile\",\n dependsOnProfile: {\n installDependsOn: [],\n uninstallDependsOn: [],\n updateDependsOn: [],\n },\n deployParametersMappingRuleProfile: {\n applicationEnablement: azure_native.hybridnetwork.ApplicationEnablement.Unknown,\n imageMappingRuleProfile: {\n userConfiguration: \"\",\n },\n },\n name: \"testImageRole\",\n },\n {\n artifactProfile: {\n artifactStore: {\n id: \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n templateArtifactProfile: {\n templateName: \"test-template\",\n templateVersion: \"1.0.0\",\n },\n },\n artifactType: \"ArmTemplate\",\n dependsOnProfile: {\n installDependsOn: [\"testImageRole\"],\n uninstallDependsOn: [\"testImageRole\"],\n updateDependsOn: [\"testImageRole\"],\n },\n deployParametersMappingRuleProfile: {\n applicationEnablement: azure_native.hybridnetwork.ApplicationEnablement.Unknown,\n templateMappingRuleProfile: {\n templateParameters: \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"extendedLocationName\\\":\\\"{deployParameters.extendedLocationName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n },\n },\n name: \"testTemplateRole\",\n },\n ],\n nfviType: \"AzureOperatorNexus\",\n },\n networkFunctionType: \"VirtualNetworkFunction\",\n },\n publisherName: \"TestPublisher\",\n resourceGroupName: \"rg\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nnetwork_function_definition_version = azure_native.hybridnetwork.NetworkFunctionDefinitionVersion(\"networkFunctionDefinitionVersion\",\n location=\"eastus\",\n network_function_definition_group_name=\"TestNetworkFunctionDefinitionGroupName\",\n network_function_definition_version_name=\"1.0.0\",\n properties={\n \"deploy_parameters\": \"{\\\"virtualMachineName\\\":{\\\"type\\\":\\\"string\\\"},\\\"extendedLocationName\\\":{\\\"type\\\":\\\"string\\\"},\\\"cpuCores\\\":{\\\"type\\\":\\\"int\\\"},\\\"memorySizeGB\\\":{\\\"type\\\":\\\"int\\\"},\\\"cloudServicesNetworkAttachment\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]},\\\"networkAttachments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"networkAttachmentName\\\":{\\\"type\\\":\\\"string\\\"},\\\"attachedNetworkId\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipAllocationMethod\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv4Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"ipv6Address\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultGateway\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"attachedNetworkId\\\",\\\"ipAllocationMethod\\\"]}},\\\"storageProfile\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"osDisk\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"createOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"deleteOption\\\":{\\\"type\\\":\\\"string\\\"},\\\"diskSizeGB\\\":{\\\"type\\\":\\\"integer\\\"}},\\\"required\\\":[\\\"diskSizeGB\\\"]}},\\\"required\\\":[\\\"osDisk\\\"]},\\\"sshPublicKeys\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"keyData\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"keyData\\\"]}},\\\"userData\\\":{\\\"type\\\":\\\"string\\\"},\\\"adminUsername\\\":{\\\"type\\\":\\\"string\\\"},\\\"bootMethod\\\":{\\\"type\\\":\\\"string\\\",\\\"default\\\":\\\"UEFI\\\",\\\"enum\\\":[\\\"UEFI\\\",\\\"BIOS\\\"]},\\\"isolateEmulatorThread\\\":{\\\"type\\\":\\\"string\\\"},\\\"virtioInterface\\\":{\\\"type\\\":\\\"string\\\"},\\\"placementHints\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"hintType\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Affinity\\\",\\\"AntiAffinity\\\"]},\\\"resourceId\\\":{\\\"type\\\":\\\"string\\\"},\\\"schedulingExecution\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"Soft\\\",\\\"Hard\\\"]},\\\"scope\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"hintType\\\",\\\"schedulingExecution\\\",\\\"resourceId\\\",\\\"scope\\\"]}}}\",\n \"description\": \"test NFDV for AzureOperatorNexus\",\n \"network_function_template\": {\n \"network_function_applications\": [\n {\n \"artifact_profile\": {\n \"artifact_store\": {\n \"id\": \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n \"image_artifact_profile\": {\n \"image_name\": \"test-image\",\n \"image_version\": \"1.0.0\",\n },\n },\n \"artifact_type\": \"ImageFile\",\n \"depends_on_profile\": {\n \"install_depends_on\": [],\n \"uninstall_depends_on\": [],\n \"update_depends_on\": [],\n },\n \"deploy_parameters_mapping_rule_profile\": {\n \"application_enablement\": azure_native.hybridnetwork.ApplicationEnablement.UNKNOWN,\n \"image_mapping_rule_profile\": {\n \"user_configuration\": \"\",\n },\n },\n \"name\": \"testImageRole\",\n },\n {\n \"artifact_profile\": {\n \"artifact_store\": {\n \"id\": \"/subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\",\n },\n \"template_artifact_profile\": {\n \"template_name\": \"test-template\",\n \"template_version\": \"1.0.0\",\n },\n },\n \"artifact_type\": \"ArmTemplate\",\n \"depends_on_profile\": {\n \"install_depends_on\": [\"testImageRole\"],\n \"uninstall_depends_on\": [\"testImageRole\"],\n \"update_depends_on\": [\"testImageRole\"],\n },\n \"deploy_parameters_mapping_rule_profile\": {\n \"application_enablement\": azure_native.hybridnetwork.ApplicationEnablement.UNKNOWN,\n \"template_mapping_rule_profile\": {\n \"template_parameters\": \"{\\\"virtualMachineName\\\":\\\"{deployParameters.virtualMachineName}\\\",\\\"extendedLocationName\\\":\\\"{deployParameters.extendedLocationName}\\\",\\\"cpuCores\\\":\\\"{deployParameters.cpuCores}\\\",\\\"memorySizeGB\\\":\\\"{deployParameters.memorySizeGB}\\\",\\\"cloudServicesNetworkAttachment\\\":\\\"{deployParameters.cloudServicesNetworkAttachment}\\\",\\\"networkAttachments\\\":\\\"{deployParameters.networkAttachments}\\\",\\\"sshPublicKeys\\\":\\\"{deployParameters.sshPublicKeys}\\\",\\\"storageProfile\\\":\\\"{deployParameters.storageProfile}\\\",\\\"isolateEmulatorThread\\\":\\\"{deployParameters.isolateEmulatorThread}\\\",\\\"virtioInterface\\\":\\\"{deployParameters.virtioInterface}\\\",\\\"userData\\\":\\\"{deployParameters.userData}\\\",\\\"adminUsername\\\":\\\"{deployParameters.adminUsername}\\\",\\\"bootMethod\\\":\\\"{deployParameters.bootMethod}\\\",\\\"placementHints\\\":\\\"{deployParameters.placementHints}\\\"}\",\n },\n },\n \"name\": \"testTemplateRole\",\n },\n ],\n \"nfvi_type\": \"AzureOperatorNexus\",\n },\n \"network_function_type\": \"VirtualNetworkFunction\",\n },\n publisher_name=\"TestPublisher\",\n resource_group_name=\"rg\")\n\n```\n\n```yaml\nresources:\n networkFunctionDefinitionVersion:\n type: azure-native:hybridnetwork:NetworkFunctionDefinitionVersion\n properties:\n location: eastus\n networkFunctionDefinitionGroupName: TestNetworkFunctionDefinitionGroupName\n networkFunctionDefinitionVersionName: 1.0.0\n properties:\n deployParameters: '{\"virtualMachineName\":{\"type\":\"string\"},\"extendedLocationName\":{\"type\":\"string\"},\"cpuCores\":{\"type\":\"int\"},\"memorySizeGB\":{\"type\":\"int\"},\"cloudServicesNetworkAttachment\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]},\"networkAttachments\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"networkAttachmentName\":{\"type\":\"string\"},\"attachedNetworkId\":{\"type\":\"string\"},\"ipAllocationMethod\":{\"type\":\"string\"},\"ipv4Address\":{\"type\":\"string\"},\"ipv6Address\":{\"type\":\"string\"},\"defaultGateway\":{\"type\":\"string\"}},\"required\":[\"attachedNetworkId\",\"ipAllocationMethod\"]}},\"storageProfile\":{\"type\":\"object\",\"properties\":{\"osDisk\":{\"type\":\"object\",\"properties\":{\"createOption\":{\"type\":\"string\"},\"deleteOption\":{\"type\":\"string\"},\"diskSizeGB\":{\"type\":\"integer\"}},\"required\":[\"diskSizeGB\"]}},\"required\":[\"osDisk\"]},\"sshPublicKeys\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"keyData\":{\"type\":\"string\"}},\"required\":[\"keyData\"]}},\"userData\":{\"type\":\"string\"},\"adminUsername\":{\"type\":\"string\"},\"bootMethod\":{\"type\":\"string\",\"default\":\"UEFI\",\"enum\":[\"UEFI\",\"BIOS\"]},\"isolateEmulatorThread\":{\"type\":\"string\"},\"virtioInterface\":{\"type\":\"string\"},\"placementHints\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hintType\":{\"type\":\"string\",\"enum\":[\"Affinity\",\"AntiAffinity\"]},\"resourceId\":{\"type\":\"string\"},\"schedulingExecution\":{\"type\":\"string\",\"enum\":[\"Soft\",\"Hard\"]},\"scope\":{\"type\":\"string\"}},\"required\":[\"hintType\",\"schedulingExecution\",\"resourceId\",\"scope\"]}}}'\n description: test NFDV for AzureOperatorNexus\n networkFunctionTemplate:\n networkFunctionApplications:\n - artifactProfile:\n artifactStore:\n id: /subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\n imageArtifactProfile:\n imageName: test-image\n imageVersion: 1.0.0\n artifactType: ImageFile\n dependsOnProfile:\n installDependsOn: []\n uninstallDependsOn: []\n updateDependsOn: []\n deployParametersMappingRuleProfile:\n applicationEnablement: Unknown\n imageMappingRuleProfile:\n userConfiguration: \"\"\n name: testImageRole\n - artifactProfile:\n artifactStore:\n id: /subscriptions/subid/resourceGroups/rg/providers/microsoft.hybridnetwork/publishers/TestPublisher/artifactStores/TestArtifactStore\n templateArtifactProfile:\n templateName: test-template\n templateVersion: 1.0.0\n artifactType: ArmTemplate\n dependsOnProfile:\n installDependsOn:\n - testImageRole\n uninstallDependsOn:\n - testImageRole\n updateDependsOn:\n - testImageRole\n deployParametersMappingRuleProfile:\n applicationEnablement: Unknown\n templateMappingRuleProfile:\n templateParameters: '{\"virtualMachineName\":\"{deployParameters.virtualMachineName}\",\"extendedLocationName\":\"{deployParameters.extendedLocationName}\",\"cpuCores\":\"{deployParameters.cpuCores}\",\"memorySizeGB\":\"{deployParameters.memorySizeGB}\",\"cloudServicesNetworkAttachment\":\"{deployParameters.cloudServicesNetworkAttachment}\",\"networkAttachments\":\"{deployParameters.networkAttachments}\",\"sshPublicKeys\":\"{deployParameters.sshPublicKeys}\",\"storageProfile\":\"{deployParameters.storageProfile}\",\"isolateEmulatorThread\":\"{deployParameters.isolateEmulatorThread}\",\"virtioInterface\":\"{deployParameters.virtioInterface}\",\"userData\":\"{deployParameters.userData}\",\"adminUsername\":\"{deployParameters.adminUsername}\",\"bootMethod\":\"{deployParameters.bootMethod}\",\"placementHints\":\"{deployParameters.placementHints}\"}'\n name: testTemplateRole\n nfviType: AzureOperatorNexus\n networkFunctionType: VirtualNetworkFunction\n publisherName: TestPublisher\n resourceGroupName: rg\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:hybridnetwork:NetworkFunctionDefinitionVersion TestVersion /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/publishers/{publisherName}/networkFunctionDefinitionGroups/{networkFunctionDefinitionGroupName}/networkFunctionDefinitionVersions/{networkFunctionDefinitionVersionName} \n```\n", "properties": { "azureApiVersion": { "type": "string", @@ -780520,7 +780738,7 @@ ] }, "azure-native:machinelearningservices:LabelingJob": { - "description": "Azure Resource Manager resource envelope.\n\nUses Azure REST API version 2024-01-01-preview. In version 2.x of the Azure Native provider, it used API version 2023-04-01-preview.\n\nOther available API versions: 2020-09-01-preview, 2021-03-01-preview, 2022-06-01-preview, 2022-10-01-preview, 2022-12-01-preview, 2023-02-01-preview, 2023-04-01-preview, 2023-06-01-preview, 2023-08-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native machinelearningservices [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### CreateOrUpdate Labeling Job.\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var labelingJob = new AzureNative.MachineLearningServices.LabelingJob(\"labelingJob\", new()\n {\n Id = \"testLabelingJob\",\n LabelingJobProperties = new AzureNative.MachineLearningServices.Inputs.LabelingJobArgs\n {\n Description = \"string\",\n JobInstructions = new AzureNative.MachineLearningServices.Inputs.LabelingJobInstructionsArgs\n {\n Uri = \"link/to/instructions\",\n },\n JobType = \"Labeling\",\n LabelCategories = \n {\n { \"myCategory1\", new AzureNative.MachineLearningServices.Inputs.LabelCategoryArgs\n {\n Classes = \n {\n { \"myLabelClass1\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass1\",\n Subclasses = null,\n } },\n { \"myLabelClass2\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass2\",\n Subclasses = null,\n } },\n },\n DisplayName = \"myCategory1Title\",\n MultiSelect = AzureNative.MachineLearningServices.MultiSelect.Disabled,\n } },\n { \"myCategory2\", new AzureNative.MachineLearningServices.Inputs.LabelCategoryArgs\n {\n Classes = \n {\n { \"myLabelClass1\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass1\",\n Subclasses = null,\n } },\n { \"myLabelClass2\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass2\",\n Subclasses = null,\n } },\n },\n DisplayName = \"myCategory2Title\",\n MultiSelect = AzureNative.MachineLearningServices.MultiSelect.Disabled,\n } },\n },\n LabelingJobMediaProperties = new AzureNative.MachineLearningServices.Inputs.LabelingJobImagePropertiesArgs\n {\n MediaType = \"Image\",\n },\n MlAssistConfiguration = new AzureNative.MachineLearningServices.Inputs.MLAssistConfigurationEnabledArgs\n {\n InferencingComputeBinding = \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n MlAssist = \"Enabled\",\n TrainingComputeBinding = \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n Properties = \n {\n { \"additionalProp1\", \"string\" },\n { \"additionalProp2\", \"string\" },\n { \"additionalProp3\", \"string\" },\n },\n Tags = \n {\n { \"additionalProp1\", \"string\" },\n { \"additionalProp2\", \"string\" },\n { \"additionalProp3\", \"string\" },\n },\n },\n ResourceGroupName = \"workspace-1234\",\n WorkspaceName = \"testworkspace\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmachinelearningservices \"github.com/pulumi/pulumi-azure-native-sdk/machinelearningservices/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := machinelearningservices.NewLabelingJob(ctx, \"labelingJob\", \u0026machinelearningservices.LabelingJobArgs{\n\t\t\tId: pulumi.String(\"testLabelingJob\"),\n\t\t\tLabelingJobProperties: \u0026machinelearningservices.LabelingJobTypeArgs{\n\t\t\t\tDescription: pulumi.String(\"string\"),\n\t\t\t\tJobInstructions: \u0026machinelearningservices.LabelingJobInstructionsArgs{\n\t\t\t\t\tUri: pulumi.String(\"link/to/instructions\"),\n\t\t\t\t},\n\t\t\t\tJobType: pulumi.String(\"Labeling\"),\n\t\t\t\tLabelCategories: machinelearningservices.LabelCategoryMap{\n\t\t\t\t\t\"myCategory1\": \u0026machinelearningservices.LabelCategoryArgs{\n\t\t\t\t\t\tClasses: machinelearningservices.LabelClassMap{\n\t\t\t\t\t\t\t\"myLabelClass1\": \u0026machinelearningservices.LabelClassArgs{\n\t\t\t\t\t\t\t\tDisplayName: pulumi.String(\"myLabelClass1\"),\n\t\t\t\t\t\t\t\tSubclasses: machinelearningservices.LabelClassMap{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"myLabelClass2\": \u0026machinelearningservices.LabelClassArgs{\n\t\t\t\t\t\t\t\tDisplayName: pulumi.String(\"myLabelClass2\"),\n\t\t\t\t\t\t\t\tSubclasses: machinelearningservices.LabelClassMap{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDisplayName: pulumi.String(\"myCategory1Title\"),\n\t\t\t\t\t\tMultiSelect: pulumi.String(machinelearningservices.MultiSelectDisabled),\n\t\t\t\t\t},\n\t\t\t\t\t\"myCategory2\": \u0026machinelearningservices.LabelCategoryArgs{\n\t\t\t\t\t\tClasses: machinelearningservices.LabelClassMap{\n\t\t\t\t\t\t\t\"myLabelClass1\": \u0026machinelearningservices.LabelClassArgs{\n\t\t\t\t\t\t\t\tDisplayName: pulumi.String(\"myLabelClass1\"),\n\t\t\t\t\t\t\t\tSubclasses: machinelearningservices.LabelClassMap{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"myLabelClass2\": \u0026machinelearningservices.LabelClassArgs{\n\t\t\t\t\t\t\t\tDisplayName: pulumi.String(\"myLabelClass2\"),\n\t\t\t\t\t\t\t\tSubclasses: machinelearningservices.LabelClassMap{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDisplayName: pulumi.String(\"myCategory2Title\"),\n\t\t\t\t\t\tMultiSelect: pulumi.String(machinelearningservices.MultiSelectDisabled),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLabelingJobMediaProperties: machinelearningservices.LabelingJobImageProperties{\n\t\t\t\t\tMediaType: \"Image\",\n\t\t\t\t},\n\t\t\t\tMlAssistConfiguration: machinelearningservices.MLAssistConfigurationEnabled{\n\t\t\t\t\tInferencingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n\t\t\t\t\tMlAssist: \"Enabled\",\n\t\t\t\t\tTrainingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n\t\t\t\t},\n\t\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\t\"additionalProp1\": pulumi.String(\"string\"),\n\t\t\t\t\t\"additionalProp2\": pulumi.String(\"string\"),\n\t\t\t\t\t\"additionalProp3\": pulumi.String(\"string\"),\n\t\t\t\t},\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"additionalProp1\": pulumi.String(\"string\"),\n\t\t\t\t\t\"additionalProp2\": pulumi.String(\"string\"),\n\t\t\t\t\t\"additionalProp3\": pulumi.String(\"string\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"workspace-1234\"),\n\t\t\tWorkspaceName: pulumi.String(\"testworkspace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.machinelearningservices.LabelingJob;\nimport com.pulumi.azurenative.machinelearningservices.inputs.LabelingJobInstructionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var labelingJob = new LabelingJob(\"labelingJob\", LabelingJobArgs.builder()\n .id(\"testLabelingJob\")\n .labelingJobProperties(LabelingJobArgs.builder()\n .description(\"string\")\n .jobInstructions(LabelingJobInstructionsArgs.builder()\n .uri(\"link/to/instructions\")\n .build())\n .jobType(\"Labeling\")\n .labelCategories(Map.ofEntries(\n Map.entry(\"myCategory1\", LabelCategoryArgs.builder()\n .classes(Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", Map.ofEntries(\n ))\n )),\n Map.entry(\"myLabelClass2\", LabelClassArgs.builder()\n .displayName(\"myLabelClass2\")\n .subclasses(Map.ofEntries(\n ))\n .build())\n ))\n .displayName(\"myCategory1Title\")\n .multiSelect(\"Disabled\")\n .build()),\n Map.entry(\"myCategory2\", LabelCategoryArgs.builder()\n .classes(Map.ofEntries(\n Map.entry(\"myLabelClass1\", LabelClassArgs.builder()\n .displayName(\"myLabelClass1\")\n .subclasses(Map.ofEntries(\n ))\n .build()),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", Map.ofEntries(\n ))\n ))\n ))\n .displayName(\"myCategory2Title\")\n .multiSelect(\"Disabled\")\n .build())\n ))\n .labelingJobMediaProperties(LabelingJobImagePropertiesArgs.builder()\n .mediaType(\"Image\")\n .build())\n .mlAssistConfiguration(MLAssistConfigurationEnabledArgs.builder()\n .inferencingComputeBinding(\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\")\n .mlAssist(\"Enabled\")\n .trainingComputeBinding(\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\")\n .build())\n .properties(Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n ))\n .tags(Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n ))\n .build())\n .resourceGroupName(\"workspace-1234\")\n .workspaceName(\"testworkspace\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst labelingJob = new azure_native.machinelearningservices.LabelingJob(\"labelingJob\", {\n id: \"testLabelingJob\",\n labelingJobProperties: {\n description: \"string\",\n jobInstructions: {\n uri: \"link/to/instructions\",\n },\n jobType: \"Labeling\",\n labelCategories: {\n myCategory1: {\n classes: {\n myLabelClass1: {\n displayName: \"myLabelClass1\",\n subclasses: {},\n },\n myLabelClass2: {\n displayName: \"myLabelClass2\",\n subclasses: {},\n },\n },\n displayName: \"myCategory1Title\",\n multiSelect: azure_native.machinelearningservices.MultiSelect.Disabled,\n },\n myCategory2: {\n classes: {\n myLabelClass1: {\n displayName: \"myLabelClass1\",\n subclasses: {},\n },\n myLabelClass2: {\n displayName: \"myLabelClass2\",\n subclasses: {},\n },\n },\n displayName: \"myCategory2Title\",\n multiSelect: azure_native.machinelearningservices.MultiSelect.Disabled,\n },\n },\n labelingJobMediaProperties: {\n mediaType: \"Image\",\n },\n mlAssistConfiguration: {\n inferencingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n mlAssist: \"Enabled\",\n trainingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n properties: {\n additionalProp1: \"string\",\n additionalProp2: \"string\",\n additionalProp3: \"string\",\n },\n tags: {\n additionalProp1: \"string\",\n additionalProp2: \"string\",\n additionalProp3: \"string\",\n },\n },\n resourceGroupName: \"workspace-1234\",\n workspaceName: \"testworkspace\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nlabeling_job = azure_native.machinelearningservices.LabelingJob(\"labelingJob\",\n id=\"testLabelingJob\",\n labeling_job_properties={\n \"description\": \"string\",\n \"job_instructions\": {\n \"uri\": \"link/to/instructions\",\n },\n \"job_type\": \"Labeling\",\n \"label_categories\": {\n \"myCategory1\": {\n \"classes\": {\n \"myLabelClass1\": {\n \"display_name\": \"myLabelClass1\",\n \"subclasses\": {},\n },\n \"myLabelClass2\": {\n \"display_name\": \"myLabelClass2\",\n \"subclasses\": {},\n },\n },\n \"display_name\": \"myCategory1Title\",\n \"multi_select\": azure_native.machinelearningservices.MultiSelect.DISABLED,\n },\n \"myCategory2\": {\n \"classes\": {\n \"myLabelClass1\": {\n \"display_name\": \"myLabelClass1\",\n \"subclasses\": {},\n },\n \"myLabelClass2\": {\n \"display_name\": \"myLabelClass2\",\n \"subclasses\": {},\n },\n },\n \"display_name\": \"myCategory2Title\",\n \"multi_select\": azure_native.machinelearningservices.MultiSelect.DISABLED,\n },\n },\n \"labeling_job_media_properties\": {\n \"media_type\": \"Image\",\n },\n \"ml_assist_configuration\": {\n \"inferencing_compute_binding\": \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n \"ml_assist\": \"Enabled\",\n \"training_compute_binding\": \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n \"properties\": {\n \"additionalProp1\": \"string\",\n \"additionalProp2\": \"string\",\n \"additionalProp3\": \"string\",\n },\n \"tags\": {\n \"additionalProp1\": \"string\",\n \"additionalProp2\": \"string\",\n \"additionalProp3\": \"string\",\n },\n },\n resource_group_name=\"workspace-1234\",\n workspace_name=\"testworkspace\")\n\n```\n\n```yaml\nresources:\n labelingJob:\n type: azure-native:machinelearningservices:LabelingJob\n properties:\n id: testLabelingJob\n labelingJobProperties:\n description: string\n jobInstructions:\n uri: link/to/instructions\n jobType: Labeling\n labelCategories:\n myCategory1:\n classes:\n myLabelClass1:\n displayName: myLabelClass1\n subclasses: {}\n myLabelClass2:\n displayName: myLabelClass2\n subclasses: {}\n displayName: myCategory1Title\n multiSelect: Disabled\n myCategory2:\n classes:\n myLabelClass1:\n displayName: myLabelClass1\n subclasses: {}\n myLabelClass2:\n displayName: myLabelClass2\n subclasses: {}\n displayName: myCategory2Title\n multiSelect: Disabled\n labelingJobMediaProperties:\n mediaType: Image\n mlAssistConfiguration:\n inferencingComputeBinding: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\n mlAssist: Enabled\n trainingComputeBinding: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\n properties:\n additionalProp1: string\n additionalProp2: string\n additionalProp3: string\n tags:\n additionalProp1: string\n additionalProp2: string\n additionalProp3: string\n resourceGroupName: workspace-1234\n workspaceName: testworkspace\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:machinelearningservices:LabelingJob testLabelingJob /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id} \n```\n", + "description": "Azure Resource Manager resource envelope.\n\nUses Azure REST API version 2024-01-01-preview. In version 2.x of the Azure Native provider, it used API version 2023-04-01-preview.\n\nOther available API versions: 2020-09-01-preview, 2021-03-01-preview, 2022-06-01-preview, 2022-10-01-preview, 2022-12-01-preview, 2023-02-01-preview, 2023-04-01-preview, 2023-06-01-preview, 2023-08-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native machinelearningservices [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### CreateOrUpdate Labeling Job.\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var labelingJob = new AzureNative.MachineLearningServices.LabelingJob(\"labelingJob\", new()\n {\n Id = \"testLabelingJob\",\n LabelingJobProperties = new AzureNative.MachineLearningServices.Inputs.LabelingJobArgs\n {\n Description = \"string\",\n JobInstructions = new AzureNative.MachineLearningServices.Inputs.LabelingJobInstructionsArgs\n {\n Uri = \"link/to/instructions\",\n },\n JobType = \"Labeling\",\n LabelCategories = \n {\n { \"myCategory1\", new AzureNative.MachineLearningServices.Inputs.LabelCategoryArgs\n {\n Classes = \n {\n { \"myLabelClass1\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass1\",\n Subclasses = null,\n } },\n { \"myLabelClass2\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass2\",\n Subclasses = null,\n } },\n },\n DisplayName = \"myCategory1Title\",\n MultiSelect = AzureNative.MachineLearningServices.MultiSelect.Disabled,\n } },\n { \"myCategory2\", new AzureNative.MachineLearningServices.Inputs.LabelCategoryArgs\n {\n Classes = \n {\n { \"myLabelClass1\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass1\",\n Subclasses = null,\n } },\n { \"myLabelClass2\", new AzureNative.MachineLearningServices.Inputs.LabelClassArgs\n {\n DisplayName = \"myLabelClass2\",\n Subclasses = null,\n } },\n },\n DisplayName = \"myCategory2Title\",\n MultiSelect = AzureNative.MachineLearningServices.MultiSelect.Disabled,\n } },\n },\n LabelingJobMediaProperties = new AzureNative.MachineLearningServices.Inputs.LabelingJobImagePropertiesArgs\n {\n MediaType = \"Image\",\n },\n MlAssistConfiguration = new AzureNative.MachineLearningServices.Inputs.MLAssistConfigurationEnabledArgs\n {\n InferencingComputeBinding = \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n MlAssist = \"Enabled\",\n TrainingComputeBinding = \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n Properties = \n {\n { \"additionalProp1\", \"string\" },\n { \"additionalProp2\", \"string\" },\n { \"additionalProp3\", \"string\" },\n },\n Tags = \n {\n { \"additionalProp1\", \"string\" },\n { \"additionalProp2\", \"string\" },\n { \"additionalProp3\", \"string\" },\n },\n },\n ResourceGroupName = \"workspace-1234\",\n WorkspaceName = \"testworkspace\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tmachinelearningservices \"github.com/pulumi/pulumi-azure-native-sdk/machinelearningservices/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := machinelearningservices.NewLabelingJob(ctx, \"labelingJob\", \u0026machinelearningservices.LabelingJobArgs{\n\t\t\tId: pulumi.String(\"testLabelingJob\"),\n\t\t\tLabelingJobProperties: \u0026machinelearningservices.LabelingJobTypeArgs{\n\t\t\t\tDescription: pulumi.String(\"string\"),\n\t\t\t\tJobInstructions: \u0026machinelearningservices.LabelingJobInstructionsArgs{\n\t\t\t\t\tUri: pulumi.String(\"link/to/instructions\"),\n\t\t\t\t},\n\t\t\t\tJobType: pulumi.String(\"Labeling\"),\n\t\t\t\tLabelCategories: machinelearningservices.LabelCategoryMap{\n\t\t\t\t\t\"myCategory1\": \u0026machinelearningservices.LabelCategoryArgs{\n\t\t\t\t\t\tClasses: machinelearningservices.LabelClassMap{\n\t\t\t\t\t\t\t\"myLabelClass1\": \u0026machinelearningservices.LabelClassArgs{\n\t\t\t\t\t\t\t\tDisplayName: pulumi.String(\"myLabelClass1\"),\n\t\t\t\t\t\t\t\tSubclasses: machinelearningservices.LabelClassMap{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"myLabelClass2\": \u0026machinelearningservices.LabelClassArgs{\n\t\t\t\t\t\t\t\tDisplayName: pulumi.String(\"myLabelClass2\"),\n\t\t\t\t\t\t\t\tSubclasses: machinelearningservices.LabelClassMap{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDisplayName: pulumi.String(\"myCategory1Title\"),\n\t\t\t\t\t\tMultiSelect: pulumi.String(machinelearningservices.MultiSelectDisabled),\n\t\t\t\t\t},\n\t\t\t\t\t\"myCategory2\": \u0026machinelearningservices.LabelCategoryArgs{\n\t\t\t\t\t\tClasses: machinelearningservices.LabelClassMap{\n\t\t\t\t\t\t\t\"myLabelClass1\": \u0026machinelearningservices.LabelClassArgs{\n\t\t\t\t\t\t\t\tDisplayName: pulumi.String(\"myLabelClass1\"),\n\t\t\t\t\t\t\t\tSubclasses: machinelearningservices.LabelClassMap{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"myLabelClass2\": \u0026machinelearningservices.LabelClassArgs{\n\t\t\t\t\t\t\t\tDisplayName: pulumi.String(\"myLabelClass2\"),\n\t\t\t\t\t\t\t\tSubclasses: machinelearningservices.LabelClassMap{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tDisplayName: pulumi.String(\"myCategory2Title\"),\n\t\t\t\t\t\tMultiSelect: pulumi.String(machinelearningservices.MultiSelectDisabled),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLabelingJobMediaProperties: machinelearningservices.LabelingJobImageProperties{\n\t\t\t\t\tMediaType: \"Image\",\n\t\t\t\t},\n\t\t\t\tMlAssistConfiguration: machinelearningservices.MLAssistConfigurationEnabled{\n\t\t\t\t\tInferencingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n\t\t\t\t\tMlAssist: \"Enabled\",\n\t\t\t\t\tTrainingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n\t\t\t\t},\n\t\t\t\tProperties: pulumi.StringMap{\n\t\t\t\t\t\"additionalProp1\": pulumi.String(\"string\"),\n\t\t\t\t\t\"additionalProp2\": pulumi.String(\"string\"),\n\t\t\t\t\t\"additionalProp3\": pulumi.String(\"string\"),\n\t\t\t\t},\n\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\"additionalProp1\": pulumi.String(\"string\"),\n\t\t\t\t\t\"additionalProp2\": pulumi.String(\"string\"),\n\t\t\t\t\t\"additionalProp3\": pulumi.String(\"string\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"workspace-1234\"),\n\t\t\tWorkspaceName: pulumi.String(\"testworkspace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.machinelearningservices.LabelingJob;\nimport com.pulumi.azurenative.machinelearningservices.inputs.LabelingJobInstructionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var labelingJob = new LabelingJob(\"labelingJob\", LabelingJobArgs.builder()\n .id(\"testLabelingJob\")\n .labelingJobProperties(LabelingJobArgs.builder()\n .description(\"string\")\n .jobInstructions(LabelingJobInstructionsArgs.builder()\n .uri(\"link/to/instructions\")\n .build())\n .jobType(\"Labeling\")\n .labelCategories(Map.ofEntries(\n Map.entry(\"myCategory1\", LabelCategoryArgs.builder()\n .classes(Map.ofEntries(\n Map.entry(\"myLabelClass1\", LabelClassArgs.builder()\n .displayName(\"myLabelClass1\")\n .subclasses(Map.ofEntries(\n ))\n .build()),\n Map.entry(\"myLabelClass2\", LabelClassArgs.builder()\n .displayName(\"myLabelClass2\")\n .subclasses(Map.ofEntries(\n ))\n .build())\n ))\n .displayName(\"myCategory1Title\")\n .multiSelect(\"Disabled\")\n .build()),\n Map.entry(\"myCategory2\", LabelCategoryArgs.builder()\n .classes(Map.ofEntries(\n Map.entry(\"myLabelClass1\", LabelClassArgs.builder()\n .displayName(\"myLabelClass1\")\n .subclasses(Map.ofEntries(\n ))\n .build()),\n Map.entry(\"myLabelClass2\", LabelClassArgs.builder()\n .displayName(\"myLabelClass2\")\n .subclasses(Map.ofEntries(\n ))\n .build())\n ))\n .displayName(\"myCategory2Title\")\n .multiSelect(\"Disabled\")\n .build())\n ))\n .labelingJobMediaProperties(LabelingJobImagePropertiesArgs.builder()\n .mediaType(\"Image\")\n .build())\n .mlAssistConfiguration(MLAssistConfigurationEnabledArgs.builder()\n .inferencingComputeBinding(\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\")\n .mlAssist(\"Enabled\")\n .trainingComputeBinding(\"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\")\n .build())\n .properties(Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n ))\n .tags(Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n ))\n .build())\n .resourceGroupName(\"workspace-1234\")\n .workspaceName(\"testworkspace\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst labelingJob = new azure_native.machinelearningservices.LabelingJob(\"labelingJob\", {\n id: \"testLabelingJob\",\n labelingJobProperties: {\n description: \"string\",\n jobInstructions: {\n uri: \"link/to/instructions\",\n },\n jobType: \"Labeling\",\n labelCategories: {\n myCategory1: {\n classes: {\n myLabelClass1: {\n displayName: \"myLabelClass1\",\n subclasses: {},\n },\n myLabelClass2: {\n displayName: \"myLabelClass2\",\n subclasses: {},\n },\n },\n displayName: \"myCategory1Title\",\n multiSelect: azure_native.machinelearningservices.MultiSelect.Disabled,\n },\n myCategory2: {\n classes: {\n myLabelClass1: {\n displayName: \"myLabelClass1\",\n subclasses: {},\n },\n myLabelClass2: {\n displayName: \"myLabelClass2\",\n subclasses: {},\n },\n },\n displayName: \"myCategory2Title\",\n multiSelect: azure_native.machinelearningservices.MultiSelect.Disabled,\n },\n },\n labelingJobMediaProperties: {\n mediaType: \"Image\",\n },\n mlAssistConfiguration: {\n inferencingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n mlAssist: \"Enabled\",\n trainingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n properties: {\n additionalProp1: \"string\",\n additionalProp2: \"string\",\n additionalProp3: \"string\",\n },\n tags: {\n additionalProp1: \"string\",\n additionalProp2: \"string\",\n additionalProp3: \"string\",\n },\n },\n resourceGroupName: \"workspace-1234\",\n workspaceName: \"testworkspace\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nlabeling_job = azure_native.machinelearningservices.LabelingJob(\"labelingJob\",\n id=\"testLabelingJob\",\n labeling_job_properties={\n \"description\": \"string\",\n \"job_instructions\": {\n \"uri\": \"link/to/instructions\",\n },\n \"job_type\": \"Labeling\",\n \"label_categories\": {\n \"myCategory1\": {\n \"classes\": {\n \"myLabelClass1\": {\n \"display_name\": \"myLabelClass1\",\n \"subclasses\": {},\n },\n \"myLabelClass2\": {\n \"display_name\": \"myLabelClass2\",\n \"subclasses\": {},\n },\n },\n \"display_name\": \"myCategory1Title\",\n \"multi_select\": azure_native.machinelearningservices.MultiSelect.DISABLED,\n },\n \"myCategory2\": {\n \"classes\": {\n \"myLabelClass1\": {\n \"display_name\": \"myLabelClass1\",\n \"subclasses\": {},\n },\n \"myLabelClass2\": {\n \"display_name\": \"myLabelClass2\",\n \"subclasses\": {},\n },\n },\n \"display_name\": \"myCategory2Title\",\n \"multi_select\": azure_native.machinelearningservices.MultiSelect.DISABLED,\n },\n },\n \"labeling_job_media_properties\": {\n \"media_type\": \"Image\",\n },\n \"ml_assist_configuration\": {\n \"inferencing_compute_binding\": \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\n \"ml_assist\": \"Enabled\",\n \"training_compute_binding\": \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n },\n \"properties\": {\n \"additionalProp1\": \"string\",\n \"additionalProp2\": \"string\",\n \"additionalProp3\": \"string\",\n },\n \"tags\": {\n \"additionalProp1\": \"string\",\n \"additionalProp2\": \"string\",\n \"additionalProp3\": \"string\",\n },\n },\n resource_group_name=\"workspace-1234\",\n workspace_name=\"testworkspace\")\n\n```\n\n```yaml\nresources:\n labelingJob:\n type: azure-native:machinelearningservices:LabelingJob\n properties:\n id: testLabelingJob\n labelingJobProperties:\n description: string\n jobInstructions:\n uri: link/to/instructions\n jobType: Labeling\n labelCategories:\n myCategory1:\n classes:\n myLabelClass1:\n displayName: myLabelClass1\n subclasses: {}\n myLabelClass2:\n displayName: myLabelClass2\n subclasses: {}\n displayName: myCategory1Title\n multiSelect: Disabled\n myCategory2:\n classes:\n myLabelClass1:\n displayName: myLabelClass1\n subclasses: {}\n myLabelClass2:\n displayName: myLabelClass2\n subclasses: {}\n displayName: myCategory2Title\n multiSelect: Disabled\n labelingJobMediaProperties:\n mediaType: Image\n mlAssistConfiguration:\n inferencingComputeBinding: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\n mlAssist: Enabled\n trainingComputeBinding: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\n properties:\n additionalProp1: string\n additionalProp2: string\n additionalProp3: string\n tags:\n additionalProp1: string\n additionalProp2: string\n additionalProp3: string\n resourceGroupName: workspace-1234\n workspaceName: testworkspace\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:machinelearningservices:LabelingJob testLabelingJob /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id} \n```\n", "properties": { "azureApiVersion": { "type": "string", @@ -862293,7 +862511,7 @@ ] }, "azure-native:search:PrivateEndpointConnection": { - "description": "Describes an existing private endpoint connection to the search service.\n\nUses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01.\n\nOther available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### PrivateEndpointConnectionUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var privateEndpointConnection = new AzureNative.Search.PrivateEndpointConnection(\"privateEndpointConnection\", new()\n {\n PrivateEndpointConnectionName = \"testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546\",\n Properties = new AzureNative.Search.Inputs.PrivateEndpointConnectionPropertiesArgs\n {\n PrivateLinkServiceConnectionState = new AzureNative.Search.Inputs.PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs\n {\n Description = \"Rejected for some reason\",\n Status = AzureNative.Search.PrivateLinkServiceConnectionStatus.Rejected,\n },\n },\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewPrivateEndpointConnection(ctx, \"privateEndpointConnection\", \u0026search.PrivateEndpointConnectionArgs{\n\t\t\tPrivateEndpointConnectionName: pulumi.String(\"testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546\"),\n\t\t\tProperties: \u0026search.PrivateEndpointConnectionPropertiesArgs{\n\t\t\t\tPrivateLinkServiceConnectionState: \u0026search.PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Rejected for some reason\"),\n\t\t\t\t\tStatus: search.PrivateLinkServiceConnectionStatusRejected,\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.PrivateEndpointConnection;\nimport com.pulumi.azurenative.search.PrivateEndpointConnectionArgs;\nimport com.pulumi.azurenative.search.inputs.PrivateEndpointConnectionPropertiesArgs;\nimport com.pulumi.azurenative.search.inputs.PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var privateEndpointConnection = new PrivateEndpointConnection(\"privateEndpointConnection\", PrivateEndpointConnectionArgs.builder()\n .privateEndpointConnectionName(\"testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546\")\n .properties(PrivateEndpointConnectionPropertiesArgs.builder()\n .privateLinkServiceConnectionState(PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs.builder()\n .description(\"Rejected for some reason\")\n .status(\"Rejected\")\n .build())\n .build())\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst privateEndpointConnection = new azure_native.search.PrivateEndpointConnection(\"privateEndpointConnection\", {\n privateEndpointConnectionName: \"testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546\",\n properties: {\n privateLinkServiceConnectionState: {\n description: \"Rejected for some reason\",\n status: azure_native.search.PrivateLinkServiceConnectionStatus.Rejected,\n },\n },\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nprivate_endpoint_connection = azure_native.search.PrivateEndpointConnection(\"privateEndpointConnection\",\n private_endpoint_connection_name=\"testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546\",\n properties={\n \"private_link_service_connection_state\": {\n \"description\": \"Rejected for some reason\",\n \"status\": azure_native.search.PrivateLinkServiceConnectionStatus.REJECTED,\n },\n },\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\")\n\n```\n\n```yaml\nresources:\n privateEndpointConnection:\n type: azure-native:search:PrivateEndpointConnection\n properties:\n privateEndpointConnectionName: testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546\n properties:\n privateLinkServiceConnectionState:\n description: Rejected for some reason\n status: Rejected\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:search:PrivateEndpointConnection testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections/{privateEndpointConnectionName} \n```\n", + "description": "Describes an existing private endpoint connection to the Azure AI Search service.\n\nUses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01.\n\nOther available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### PrivateEndpointConnectionUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var privateEndpointConnection = new AzureNative.Search.PrivateEndpointConnection(\"privateEndpointConnection\", new()\n {\n PrivateEndpointConnectionName = \"testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546\",\n Properties = new AzureNative.Search.Inputs.PrivateEndpointConnectionPropertiesArgs\n {\n PrivateLinkServiceConnectionState = new AzureNative.Search.Inputs.PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs\n {\n Description = \"Rejected for some reason.\",\n Status = AzureNative.Search.PrivateLinkServiceConnectionStatus.Rejected,\n },\n },\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewPrivateEndpointConnection(ctx, \"privateEndpointConnection\", \u0026search.PrivateEndpointConnectionArgs{\n\t\t\tPrivateEndpointConnectionName: pulumi.String(\"testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546\"),\n\t\t\tProperties: \u0026search.PrivateEndpointConnectionPropertiesArgs{\n\t\t\t\tPrivateLinkServiceConnectionState: \u0026search.PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Rejected for some reason.\"),\n\t\t\t\t\tStatus: search.PrivateLinkServiceConnectionStatusRejected,\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.PrivateEndpointConnection;\nimport com.pulumi.azurenative.search.PrivateEndpointConnectionArgs;\nimport com.pulumi.azurenative.search.inputs.PrivateEndpointConnectionPropertiesArgs;\nimport com.pulumi.azurenative.search.inputs.PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var privateEndpointConnection = new PrivateEndpointConnection(\"privateEndpointConnection\", PrivateEndpointConnectionArgs.builder()\n .privateEndpointConnectionName(\"testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546\")\n .properties(PrivateEndpointConnectionPropertiesArgs.builder()\n .privateLinkServiceConnectionState(PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs.builder()\n .description(\"Rejected for some reason.\")\n .status(\"Rejected\")\n .build())\n .build())\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst privateEndpointConnection = new azure_native.search.PrivateEndpointConnection(\"privateEndpointConnection\", {\n privateEndpointConnectionName: \"testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546\",\n properties: {\n privateLinkServiceConnectionState: {\n description: \"Rejected for some reason.\",\n status: azure_native.search.PrivateLinkServiceConnectionStatus.Rejected,\n },\n },\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nprivate_endpoint_connection = azure_native.search.PrivateEndpointConnection(\"privateEndpointConnection\",\n private_endpoint_connection_name=\"testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546\",\n properties={\n \"private_link_service_connection_state\": {\n \"description\": \"Rejected for some reason.\",\n \"status\": azure_native.search.PrivateLinkServiceConnectionStatus.REJECTED,\n },\n },\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\")\n\n```\n\n```yaml\nresources:\n privateEndpointConnection:\n type: azure-native:search:PrivateEndpointConnection\n properties:\n privateEndpointConnectionName: testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546\n properties:\n privateLinkServiceConnectionState:\n description: Rejected for some reason.\n status: Rejected\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:search:PrivateEndpointConnection testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections/{privateEndpointConnectionName} \n```\n", "properties": { "azureApiVersion": { "type": "string", @@ -862306,7 +862524,12 @@ "properties": { "type": "object", "$ref": "#/types/azure-native:search:PrivateEndpointConnectionPropertiesResponse", - "description": "Describes the properties of an existing private endpoint connection to the search service." + "description": "Describes the properties of an existing private endpoint connection to the Azure AI Search service." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:search:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." }, "type": { "type": "string", @@ -862318,18 +862541,19 @@ "azureApiVersion", "name", "properties", + "systemData", "type" ], "inputProperties": { "privateEndpointConnectionName": { "type": "string", - "description": "The name of the private endpoint connection to the search service with the specified resource group.", + "description": "The name of the private endpoint connection to the Azure AI Search service with the specified resource group.", "willReplaceOnChanges": true }, "properties": { "type": "object", "$ref": "#/types/azure-native:search:PrivateEndpointConnectionProperties", - "description": "Describes the properties of an existing private endpoint connection to the search service." + "description": "Describes the properties of an existing private endpoint connection to the Azure AI Search service." }, "resourceGroupName": { "type": "string", @@ -862338,7 +862562,7 @@ }, "searchServiceName": { "type": "string", - "description": "The name of the search service associated with the specified resource group.", + "description": "The name of the Azure AI Search service associated with the specified resource group.", "willReplaceOnChanges": true } }, @@ -862383,7 +862607,7 @@ ] }, "azure-native:search:Service": { - "description": "Describes a search service and its current state.\n\nUses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01.\n\nOther available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### SearchCreateOrUpdateService\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: search.SkuNameStandard,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n hostingMode: default\n location: westus\n partitionCount: 1\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceAuthOptions\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n AuthOptions = new AzureNative.Search.Inputs.DataPlaneAuthOptionsArgs\n {\n AadOrApiKey = new AzureNative.Search.Inputs.DataPlaneAadOrApiKeyAuthOptionArgs\n {\n AadAuthFailureMode = AzureNative.Search.AadAuthFailureMode.Http401WithBearerChallenge,\n },\n },\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tAuthOptions: \u0026search.DataPlaneAuthOptionsArgs{\n\t\t\t\tAadOrApiKey: \u0026search.DataPlaneAadOrApiKeyAuthOptionArgs{\n\t\t\t\t\tAadAuthFailureMode: search.AadAuthFailureModeHttp401WithBearerChallenge,\n\t\t\t\t},\n\t\t\t},\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: search.SkuNameStandard,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.DataPlaneAuthOptionsArgs;\nimport com.pulumi.azurenative.search.inputs.DataPlaneAadOrApiKeyAuthOptionArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .authOptions(DataPlaneAuthOptionsArgs.builder()\n .aadOrApiKey(DataPlaneAadOrApiKeyAuthOptionArgs.builder()\n .aadAuthFailureMode(\"http401WithBearerChallenge\")\n .build())\n .build())\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n authOptions: {\n aadOrApiKey: {\n aadAuthFailureMode: azure_native.search.AadAuthFailureMode.Http401WithBearerChallenge,\n },\n },\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n auth_options={\n \"aad_or_api_key\": {\n \"aad_auth_failure_mode\": azure_native.search.AadAuthFailureMode.HTTP401_WITH_BEARER_CHALLENGE,\n },\n },\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n authOptions:\n aadOrApiKey:\n aadAuthFailureMode: http401WithBearerChallenge\n hostingMode: default\n location: westus\n partitionCount: 1\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceDisableLocalAuth\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n DisableLocalAuth = true,\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tDisableLocalAuth: pulumi.Bool(true),\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: search.SkuNameStandard,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .disableLocalAuth(true)\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n disableLocalAuth: true,\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n disable_local_auth=True,\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n disableLocalAuth: true\n hostingMode: default\n location: westus\n partitionCount: 1\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n PublicNetworkAccess = AzureNative.Search.PublicNetworkAccess.Disabled,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tPublicNetworkAccess: search.PublicNetworkAccessDisabled,\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: search.SkuNameStandard,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .publicNetworkAccess(\"disabled\")\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n publicNetworkAccess: azure_native.search.PublicNetworkAccess.Disabled,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n public_network_access=azure_native.search.PublicNetworkAccess.DISABLED,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n hostingMode: default\n location: westus\n partitionCount: 1\n publicNetworkAccess: disabled\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n NetworkRuleSet = new AzureNative.Search.Inputs.NetworkRuleSetArgs\n {\n IpRules = new[]\n {\n new AzureNative.Search.Inputs.IpRuleArgs\n {\n Value = \"123.4.5.6\",\n },\n new AzureNative.Search.Inputs.IpRuleArgs\n {\n Value = \"123.4.6.0/18\",\n },\n },\n },\n PartitionCount = 1,\n ReplicaCount = 1,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tNetworkRuleSet: \u0026search.NetworkRuleSetArgs{\n\t\t\t\tIpRules: search.IpRuleArray{\n\t\t\t\t\t\u0026search.IpRuleArgs{\n\t\t\t\t\t\tValue: pulumi.String(\"123.4.5.6\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026search.IpRuleArgs{\n\t\t\t\t\t\tValue: pulumi.String(\"123.4.6.0/18\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(1),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: search.SkuNameStandard,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.NetworkRuleSetArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .hostingMode(\"default\")\n .location(\"westus\")\n .networkRuleSet(NetworkRuleSetArgs.builder()\n .ipRules( \n IpRuleArgs.builder()\n .value(\"123.4.5.6\")\n .build(),\n IpRuleArgs.builder()\n .value(\"123.4.6.0/18\")\n .build())\n .build())\n .partitionCount(1)\n .replicaCount(1)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n networkRuleSet: {\n ipRules: [\n {\n value: \"123.4.5.6\",\n },\n {\n value: \"123.4.6.0/18\",\n },\n ],\n },\n partitionCount: 1,\n replicaCount: 1,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n network_rule_set={\n \"ip_rules\": [\n {\n \"value\": \"123.4.5.6\",\n },\n {\n \"value\": \"123.4.6.0/18\",\n },\n ],\n },\n partition_count=1,\n replica_count=1,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n hostingMode: default\n location: westus\n networkRuleSet:\n ipRules:\n - value: 123.4.5.6\n - value: 123.4.6.0/18\n partitionCount: 1\n replicaCount: 1\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceWithCmkEnforcement\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n EncryptionWithCmk = new AzureNative.Search.Inputs.EncryptionWithCmkArgs\n {\n Enforcement = AzureNative.Search.SearchEncryptionWithCmk.Enabled,\n },\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tEncryptionWithCmk: \u0026search.EncryptionWithCmkArgs{\n\t\t\t\tEnforcement: search.SearchEncryptionWithCmkEnabled,\n\t\t\t},\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: search.SkuNameStandard,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.EncryptionWithCmkArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .encryptionWithCmk(EncryptionWithCmkArgs.builder()\n .enforcement(\"Enabled\")\n .build())\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n encryptionWithCmk: {\n enforcement: azure_native.search.SearchEncryptionWithCmk.Enabled,\n },\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n encryption_with_cmk={\n \"enforcement\": azure_native.search.SearchEncryptionWithCmk.ENABLED,\n },\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n encryptionWithCmk:\n enforcement: Enabled\n hostingMode: default\n location: westus\n partitionCount: 1\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceWithIdentity\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n HostingMode = AzureNative.Search.HostingMode.Default,\n Identity = new AzureNative.Search.Inputs.IdentityArgs\n {\n Type = AzureNative.Search.IdentityType.SystemAssigned,\n },\n Location = \"westus\",\n PartitionCount = 1,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tIdentity: \u0026search.IdentityArgs{\n\t\t\t\tType: search.IdentityTypeSystemAssigned,\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: search.SkuNameStandard,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.IdentityArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .hostingMode(\"default\")\n .identity(IdentityArgs.builder()\n .type(\"SystemAssigned\")\n .build())\n .location(\"westus\")\n .partitionCount(1)\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n hostingMode: azure_native.search.HostingMode.Default,\n identity: {\n type: azure_native.search.IdentityType.SystemAssigned,\n },\n location: \"westus\",\n partitionCount: 1,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n identity={\n \"type\": azure_native.search.IdentityType.SYSTEM_ASSIGNED,\n },\n location=\"westus\",\n partition_count=1,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n hostingMode: default\n identity:\n type: SystemAssigned\n location: westus\n partitionCount: 1\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateWithSemanticSearch\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n SemanticSearch = AzureNative.Search.SearchSemanticSearch.Free,\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSemanticSearch: pulumi.String(search.SearchSemanticSearchFree),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: search.SkuNameStandard,\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .semanticSearch(\"free\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n semanticSearch: azure_native.search.SearchSemanticSearch.Free,\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n semantic_search=azure_native.search.SearchSemanticSearch.FREE,\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n hostingMode: default\n location: westus\n partitionCount: 1\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n semanticSearch: free\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:search:Service mysearchservice /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} \n```\n", + "description": "Describes an Azure AI Search service and its current state.\n\nUses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01.\n\nOther available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### SearchCreateOrUpdateService\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n ComputeType = AzureNative.Search.ComputeType.Default,\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tComputeType: pulumi.String(search.ComputeTypeDefault),\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: pulumi.String(search.SkuNameStandard),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .computeType(\"default\")\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n computeType: azure_native.search.ComputeType.Default,\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n compute_type=azure_native.search.ComputeType.DEFAULT,\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n computeType: default\n hostingMode: default\n location: westus\n partitionCount: 1\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceAuthOptions\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n AuthOptions = new AzureNative.Search.Inputs.DataPlaneAuthOptionsArgs\n {\n AadOrApiKey = new AzureNative.Search.Inputs.DataPlaneAadOrApiKeyAuthOptionArgs\n {\n AadAuthFailureMode = AzureNative.Search.AadAuthFailureMode.Http401WithBearerChallenge,\n },\n },\n ComputeType = AzureNative.Search.ComputeType.Default,\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tAuthOptions: \u0026search.DataPlaneAuthOptionsArgs{\n\t\t\t\tAadOrApiKey: \u0026search.DataPlaneAadOrApiKeyAuthOptionArgs{\n\t\t\t\t\tAadAuthFailureMode: search.AadAuthFailureModeHttp401WithBearerChallenge,\n\t\t\t\t},\n\t\t\t},\n\t\t\tComputeType: pulumi.String(search.ComputeTypeDefault),\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: pulumi.String(search.SkuNameStandard),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.DataPlaneAuthOptionsArgs;\nimport com.pulumi.azurenative.search.inputs.DataPlaneAadOrApiKeyAuthOptionArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .authOptions(DataPlaneAuthOptionsArgs.builder()\n .aadOrApiKey(DataPlaneAadOrApiKeyAuthOptionArgs.builder()\n .aadAuthFailureMode(\"http401WithBearerChallenge\")\n .build())\n .build())\n .computeType(\"default\")\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n authOptions: {\n aadOrApiKey: {\n aadAuthFailureMode: azure_native.search.AadAuthFailureMode.Http401WithBearerChallenge,\n },\n },\n computeType: azure_native.search.ComputeType.Default,\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n auth_options={\n \"aad_or_api_key\": {\n \"aad_auth_failure_mode\": azure_native.search.AadAuthFailureMode.HTTP401_WITH_BEARER_CHALLENGE,\n },\n },\n compute_type=azure_native.search.ComputeType.DEFAULT,\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n authOptions:\n aadOrApiKey:\n aadAuthFailureMode: http401WithBearerChallenge\n computeType: default\n hostingMode: default\n location: westus\n partitionCount: 1\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceDisableLocalAuth\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n ComputeType = AzureNative.Search.ComputeType.Default,\n DisableLocalAuth = true,\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tComputeType: pulumi.String(search.ComputeTypeDefault),\n\t\t\tDisableLocalAuth: pulumi.Bool(true),\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: pulumi.String(search.SkuNameStandard),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .computeType(\"default\")\n .disableLocalAuth(true)\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n computeType: azure_native.search.ComputeType.Default,\n disableLocalAuth: true,\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n compute_type=azure_native.search.ComputeType.DEFAULT,\n disable_local_auth=True,\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n computeType: default\n disableLocalAuth: true\n hostingMode: default\n location: westus\n partitionCount: 1\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n ComputeType = AzureNative.Search.ComputeType.Default,\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n PublicNetworkAccess = AzureNative.Search.PublicNetworkAccess.Disabled,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tComputeType: pulumi.String(search.ComputeTypeDefault),\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tPublicNetworkAccess: pulumi.String(search.PublicNetworkAccessDisabled),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: pulumi.String(search.SkuNameStandard),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .computeType(\"default\")\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .publicNetworkAccess(\"disabled\")\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n computeType: azure_native.search.ComputeType.Default,\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n publicNetworkAccess: azure_native.search.PublicNetworkAccess.Disabled,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n compute_type=azure_native.search.ComputeType.DEFAULT,\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n public_network_access=azure_native.search.PublicNetworkAccess.DISABLED,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n computeType: default\n hostingMode: default\n location: westus\n partitionCount: 1\n publicNetworkAccess: disabled\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n ComputeType = AzureNative.Search.ComputeType.Default,\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n NetworkRuleSet = new AzureNative.Search.Inputs.NetworkRuleSetArgs\n {\n IpRules = new[]\n {\n new AzureNative.Search.Inputs.IpRuleArgs\n {\n Value = \"123.4.5.6\",\n },\n new AzureNative.Search.Inputs.IpRuleArgs\n {\n Value = \"123.4.6.0/18\",\n },\n },\n },\n PartitionCount = 1,\n ReplicaCount = 1,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tComputeType: pulumi.String(search.ComputeTypeDefault),\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tNetworkRuleSet: \u0026search.NetworkRuleSetArgs{\n\t\t\t\tIpRules: search.IpRuleArray{\n\t\t\t\t\t\u0026search.IpRuleArgs{\n\t\t\t\t\t\tValue: pulumi.String(\"123.4.5.6\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026search.IpRuleArgs{\n\t\t\t\t\t\tValue: pulumi.String(\"123.4.6.0/18\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(1),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: pulumi.String(search.SkuNameStandard),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.NetworkRuleSetArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .computeType(\"default\")\n .hostingMode(\"default\")\n .location(\"westus\")\n .networkRuleSet(NetworkRuleSetArgs.builder()\n .ipRules( \n IpRuleArgs.builder()\n .value(\"123.4.5.6\")\n .build(),\n IpRuleArgs.builder()\n .value(\"123.4.6.0/18\")\n .build())\n .build())\n .partitionCount(1)\n .replicaCount(1)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n computeType: azure_native.search.ComputeType.Default,\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n networkRuleSet: {\n ipRules: [\n {\n value: \"123.4.5.6\",\n },\n {\n value: \"123.4.6.0/18\",\n },\n ],\n },\n partitionCount: 1,\n replicaCount: 1,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n compute_type=azure_native.search.ComputeType.DEFAULT,\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n network_rule_set={\n \"ip_rules\": [\n {\n \"value\": \"123.4.5.6\",\n },\n {\n \"value\": \"123.4.6.0/18\",\n },\n ],\n },\n partition_count=1,\n replica_count=1,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n computeType: default\n hostingMode: default\n location: westus\n networkRuleSet:\n ipRules:\n - value: 123.4.5.6\n - value: 123.4.6.0/18\n partitionCount: 1\n replicaCount: 1\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n ComputeType = AzureNative.Search.ComputeType.Default,\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n NetworkRuleSet = new AzureNative.Search.Inputs.NetworkRuleSetArgs\n {\n Bypass = AzureNative.Search.SearchBypass.AzureServices,\n IpRules = new[]\n {\n new AzureNative.Search.Inputs.IpRuleArgs\n {\n Value = \"123.4.5.6\",\n },\n new AzureNative.Search.Inputs.IpRuleArgs\n {\n Value = \"123.4.6.0/18\",\n },\n },\n },\n PartitionCount = 1,\n ReplicaCount = 1,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tComputeType: pulumi.String(search.ComputeTypeDefault),\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tNetworkRuleSet: \u0026search.NetworkRuleSetArgs{\n\t\t\t\tBypass: pulumi.String(search.SearchBypassAzureServices),\n\t\t\t\tIpRules: search.IpRuleArray{\n\t\t\t\t\t\u0026search.IpRuleArgs{\n\t\t\t\t\t\tValue: pulumi.String(\"123.4.5.6\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026search.IpRuleArgs{\n\t\t\t\t\t\tValue: pulumi.String(\"123.4.6.0/18\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(1),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: pulumi.String(search.SkuNameStandard),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.NetworkRuleSetArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .computeType(\"default\")\n .hostingMode(\"default\")\n .location(\"westus\")\n .networkRuleSet(NetworkRuleSetArgs.builder()\n .bypass(\"AzureServices\")\n .ipRules( \n IpRuleArgs.builder()\n .value(\"123.4.5.6\")\n .build(),\n IpRuleArgs.builder()\n .value(\"123.4.6.0/18\")\n .build())\n .build())\n .partitionCount(1)\n .replicaCount(1)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n computeType: azure_native.search.ComputeType.Default,\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n networkRuleSet: {\n bypass: azure_native.search.SearchBypass.AzureServices,\n ipRules: [\n {\n value: \"123.4.5.6\",\n },\n {\n value: \"123.4.6.0/18\",\n },\n ],\n },\n partitionCount: 1,\n replicaCount: 1,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n compute_type=azure_native.search.ComputeType.DEFAULT,\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n network_rule_set={\n \"bypass\": azure_native.search.SearchBypass.AZURE_SERVICES,\n \"ip_rules\": [\n {\n \"value\": \"123.4.5.6\",\n },\n {\n \"value\": \"123.4.6.0/18\",\n },\n ],\n },\n partition_count=1,\n replica_count=1,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n computeType: default\n hostingMode: default\n location: westus\n networkRuleSet:\n bypass: AzureServices\n ipRules:\n - value: 123.4.5.6\n - value: 123.4.6.0/18\n partitionCount: 1\n replicaCount: 1\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceWithCmkEnforcement\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n ComputeType = AzureNative.Search.ComputeType.Default,\n EncryptionWithCmk = new AzureNative.Search.Inputs.EncryptionWithCmkArgs\n {\n Enforcement = AzureNative.Search.SearchEncryptionWithCmk.Enabled,\n },\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tComputeType: pulumi.String(search.ComputeTypeDefault),\n\t\t\tEncryptionWithCmk: \u0026search.EncryptionWithCmkArgs{\n\t\t\t\tEnforcement: search.SearchEncryptionWithCmkEnabled,\n\t\t\t},\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: pulumi.String(search.SkuNameStandard),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.EncryptionWithCmkArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .computeType(\"default\")\n .encryptionWithCmk(EncryptionWithCmkArgs.builder()\n .enforcement(\"Enabled\")\n .build())\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n computeType: azure_native.search.ComputeType.Default,\n encryptionWithCmk: {\n enforcement: azure_native.search.SearchEncryptionWithCmk.Enabled,\n },\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n compute_type=azure_native.search.ComputeType.DEFAULT,\n encryption_with_cmk={\n \"enforcement\": azure_native.search.SearchEncryptionWithCmk.ENABLED,\n },\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n computeType: default\n encryptionWithCmk:\n enforcement: Enabled\n hostingMode: default\n location: westus\n partitionCount: 1\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateServiceWithDataExfiltration\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n ComputeType = AzureNative.Search.ComputeType.Default,\n DataExfiltrationProtections = new[]\n {\n AzureNative.Search.SearchDataExfiltrationProtection.BlockAll,\n },\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tComputeType: pulumi.String(search.ComputeTypeDefault),\n\t\t\tDataExfiltrationProtections: pulumi.StringArray{\n\t\t\t\tpulumi.String(search.SearchDataExfiltrationProtectionBlockAll),\n\t\t\t},\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: pulumi.String(search.SkuNameStandard),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .computeType(\"default\")\n .dataExfiltrationProtections(\"BlockAll\")\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n computeType: azure_native.search.ComputeType.Default,\n dataExfiltrationProtections: [azure_native.search.SearchDataExfiltrationProtection.BlockAll],\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n compute_type=azure_native.search.ComputeType.DEFAULT,\n data_exfiltration_protections=[azure_native.search.SearchDataExfiltrationProtection.BLOCK_ALL],\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n computeType: default\n dataExfiltrationProtections:\n - BlockAll\n hostingMode: default\n location: westus\n partitionCount: 1\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% example %}}\n### SearchCreateOrUpdateWithSemanticSearch\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var service = new AzureNative.Search.Service(\"service\", new()\n {\n ComputeType = AzureNative.Search.ComputeType.Default,\n HostingMode = AzureNative.Search.HostingMode.Default,\n Location = \"westus\",\n PartitionCount = 1,\n ReplicaCount = 3,\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n SemanticSearch = AzureNative.Search.SearchSemanticSearch.Free,\n Sku = new AzureNative.Search.Inputs.SkuArgs\n {\n Name = AzureNative.Search.SkuName.Standard,\n },\n Tags = \n {\n { \"app-name\", \"My e-commerce app\" },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewService(ctx, \"service\", \u0026search.ServiceArgs{\n\t\t\tComputeType: pulumi.String(search.ComputeTypeDefault),\n\t\t\tHostingMode: search.HostingModeDefault,\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tPartitionCount: pulumi.Int(1),\n\t\t\tReplicaCount: pulumi.Int(3),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSemanticSearch: pulumi.String(search.SearchSemanticSearchFree),\n\t\t\tSku: \u0026search.SkuArgs{\n\t\t\t\tName: pulumi.String(search.SkuNameStandard),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"app-name\": pulumi.String(\"My e-commerce app\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.Service;\nimport com.pulumi.azurenative.search.ServiceArgs;\nimport com.pulumi.azurenative.search.inputs.SkuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var service = new Service(\"service\", ServiceArgs.builder()\n .computeType(\"default\")\n .hostingMode(\"default\")\n .location(\"westus\")\n .partitionCount(1)\n .replicaCount(3)\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .semanticSearch(\"free\")\n .sku(SkuArgs.builder()\n .name(\"standard\")\n .build())\n .tags(Map.of(\"app-name\", \"My e-commerce app\"))\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst service = new azure_native.search.Service(\"service\", {\n computeType: azure_native.search.ComputeType.Default,\n hostingMode: azure_native.search.HostingMode.Default,\n location: \"westus\",\n partitionCount: 1,\n replicaCount: 3,\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n semanticSearch: azure_native.search.SearchSemanticSearch.Free,\n sku: {\n name: azure_native.search.SkuName.Standard,\n },\n tags: {\n \"app-name\": \"My e-commerce app\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nservice = azure_native.search.Service(\"service\",\n compute_type=azure_native.search.ComputeType.DEFAULT,\n hosting_mode=azure_native.search.HostingMode.DEFAULT,\n location=\"westus\",\n partition_count=1,\n replica_count=3,\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n semantic_search=azure_native.search.SearchSemanticSearch.FREE,\n sku={\n \"name\": azure_native.search.SkuName.STANDARD,\n },\n tags={\n \"app-name\": \"My e-commerce app\",\n })\n\n```\n\n```yaml\nresources:\n service:\n type: azure-native:search:Service\n properties:\n computeType: default\n hostingMode: default\n location: westus\n partitionCount: 1\n replicaCount: 3\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n semanticSearch: free\n sku:\n name: standard\n tags:\n app-name: My e-commerce app\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:search:Service mysearchservice /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} \n```\n", "properties": { "authOptions": { "type": "object", @@ -862394,15 +862618,34 @@ "type": "string", "description": "The Azure API version of the resource." }, + "computeType": { + "type": "string", + "description": "Configure this property to support the search service using either the Default Compute or Azure Confidential Compute." + }, + "dataExfiltrationProtections": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future." + }, "disableLocalAuth": { "type": "boolean", "description": "When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined." }, + "eTag": { + "type": "string", + "description": "A system generated property representing the service's etag that can be for optimistic concurrency control during updates." + }, "encryptionWithCmk": { "type": "object", "$ref": "#/types/azure-native:search:EncryptionWithCmkResponse", "description": "Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys within a search service." }, + "endpoint": { + "type": "string", + "description": "The endpoint of the Azure AI Search service." + }, "hostingMode": { "type": "string", "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'.", @@ -862424,7 +862667,7 @@ "networkRuleSet": { "type": "object", "$ref": "#/types/azure-native:search:NetworkRuleSetResponse", - "description": "Network-specific rules that determine how the search service may be reached." + "description": "Network specific rules that determine how the Azure AI Search service may be reached." }, "partitionCount": { "type": "integer", @@ -862437,11 +862680,11 @@ "type": "object", "$ref": "#/types/azure-native:search:PrivateEndpointConnectionResponse" }, - "description": "The list of private endpoint connections to the search service." + "description": "The list of private endpoint connections to the Azure AI Search service." }, "provisioningState": { "type": "string", - "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up." + "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up." }, "publicNetworkAccess": { "type": "string", @@ -862455,7 +862698,11 @@ }, "semanticSearch": { "type": "string", - "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations." + "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations." + }, + "serviceUpgradedAt": { + "type": "string", + "description": "The date and time the search service was last upgraded. This field will be null until the service gets upgraded for the first time." }, "sharedPrivateLinkResources": { "type": "array", @@ -862463,21 +862710,26 @@ "type": "object", "$ref": "#/types/azure-native:search:SharedPrivateLinkResourceResponse" }, - "description": "The list of shared private link resources managed by the search service." + "description": "The list of shared private link resources managed by the Azure AI Search service." }, "sku": { "type": "object", "$ref": "#/types/azure-native:search:SkuResponse", - "description": "The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service." + "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service." }, "status": { "type": "string", - "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, Microsoft is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned." + "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned." }, "statusDetails": { "type": "string", "description": "The details of the search service status." }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:search:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + }, "tags": { "type": "object", "additionalProperties": { @@ -862488,18 +862740,25 @@ "type": { "type": "string", "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "upgradeAvailable": { + "type": "string", + "description": "Indicates if the search service has an upgrade available." } }, "type": "object", "required": [ "azureApiVersion", + "eTag", "location", "name", "privateEndpointConnections", "provisioningState", + "serviceUpgradedAt", "sharedPrivateLinkResources", "status", "statusDetails", + "systemData", "type" ], "inputProperties": { @@ -862508,6 +862767,31 @@ "$ref": "#/types/azure-native:search:DataPlaneAuthOptions", "description": "Defines the options for how the data plane API of a search service authenticates requests. This cannot be set if 'disableLocalAuth' is set to true." }, + "computeType": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:search:ComputeType" + } + ], + "description": "Configure this property to support the search service using either the Default Compute or Azure Confidential Compute." + }, + "dataExfiltrationProtections": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:search:SearchDataExfiltrationProtection" + } + ] + }, + "description": "A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future." + }, "disableLocalAuth": { "type": "boolean", "description": "When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined." @@ -862517,6 +862801,10 @@ "$ref": "#/types/azure-native:search:EncryptionWithCmk", "description": "Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys within a search service." }, + "endpoint": { + "type": "string", + "description": "The endpoint of the Azure AI Search service." + }, "hostingMode": { "$ref": "#/types/azure-native:search:HostingMode", "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'.", @@ -862535,7 +862823,7 @@ "networkRuleSet": { "type": "object", "$ref": "#/types/azure-native:search:NetworkRuleSet", - "description": "Network-specific rules that determine how the search service may be reached." + "description": "Network specific rules that determine how the Azure AI Search service may be reached." }, "partitionCount": { "type": "integer", @@ -862543,7 +862831,14 @@ "default": 1 }, "publicNetworkAccess": { - "$ref": "#/types/azure-native:search:PublicNetworkAccess", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:search:PublicNetworkAccess" + } + ], "description": "This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method.", "default": "enabled" }, @@ -862559,7 +862854,7 @@ }, "searchServiceName": { "type": "string", - "description": "The name of the search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://\u003cname\u003e.search.windows.net). You cannot change the service name after the service is created.", + "description": "The name of the Azure AI Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be unique since they are part of the service URI (https://\u003cname\u003e.search.windows.net). You cannot change the service name after the service is created.", "willReplaceOnChanges": true }, "semanticSearch": { @@ -862571,12 +862866,12 @@ "$ref": "#/types/azure-native:search:SearchSemanticSearch" } ], - "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations." + "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations." }, "sku": { "type": "object", "$ref": "#/types/azure-native:search:Sku", - "description": "The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service." + "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service." }, "tags": { "type": "object", @@ -862584,6 +862879,17 @@ "type": "string" }, "description": "Resource tags." + }, + "upgradeAvailable": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:search:UpgradeAvailable" + } + ], + "description": "Indicates if the search service has an upgrade available." } }, "requiredInputs": [ @@ -862629,7 +862935,7 @@ ] }, "azure-native:search:SharedPrivateLinkResource": { - "description": "Describes a Shared Private Link Resource managed by the search service.\n\nUses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01.\n\nOther available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### SharedPrivateLinkResourceCreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sharedPrivateLinkResource = new AzureNative.Search.SharedPrivateLinkResource(\"sharedPrivateLinkResource\", new()\n {\n Properties = new AzureNative.Search.Inputs.SharedPrivateLinkResourcePropertiesArgs\n {\n GroupId = \"blob\",\n PrivateLinkResourceId = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName\",\n RequestMessage = \"please approve\",\n },\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n SharedPrivateLinkResourceName = \"testResource\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewSharedPrivateLinkResource(ctx, \"sharedPrivateLinkResource\", \u0026search.SharedPrivateLinkResourceArgs{\n\t\t\tProperties: \u0026search.SharedPrivateLinkResourcePropertiesArgs{\n\t\t\t\tGroupId: pulumi.String(\"blob\"),\n\t\t\t\tPrivateLinkResourceId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName\"),\n\t\t\t\tRequestMessage: pulumi.String(\"please approve\"),\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSharedPrivateLinkResourceName: pulumi.String(\"testResource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.SharedPrivateLinkResource;\nimport com.pulumi.azurenative.search.SharedPrivateLinkResourceArgs;\nimport com.pulumi.azurenative.search.inputs.SharedPrivateLinkResourcePropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sharedPrivateLinkResource = new SharedPrivateLinkResource(\"sharedPrivateLinkResource\", SharedPrivateLinkResourceArgs.builder()\n .properties(SharedPrivateLinkResourcePropertiesArgs.builder()\n .groupId(\"blob\")\n .privateLinkResourceId(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName\")\n .requestMessage(\"please approve\")\n .build())\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sharedPrivateLinkResourceName(\"testResource\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst sharedPrivateLinkResource = new azure_native.search.SharedPrivateLinkResource(\"sharedPrivateLinkResource\", {\n properties: {\n groupId: \"blob\",\n privateLinkResourceId: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName\",\n requestMessage: \"please approve\",\n },\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sharedPrivateLinkResourceName: \"testResource\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nshared_private_link_resource = azure_native.search.SharedPrivateLinkResource(\"sharedPrivateLinkResource\",\n properties={\n \"group_id\": \"blob\",\n \"private_link_resource_id\": \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName\",\n \"request_message\": \"please approve\",\n },\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n shared_private_link_resource_name=\"testResource\")\n\n```\n\n```yaml\nresources:\n sharedPrivateLinkResource:\n type: azure-native:search:SharedPrivateLinkResource\n properties:\n properties:\n groupId: blob\n privateLinkResourceId: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName\n requestMessage: please approve\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sharedPrivateLinkResourceName: testResource\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:search:SharedPrivateLinkResource testResource /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName} \n```\n", + "description": "Describes a shared private link resource managed by the Azure AI Search service.\n\nUses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01.\n\nOther available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### SharedPrivateLinkResourceCreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sharedPrivateLinkResource = new AzureNative.Search.SharedPrivateLinkResource(\"sharedPrivateLinkResource\", new()\n {\n Properties = new AzureNative.Search.Inputs.SharedPrivateLinkResourcePropertiesArgs\n {\n GroupId = \"blob\",\n PrivateLinkResourceId = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName\",\n RequestMessage = \"please approve\",\n },\n ResourceGroupName = \"rg1\",\n SearchServiceName = \"mysearchservice\",\n SharedPrivateLinkResourceName = \"testResource\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tsearch \"github.com/pulumi/pulumi-azure-native-sdk/search/v3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := search.NewSharedPrivateLinkResource(ctx, \"sharedPrivateLinkResource\", \u0026search.SharedPrivateLinkResourceArgs{\n\t\t\tProperties: \u0026search.SharedPrivateLinkResourcePropertiesArgs{\n\t\t\t\tGroupId: pulumi.String(\"blob\"),\n\t\t\t\tPrivateLinkResourceId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName\"),\n\t\t\t\tRequestMessage: pulumi.String(\"please approve\"),\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tSearchServiceName: pulumi.String(\"mysearchservice\"),\n\t\t\tSharedPrivateLinkResourceName: pulumi.String(\"testResource\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurenative.search.SharedPrivateLinkResource;\nimport com.pulumi.azurenative.search.SharedPrivateLinkResourceArgs;\nimport com.pulumi.azurenative.search.inputs.SharedPrivateLinkResourcePropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var sharedPrivateLinkResource = new SharedPrivateLinkResource(\"sharedPrivateLinkResource\", SharedPrivateLinkResourceArgs.builder()\n .properties(SharedPrivateLinkResourcePropertiesArgs.builder()\n .groupId(\"blob\")\n .privateLinkResourceId(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName\")\n .requestMessage(\"please approve\")\n .build())\n .resourceGroupName(\"rg1\")\n .searchServiceName(\"mysearchservice\")\n .sharedPrivateLinkResourceName(\"testResource\")\n .build());\n\n }\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azure_native from \"@pulumi/azure-native\";\n\nconst sharedPrivateLinkResource = new azure_native.search.SharedPrivateLinkResource(\"sharedPrivateLinkResource\", {\n properties: {\n groupId: \"blob\",\n privateLinkResourceId: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName\",\n requestMessage: \"please approve\",\n },\n resourceGroupName: \"rg1\",\n searchServiceName: \"mysearchservice\",\n sharedPrivateLinkResourceName: \"testResource\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nshared_private_link_resource = azure_native.search.SharedPrivateLinkResource(\"sharedPrivateLinkResource\",\n properties={\n \"group_id\": \"blob\",\n \"private_link_resource_id\": \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName\",\n \"request_message\": \"please approve\",\n },\n resource_group_name=\"rg1\",\n search_service_name=\"mysearchservice\",\n shared_private_link_resource_name=\"testResource\")\n\n```\n\n```yaml\nresources:\n sharedPrivateLinkResource:\n type: azure-native:search:SharedPrivateLinkResource\n properties:\n properties:\n groupId: blob\n privateLinkResourceId: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName\n requestMessage: please approve\n resourceGroupName: rg1\n searchServiceName: mysearchservice\n sharedPrivateLinkResourceName: testResource\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn existing resource can be imported using its type token, name, and identifier, e.g.\n\n```sh\n$ pulumi import azure-native:search:SharedPrivateLinkResource testResource /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName} \n```\n", "properties": { "azureApiVersion": { "type": "string", @@ -862642,7 +862948,12 @@ "properties": { "type": "object", "$ref": "#/types/azure-native:search:SharedPrivateLinkResourcePropertiesResponse", - "description": "Describes the properties of a Shared Private Link Resource managed by the search service." + "description": "Describes the properties of a shared private link resource managed by the Azure AI Search service." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:search:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." }, "type": { "type": "string", @@ -862654,13 +862965,14 @@ "azureApiVersion", "name", "properties", + "systemData", "type" ], "inputProperties": { "properties": { "type": "object", "$ref": "#/types/azure-native:search:SharedPrivateLinkResourceProperties", - "description": "Describes the properties of a Shared Private Link Resource managed by the search service." + "description": "Describes the properties of a shared private link resource managed by the Azure AI Search service." }, "resourceGroupName": { "type": "string", @@ -862669,12 +862981,12 @@ }, "searchServiceName": { "type": "string", - "description": "The name of the search service associated with the specified resource group.", + "description": "The name of the Azure AI Search service associated with the specified resource group.", "willReplaceOnChanges": true }, "sharedPrivateLinkResourceName": { "type": "string", - "description": "The name of the shared private link resource managed by the search service within the specified resource group.", + "description": "The name of the shared private link resource managed by the Azure AI Search service within the specified resource group.", "willReplaceOnChanges": true } }, @@ -1134699,12 +1135011,12 @@ } }, "azure-native:search:getPrivateEndpointConnection": { - "description": "Gets the details of the private endpoint connection to the search service in the given resource group.\n\nUses Azure REST API version 2023-11-01.\n\nOther available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.", + "description": "Gets the details of the private endpoint connection to the search service in the given resource group.\n\nUses Azure REST API version 2025-05-01.\n\nOther available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.", "inputs": { "properties": { "privateEndpointConnectionName": { "type": "string", - "description": "The name of the private endpoint connection to the search service with the specified resource group.", + "description": "The name of the private endpoint connection to the Azure AI Search service with the specified resource group.", "willReplaceOnChanges": true }, "resourceGroupName": { @@ -1134714,7 +1135026,7 @@ }, "searchServiceName": { "type": "string", - "description": "The name of the search service associated with the specified resource group.", + "description": "The name of the Azure AI Search service associated with the specified resource group.", "willReplaceOnChanges": true } }, @@ -1134726,7 +1135038,7 @@ ] }, "outputs": { - "description": "Describes an existing private endpoint connection to the search service.", + "description": "Describes an existing private endpoint connection to the Azure AI Search service.", "properties": { "azureApiVersion": { "type": "string", @@ -1134734,7 +1135046,7 @@ }, "id": { "type": "string", - "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + "description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\"" }, "name": { "type": "string", @@ -1134743,7 +1135055,12 @@ "properties": { "type": "object", "$ref": "#/types/azure-native:search:PrivateEndpointConnectionPropertiesResponse", - "description": "Describes the properties of an existing private endpoint connection to the search service." + "description": "Describes the properties of an existing private endpoint connection to the Azure AI Search service." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:search:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." }, "type": { "type": "string", @@ -1134756,12 +1135073,13 @@ "id", "name", "properties", + "systemData", "type" ] } }, "azure-native:search:getService": { - "description": "Gets the search service with the given name in the given resource group.\n\nUses Azure REST API version 2023-11-01.\n\nOther available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.", + "description": "Gets the search service with the given name in the given resource group.\n\nUses Azure REST API version 2025-05-01.\n\nOther available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.", "inputs": { "properties": { "resourceGroupName": { @@ -1134771,7 +1135089,7 @@ }, "searchServiceName": { "type": "string", - "description": "The name of the search service associated with the specified resource group.", + "description": "The name of the Azure AI Search service associated with the specified resource group.", "willReplaceOnChanges": true } }, @@ -1134782,7 +1135100,7 @@ ] }, "outputs": { - "description": "Describes a search service and its current state.", + "description": "Describes an Azure AI Search service and its current state.", "properties": { "authOptions": { "type": "object", @@ -1134793,15 +1135111,34 @@ "type": "string", "description": "The Azure API version of the resource." }, + "computeType": { + "type": "string", + "description": "Configure this property to support the search service using either the Default Compute or Azure Confidential Compute." + }, + "dataExfiltrationProtections": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future." + }, "disableLocalAuth": { "type": "boolean", "description": "When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined." }, + "eTag": { + "type": "string", + "description": "A system generated property representing the service's etag that can be for optimistic concurrency control during updates." + }, "encryptionWithCmk": { "type": "object", "$ref": "#/types/azure-native:search:EncryptionWithCmkResponse", "description": "Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys within a search service." }, + "endpoint": { + "type": "string", + "description": "The endpoint of the Azure AI Search service." + }, "hostingMode": { "type": "string", "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'.", @@ -1134809,7 +1135146,7 @@ }, "id": { "type": "string", - "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + "description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\"" }, "identity": { "type": "object", @@ -1134827,7 +1135164,7 @@ "networkRuleSet": { "type": "object", "$ref": "#/types/azure-native:search:NetworkRuleSetResponse", - "description": "Network-specific rules that determine how the search service may be reached." + "description": "Network specific rules that determine how the Azure AI Search service may be reached." }, "partitionCount": { "type": "integer", @@ -1134840,11 +1135177,11 @@ "type": "object", "$ref": "#/types/azure-native:search:PrivateEndpointConnectionResponse" }, - "description": "The list of private endpoint connections to the search service." + "description": "The list of private endpoint connections to the Azure AI Search service." }, "provisioningState": { "type": "string", - "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up." + "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up." }, "publicNetworkAccess": { "type": "string", @@ -1134858,7 +1135195,11 @@ }, "semanticSearch": { "type": "string", - "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations." + "description": "Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations." + }, + "serviceUpgradedAt": { + "type": "string", + "description": "The date and time the search service was last upgraded. This field will be null until the service gets upgraded for the first time." }, "sharedPrivateLinkResources": { "type": "array", @@ -1134866,21 +1135207,26 @@ "type": "object", "$ref": "#/types/azure-native:search:SharedPrivateLinkResourceResponse" }, - "description": "The list of shared private link resources managed by the search service." + "description": "The list of shared private link resources managed by the Azure AI Search service." }, "sku": { "type": "object", "$ref": "#/types/azure-native:search:SkuResponse", - "description": "The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service." + "description": "The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service." }, "status": { "type": "string", - "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, Microsoft is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned." + "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned." }, "statusDetails": { "type": "string", "description": "The details of the search service status." }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:search:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + }, "tags": { "type": "object", "additionalProperties": { @@ -1134891,25 +1135237,32 @@ "type": { "type": "string", "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "upgradeAvailable": { + "type": "string", + "description": "Indicates if the search service has an upgrade available." } }, "type": "object", "required": [ "azureApiVersion", + "eTag", "id", "location", "name", "privateEndpointConnections", "provisioningState", + "serviceUpgradedAt", "sharedPrivateLinkResources", "status", "statusDetails", + "systemData", "type" ] } }, "azure-native:search:getSharedPrivateLinkResource": { - "description": "Gets the details of the shared private link resource managed by the search service in the given resource group.\n\nUses Azure REST API version 2023-11-01.\n\nOther available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.", + "description": "Gets the details of the shared private link resource managed by the search service in the given resource group.\n\nUses Azure REST API version 2025-05-01.\n\nOther available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.", "inputs": { "properties": { "resourceGroupName": { @@ -1134919,12 +1135272,12 @@ }, "searchServiceName": { "type": "string", - "description": "The name of the search service associated with the specified resource group.", + "description": "The name of the Azure AI Search service associated with the specified resource group.", "willReplaceOnChanges": true }, "sharedPrivateLinkResourceName": { "type": "string", - "description": "The name of the shared private link resource managed by the search service within the specified resource group.", + "description": "The name of the shared private link resource managed by the Azure AI Search service within the specified resource group.", "willReplaceOnChanges": true } }, @@ -1134936,7 +1135289,7 @@ ] }, "outputs": { - "description": "Describes a Shared Private Link Resource managed by the search service.", + "description": "Describes a shared private link resource managed by the Azure AI Search service.", "properties": { "azureApiVersion": { "type": "string", @@ -1134944,7 +1135297,7 @@ }, "id": { "type": "string", - "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + "description": "Fully qualified resource ID for the resource. E.g. \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}\"" }, "name": { "type": "string", @@ -1134953,7 +1135306,12 @@ "properties": { "type": "object", "$ref": "#/types/azure-native:search:SharedPrivateLinkResourcePropertiesResponse", - "description": "Describes the properties of a Shared Private Link Resource managed by the search service." + "description": "Describes the properties of a shared private link resource managed by the Azure AI Search service." + }, + "systemData": { + "type": "object", + "$ref": "#/types/azure-native:search:SystemDataResponse", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." }, "type": { "type": "string", @@ -1134966,12 +1135324,13 @@ "id", "name", "properties", + "systemData", "type" ] } }, "azure-native:search:listAdminKey": { - "description": "Gets the primary and secondary admin API keys for the specified search service.\n\nUses Azure REST API version 2023-11-01.\n\nOther available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.", + "description": "Gets the primary and secondary admin API keys for the specified Azure AI Search service.\n\nUses Azure REST API version 2025-05-01.\n\nOther available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.", "inputs": { "properties": { "resourceGroupName": { @@ -1134981,7 +1135340,7 @@ }, "searchServiceName": { "type": "string", - "description": "The name of the search service associated with the specified resource group.", + "description": "The name of the Azure AI Search service associated with the specified resource group.", "willReplaceOnChanges": true } }, @@ -1134992,7 +1135351,7 @@ ] }, "outputs": { - "description": "Response containing the primary and secondary admin API keys for a given search service.", + "description": "Response containing the primary and secondary admin API keys for a given Azure AI Search service.", "properties": { "primaryKey": { "type": "string", @@ -1135011,7 +1135370,7 @@ } }, "azure-native:search:listQueryKeyBySearchService": { - "description": "Returns the list of query API keys for the given search service.\n\nUses Azure REST API version 2023-11-01.\n\nOther available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.", + "description": "Returns the list of query API keys for the given Azure AI Search service.\n\nUses Azure REST API version 2025-05-01.\n\nOther available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.", "inputs": { "properties": { "resourceGroupName": { @@ -1135021,7 +1135380,7 @@ }, "searchServiceName": { "type": "string", - "description": "The name of the search service associated with the specified resource group.", + "description": "The name of the Azure AI Search service associated with the specified resource group.", "willReplaceOnChanges": true } }, @@ -1135032,7 +1135391,7 @@ ] }, "outputs": { - "description": "Response containing the query API keys for a given search service.", + "description": "Response containing the query API keys for a given Azure AI Search service.", "properties": { "nextLink": { "type": "string", @@ -1135044,7 +1135403,7 @@ "type": "object", "$ref": "#/types/azure-native:search:QueryKeyResponse" }, - "description": "The query keys for the search service." + "description": "The query keys for the Azure AI Search service." } }, "type": "object", diff --git a/reports/pending.json b/reports/pending.json index c5c9a1eabc9c..ed806663ae9a 100644 --- a/reports/pending.json +++ b/reports/pending.json @@ -1120,12 +1120,7 @@ ], "Scheduler": [], "Scom": [], - "Search": [ - "2024-03-01-preview", - "2024-06-01-preview", - "2025-02-01-preview", - "2025-05-01" - ], + "Search": [], "SecretSyncController": [], "Security": [ "2019-01-01", diff --git a/sdk/dotnet/Search/Enums.cs b/sdk/dotnet/Search/Enums.cs index d4936e6da6fc..5221bd2c9de6 100644 --- a/sdk/dotnet/Search/Enums.cs +++ b/sdk/dotnet/Search/Enums.cs @@ -44,6 +44,43 @@ private AadAuthFailureMode(string value) public override string ToString() => _value; } + /// + /// Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + /// + [EnumType] + public readonly struct ComputeType : IEquatable + { + private readonly string _value; + + private ComputeType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Create the service with the Default Compute. + /// + public static ComputeType Default { get; } = new ComputeType("default"); + /// + /// Create the service with Azure Confidential Compute. + /// + public static ComputeType Confidential { get; } = new ComputeType("confidential"); + + public static bool operator ==(ComputeType left, ComputeType right) => left.Equals(right); + public static bool operator !=(ComputeType left, ComputeType right) => !left.Equals(right); + + public static explicit operator string(ComputeType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ComputeType other && Equals(other); + public bool Equals(ComputeType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. /// @@ -82,7 +119,7 @@ private HostingMode(string value) } /// - /// The identity type. + /// The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. /// [EnumType] public readonly struct IdentityType : IEquatable @@ -94,8 +131,22 @@ private IdentityType(string value) _value = value ?? throw new ArgumentNullException(nameof(value)); } + /// + /// Indicates that any identity associated with the search service needs to be removed. + /// public static IdentityType None { get; } = new IdentityType("None"); + /// + /// Indicates that system-assigned identity for the search service will be enabled. + /// public static IdentityType SystemAssigned { get; } = new IdentityType("SystemAssigned"); + /// + /// Indicates that one or more user assigned identities will be assigned to the search service. + /// + public static IdentityType UserAssigned { get; } = new IdentityType("UserAssigned"); + /// + /// Indicates that system-assigned identity for the search service will be enabled along with the assignment of one or more user assigned identities. + /// + public static IdentityType SystemAssigned_UserAssigned { get; } = new IdentityType("SystemAssigned, UserAssigned"); public static bool operator ==(IdentityType left, IdentityType right) => left.Equals(right); public static bool operator !=(IdentityType left, IdentityType right) => !left.Equals(right); @@ -113,7 +164,7 @@ private IdentityType(string value) } /// - /// The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete + /// The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. /// [EnumType] public readonly struct PrivateLinkServiceConnectionProvisioningState : IEquatable @@ -146,7 +197,7 @@ private PrivateLinkServiceConnectionProvisioningState(string value) /// public static PrivateLinkServiceConnectionProvisioningState Incomplete { get; } = new PrivateLinkServiceConnectionProvisioningState("Incomplete"); /// - /// Provisioning request for the private link service connection resource has been canceled + /// Provisioning request for the private link service connection resource has been canceled. /// public static PrivateLinkServiceConnectionProvisioningState Canceled { get; } = new PrivateLinkServiceConnectionProvisioningState("Canceled"); @@ -223,8 +274,18 @@ private PublicNetworkAccess(string value) _value = value ?? throw new ArgumentNullException(nameof(value)); } + /// + /// The search service is accessible from traffic originating from the public internet. + /// public static PublicNetworkAccess Enabled { get; } = new PublicNetworkAccess("enabled"); + /// + /// The search service is not accessible from traffic originating from the public internet. Access is only permitted over approved private endpoint connections. + /// public static PublicNetworkAccess Disabled { get; } = new PublicNetworkAccess("disabled"); + /// + /// The network security perimeter configuration rules allow or disallow public network access to the resource. Requires an associated network security perimeter. + /// + public static PublicNetworkAccess SecuredByPerimeter { get; } = new PublicNetworkAccess("securedByPerimeter"); public static bool operator ==(PublicNetworkAccess left, PublicNetworkAccess right) => left.Equals(right); public static bool operator !=(PublicNetworkAccess left, PublicNetworkAccess right) => !left.Equals(right); @@ -242,7 +303,77 @@ private PublicNetworkAccess(string value) } /// - /// Describes how a search service should enforce having one or more non-customer-encrypted resources. + /// Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + /// + [EnumType] + public readonly struct SearchBypass : IEquatable + { + private readonly string _value; + + private SearchBypass(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Indicates that no origin can bypass the rules defined in the 'ipRules' section. This is the default. + /// + public static SearchBypass None { get; } = new SearchBypass("None"); + /// + /// Indicates that requests originating from Azure trusted services can bypass the rules defined in the 'ipRules' section. + /// + public static SearchBypass AzureServices { get; } = new SearchBypass("AzureServices"); + + public static bool operator ==(SearchBypass left, SearchBypass right) => left.Equals(right); + public static bool operator !=(SearchBypass left, SearchBypass right) => !left.Equals(right); + + public static explicit operator string(SearchBypass value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SearchBypass other && Equals(other); + public bool Equals(SearchBypass other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// A specific data exfiltration scenario that is disabled for the service. + /// + [EnumType] + public readonly struct SearchDataExfiltrationProtection : IEquatable + { + private readonly string _value; + + private SearchDataExfiltrationProtection(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Indicates that all data exfiltration scenarios are disabled. + /// + public static SearchDataExfiltrationProtection BlockAll { get; } = new SearchDataExfiltrationProtection("BlockAll"); + + public static bool operator ==(SearchDataExfiltrationProtection left, SearchDataExfiltrationProtection right) => left.Equals(right); + public static bool operator !=(SearchDataExfiltrationProtection left, SearchDataExfiltrationProtection right) => !left.Equals(right); + + public static explicit operator string(SearchDataExfiltrationProtection value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SearchDataExfiltrationProtection other && Equals(other); + public bool Equals(SearchDataExfiltrationProtection other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. /// [EnumType] public readonly struct SearchEncryptionWithCmk : IEquatable @@ -255,11 +386,11 @@ private SearchEncryptionWithCmk(string value) } /// - /// No enforcement will be made and the search service can have non-customer-encrypted resources. + /// No enforcement of customer-managed key encryption will be made. Only the built-in service-managed encryption is used. /// public static SearchEncryptionWithCmk Disabled { get; } = new SearchEncryptionWithCmk("Disabled"); /// - /// Search service will be marked as non-compliant if there are one or more non-customer-encrypted resources. + /// Search service will be marked as non-compliant if one or more objects aren't encrypted with a customer-managed key. /// public static SearchEncryptionWithCmk Enabled { get; } = new SearchEncryptionWithCmk("Enabled"); /// @@ -283,7 +414,7 @@ private SearchEncryptionWithCmk(string value) } /// - /// Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. + /// Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. /// [EnumType] public readonly struct SearchSemanticSearch : IEquatable @@ -296,15 +427,15 @@ private SearchSemanticSearch(string value) } /// - /// Indicates that semantic ranking is disabled for the search service. + /// Indicates that semantic reranker is disabled for the search service. This is the default. /// public static SearchSemanticSearch Disabled { get; } = new SearchSemanticSearch("disabled"); /// - /// Enables semantic ranking on a search service and indicates that it is to be used within the limits of the free tier. This would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services. + /// Enables semantic reranker on a search service and indicates that it is to be used within the limits of the free plan. The free plan would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services. /// public static SearchSemanticSearch Free { get; } = new SearchSemanticSearch("free"); /// - /// Enables semantic ranking on a search service as a billable feature, with higher throughput and volume of semantic ranking requests. + /// Enables semantic reranker on a search service as a billable feature, with higher throughput and volume of semantically reranked queries. /// public static SearchSemanticSearch Standard { get; } = new SearchSemanticSearch("standard"); @@ -336,10 +467,25 @@ private SharedPrivateLinkResourceProvisioningState(string value) _value = value ?? throw new ArgumentNullException(nameof(value)); } + /// + /// The shared private link resource is in the process of being created along with other resources for it to be fully functional. + /// public static SharedPrivateLinkResourceProvisioningState Updating { get; } = new SharedPrivateLinkResourceProvisioningState("Updating"); + /// + /// The shared private link resource is in the process of being deleted. + /// public static SharedPrivateLinkResourceProvisioningState Deleting { get; } = new SharedPrivateLinkResourceProvisioningState("Deleting"); + /// + /// The shared private link resource has failed to be provisioned or deleted. + /// public static SharedPrivateLinkResourceProvisioningState Failed { get; } = new SharedPrivateLinkResourceProvisioningState("Failed"); + /// + /// The shared private link resource has finished provisioning and is ready for approval. + /// public static SharedPrivateLinkResourceProvisioningState Succeeded { get; } = new SharedPrivateLinkResourceProvisioningState("Succeeded"); + /// + /// Provisioning request for the shared private link resource has been accepted but the process of creation has not commenced yet. + /// public static SharedPrivateLinkResourceProvisioningState Incomplete { get; } = new SharedPrivateLinkResourceProvisioningState("Incomplete"); public static bool operator ==(SharedPrivateLinkResourceProvisioningState left, SharedPrivateLinkResourceProvisioningState right) => left.Equals(right); @@ -370,9 +516,21 @@ private SharedPrivateLinkResourceStatus(string value) _value = value ?? throw new ArgumentNullException(nameof(value)); } + /// + /// The shared private link resource has been created and is pending approval. + /// public static SharedPrivateLinkResourceStatus Pending { get; } = new SharedPrivateLinkResourceStatus("Pending"); + /// + /// The shared private link resource is approved and is ready for use. + /// public static SharedPrivateLinkResourceStatus Approved { get; } = new SharedPrivateLinkResourceStatus("Approved"); + /// + /// The shared private link resource has been rejected and cannot be used. + /// public static SharedPrivateLinkResourceStatus Rejected { get; } = new SharedPrivateLinkResourceStatus("Rejected"); + /// + /// The shared private link resource has been removed from the service. + /// public static SharedPrivateLinkResourceStatus Disconnected { get; } = new SharedPrivateLinkResourceStatus("Disconnected"); public static bool operator ==(SharedPrivateLinkResourceStatus left, SharedPrivateLinkResourceStatus right) => left.Equals(right); @@ -446,4 +604,41 @@ private SkuName(string value) public override string ToString() => _value; } + + /// + /// Indicates if the search service has an upgrade available. + /// + [EnumType] + public readonly struct UpgradeAvailable : IEquatable + { + private readonly string _value; + + private UpgradeAvailable(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// An upgrade is currently not available for the service. + /// + public static UpgradeAvailable NotAvailable { get; } = new UpgradeAvailable("notAvailable"); + /// + /// There is an upgrade available for the service. + /// + public static UpgradeAvailable Available { get; } = new UpgradeAvailable("available"); + + public static bool operator ==(UpgradeAvailable left, UpgradeAvailable right) => left.Equals(right); + public static bool operator !=(UpgradeAvailable left, UpgradeAvailable right) => !left.Equals(right); + + public static explicit operator string(UpgradeAvailable value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is UpgradeAvailable other && Equals(other); + public bool Equals(UpgradeAvailable other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } } diff --git a/sdk/dotnet/Search/GetPrivateEndpointConnection.cs b/sdk/dotnet/Search/GetPrivateEndpointConnection.cs index 551bd08f380d..a28346cb373a 100644 --- a/sdk/dotnet/Search/GetPrivateEndpointConnection.cs +++ b/sdk/dotnet/Search/GetPrivateEndpointConnection.cs @@ -14,9 +14,9 @@ public static class GetPrivateEndpointConnection /// /// Gets the details of the private endpoint connection to the search service in the given resource group. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Task InvokeAsync(GetPrivateEndpointConnectionArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:search:getPrivateEndpointConnection", args ?? new GetPrivateEndpointConnectionArgs(), options.WithDefaults()); @@ -24,9 +24,9 @@ public static Task InvokeAsync(GetPrivateEnd /// /// Gets the details of the private endpoint connection to the search service in the given resource group. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Output Invoke(GetPrivateEndpointConnectionInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("azure-native:search:getPrivateEndpointConnection", args ?? new GetPrivateEndpointConnectionInvokeArgs(), options.WithDefaults()); @@ -34,9 +34,9 @@ public static Output Invoke(GetPrivateEndpoi /// /// Gets the details of the private endpoint connection to the search service in the given resource group. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Output Invoke(GetPrivateEndpointConnectionInvokeArgs args, InvokeOutputOptions options) => global::Pulumi.Deployment.Instance.Invoke("azure-native:search:getPrivateEndpointConnection", args ?? new GetPrivateEndpointConnectionInvokeArgs(), options.WithDefaults()); @@ -46,7 +46,7 @@ public static Output Invoke(GetPrivateEndpoi public sealed class GetPrivateEndpointConnectionArgs : global::Pulumi.InvokeArgs { /// - /// The name of the private endpoint connection to the search service with the specified resource group. + /// The name of the private endpoint connection to the Azure AI Search service with the specified resource group. /// [Input("privateEndpointConnectionName", required: true)] public string PrivateEndpointConnectionName { get; set; } = null!; @@ -58,7 +58,7 @@ public sealed class GetPrivateEndpointConnectionArgs : global::Pulumi.InvokeArgs public string ResourceGroupName { get; set; } = null!; /// - /// The name of the search service associated with the specified resource group. + /// The name of the Azure AI Search service associated with the specified resource group. /// [Input("searchServiceName", required: true)] public string SearchServiceName { get; set; } = null!; @@ -72,7 +72,7 @@ public GetPrivateEndpointConnectionArgs() public sealed class GetPrivateEndpointConnectionInvokeArgs : global::Pulumi.InvokeArgs { /// - /// The name of the private endpoint connection to the search service with the specified resource group. + /// The name of the private endpoint connection to the Azure AI Search service with the specified resource group. /// [Input("privateEndpointConnectionName", required: true)] public Input PrivateEndpointConnectionName { get; set; } = null!; @@ -84,7 +84,7 @@ public sealed class GetPrivateEndpointConnectionInvokeArgs : global::Pulumi.Invo public Input ResourceGroupName { get; set; } = null!; /// - /// The name of the search service associated with the specified resource group. + /// The name of the Azure AI Search service associated with the specified resource group. /// [Input("searchServiceName", required: true)] public Input SearchServiceName { get; set; } = null!; @@ -104,7 +104,7 @@ public sealed class GetPrivateEndpointConnectionResult /// public readonly string AzureApiVersion; /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" /// public readonly string Id; /// @@ -112,10 +112,14 @@ public sealed class GetPrivateEndpointConnectionResult /// public readonly string Name; /// - /// Describes the properties of an existing private endpoint connection to the search service. + /// Describes the properties of an existing private endpoint connection to the Azure AI Search service. /// public readonly Outputs.PrivateEndpointConnectionPropertiesResponse Properties; /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" /// public readonly string Type; @@ -130,12 +134,15 @@ private GetPrivateEndpointConnectionResult( Outputs.PrivateEndpointConnectionPropertiesResponse properties, + Outputs.SystemDataResponse systemData, + string type) { AzureApiVersion = azureApiVersion; Id = id; Name = name; Properties = properties; + SystemData = systemData; Type = type; } } diff --git a/sdk/dotnet/Search/GetService.cs b/sdk/dotnet/Search/GetService.cs index 30296a5c75da..685df3b1db11 100644 --- a/sdk/dotnet/Search/GetService.cs +++ b/sdk/dotnet/Search/GetService.cs @@ -14,9 +14,9 @@ public static class GetService /// /// Gets the search service with the given name in the given resource group. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Task InvokeAsync(GetServiceArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:search:getService", args ?? new GetServiceArgs(), options.WithDefaults()); @@ -24,9 +24,9 @@ public static Task InvokeAsync(GetServiceArgs args, InvokeOpti /// /// Gets the search service with the given name in the given resource group. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Output Invoke(GetServiceInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("azure-native:search:getService", args ?? new GetServiceInvokeArgs(), options.WithDefaults()); @@ -34,9 +34,9 @@ public static Output Invoke(GetServiceInvokeArgs args, InvokeO /// /// Gets the search service with the given name in the given resource group. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Output Invoke(GetServiceInvokeArgs args, InvokeOutputOptions options) => global::Pulumi.Deployment.Instance.Invoke("azure-native:search:getService", args ?? new GetServiceInvokeArgs(), options.WithDefaults()); @@ -52,7 +52,7 @@ public sealed class GetServiceArgs : global::Pulumi.InvokeArgs public string ResourceGroupName { get; set; } = null!; /// - /// The name of the search service associated with the specified resource group. + /// The name of the Azure AI Search service associated with the specified resource group. /// [Input("searchServiceName", required: true)] public string SearchServiceName { get; set; } = null!; @@ -72,7 +72,7 @@ public sealed class GetServiceInvokeArgs : global::Pulumi.InvokeArgs public Input ResourceGroupName { get; set; } = null!; /// - /// The name of the search service associated with the specified resource group. + /// The name of the Azure AI Search service associated with the specified resource group. /// [Input("searchServiceName", required: true)] public Input SearchServiceName { get; set; } = null!; @@ -96,19 +96,35 @@ public sealed class GetServiceResult /// public readonly string AzureApiVersion; /// + /// Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + /// + public readonly string? ComputeType; + /// + /// A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future. + /// + public readonly ImmutableArray DataExfiltrationProtections; + /// /// When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. /// public readonly bool? DisableLocalAuth; /// + /// A system generated property representing the service's etag that can be for optimistic concurrency control during updates. + /// + public readonly string ETag; + /// /// Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys within a search service. /// public readonly Outputs.EncryptionWithCmkResponse? EncryptionWithCmk; /// + /// The endpoint of the Azure AI Search service. + /// + public readonly string? Endpoint; + /// /// Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. /// public readonly string? HostingMode; /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" /// public readonly string Id; /// @@ -124,7 +140,7 @@ public sealed class GetServiceResult /// public readonly string Name; /// - /// Network-specific rules that determine how the search service may be reached. + /// Network specific rules that determine how the Azure AI Search service may be reached. /// public readonly Outputs.NetworkRuleSetResponse? NetworkRuleSet; /// @@ -132,11 +148,11 @@ public sealed class GetServiceResult /// public readonly int? PartitionCount; /// - /// The list of private endpoint connections to the search service. + /// The list of private endpoint connections to the Azure AI Search service. /// public readonly ImmutableArray PrivateEndpointConnections; /// - /// The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. + /// The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. /// public readonly string ProvisioningState; /// @@ -148,19 +164,23 @@ public sealed class GetServiceResult /// public readonly int? ReplicaCount; /// - /// Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. + /// Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. /// public readonly string? SemanticSearch; /// - /// The list of shared private link resources managed by the search service. + /// The date and time the search service was last upgraded. This field will be null until the service gets upgraded for the first time. + /// + public readonly string ServiceUpgradedAt; + /// + /// The list of shared private link resources managed by the Azure AI Search service. /// public readonly ImmutableArray SharedPrivateLinkResources; /// - /// The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service. + /// The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. /// public readonly Outputs.SkuResponse? Sku; /// - /// The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, Microsoft is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. + /// The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. /// public readonly string Status; /// @@ -168,6 +188,10 @@ public sealed class GetServiceResult /// public readonly string StatusDetails; /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// /// Resource tags. /// public readonly ImmutableDictionary? Tags; @@ -175,6 +199,10 @@ public sealed class GetServiceResult /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" /// public readonly string Type; + /// + /// Indicates if the search service has an upgrade available. + /// + public readonly string? UpgradeAvailable; [OutputConstructor] private GetServiceResult( @@ -182,10 +210,18 @@ private GetServiceResult( string azureApiVersion, + string? computeType, + + ImmutableArray dataExfiltrationProtections, + bool? disableLocalAuth, + string eTag, + Outputs.EncryptionWithCmkResponse? encryptionWithCmk, + string? endpoint, + string? hostingMode, string id, @@ -210,6 +246,8 @@ private GetServiceResult( string? semanticSearch, + string serviceUpgradedAt, + ImmutableArray sharedPrivateLinkResources, Outputs.SkuResponse? sku, @@ -218,14 +256,22 @@ private GetServiceResult( string statusDetails, + Outputs.SystemDataResponse systemData, + ImmutableDictionary? tags, - string type) + string type, + + string? upgradeAvailable) { AuthOptions = authOptions; AzureApiVersion = azureApiVersion; + ComputeType = computeType; + DataExfiltrationProtections = dataExfiltrationProtections; DisableLocalAuth = disableLocalAuth; + ETag = eTag; EncryptionWithCmk = encryptionWithCmk; + Endpoint = endpoint; HostingMode = hostingMode; Id = id; Identity = identity; @@ -238,12 +284,15 @@ private GetServiceResult( PublicNetworkAccess = publicNetworkAccess; ReplicaCount = replicaCount; SemanticSearch = semanticSearch; + ServiceUpgradedAt = serviceUpgradedAt; SharedPrivateLinkResources = sharedPrivateLinkResources; Sku = sku; Status = status; StatusDetails = statusDetails; + SystemData = systemData; Tags = tags; Type = type; + UpgradeAvailable = upgradeAvailable; } } } diff --git a/sdk/dotnet/Search/GetSharedPrivateLinkResource.cs b/sdk/dotnet/Search/GetSharedPrivateLinkResource.cs index 5d5256fe5726..8c8f8c81c4a6 100644 --- a/sdk/dotnet/Search/GetSharedPrivateLinkResource.cs +++ b/sdk/dotnet/Search/GetSharedPrivateLinkResource.cs @@ -14,9 +14,9 @@ public static class GetSharedPrivateLinkResource /// /// Gets the details of the shared private link resource managed by the search service in the given resource group. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Task InvokeAsync(GetSharedPrivateLinkResourceArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:search:getSharedPrivateLinkResource", args ?? new GetSharedPrivateLinkResourceArgs(), options.WithDefaults()); @@ -24,9 +24,9 @@ public static Task InvokeAsync(GetSharedPriv /// /// Gets the details of the shared private link resource managed by the search service in the given resource group. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Output Invoke(GetSharedPrivateLinkResourceInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("azure-native:search:getSharedPrivateLinkResource", args ?? new GetSharedPrivateLinkResourceInvokeArgs(), options.WithDefaults()); @@ -34,9 +34,9 @@ public static Output Invoke(GetSharedPrivate /// /// Gets the details of the shared private link resource managed by the search service in the given resource group. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Output Invoke(GetSharedPrivateLinkResourceInvokeArgs args, InvokeOutputOptions options) => global::Pulumi.Deployment.Instance.Invoke("azure-native:search:getSharedPrivateLinkResource", args ?? new GetSharedPrivateLinkResourceInvokeArgs(), options.WithDefaults()); @@ -52,13 +52,13 @@ public sealed class GetSharedPrivateLinkResourceArgs : global::Pulumi.InvokeArgs public string ResourceGroupName { get; set; } = null!; /// - /// The name of the search service associated with the specified resource group. + /// The name of the Azure AI Search service associated with the specified resource group. /// [Input("searchServiceName", required: true)] public string SearchServiceName { get; set; } = null!; /// - /// The name of the shared private link resource managed by the search service within the specified resource group. + /// The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. /// [Input("sharedPrivateLinkResourceName", required: true)] public string SharedPrivateLinkResourceName { get; set; } = null!; @@ -78,13 +78,13 @@ public sealed class GetSharedPrivateLinkResourceInvokeArgs : global::Pulumi.Invo public Input ResourceGroupName { get; set; } = null!; /// - /// The name of the search service associated with the specified resource group. + /// The name of the Azure AI Search service associated with the specified resource group. /// [Input("searchServiceName", required: true)] public Input SearchServiceName { get; set; } = null!; /// - /// The name of the shared private link resource managed by the search service within the specified resource group. + /// The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. /// [Input("sharedPrivateLinkResourceName", required: true)] public Input SharedPrivateLinkResourceName { get; set; } = null!; @@ -104,7 +104,7 @@ public sealed class GetSharedPrivateLinkResourceResult /// public readonly string AzureApiVersion; /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" /// public readonly string Id; /// @@ -112,10 +112,14 @@ public sealed class GetSharedPrivateLinkResourceResult /// public readonly string Name; /// - /// Describes the properties of a Shared Private Link Resource managed by the search service. + /// Describes the properties of a shared private link resource managed by the Azure AI Search service. /// public readonly Outputs.SharedPrivateLinkResourcePropertiesResponse Properties; /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" /// public readonly string Type; @@ -130,12 +134,15 @@ private GetSharedPrivateLinkResourceResult( Outputs.SharedPrivateLinkResourcePropertiesResponse properties, + Outputs.SystemDataResponse systemData, + string type) { AzureApiVersion = azureApiVersion; Id = id; Name = name; Properties = properties; + SystemData = systemData; Type = type; } } diff --git a/sdk/dotnet/Search/Inputs/EncryptionWithCmkArgs.cs b/sdk/dotnet/Search/Inputs/EncryptionWithCmkArgs.cs index 25f92bd1a2ce..f3ffe573195f 100644 --- a/sdk/dotnet/Search/Inputs/EncryptionWithCmkArgs.cs +++ b/sdk/dotnet/Search/Inputs/EncryptionWithCmkArgs.cs @@ -11,12 +11,12 @@ namespace Pulumi.AzureNative.Search.Inputs { /// - /// Describes a policy that determines how resources within the search service are to be encrypted with customer=managed keys. + /// Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys. /// public sealed class EncryptionWithCmkArgs : global::Pulumi.ResourceArgs { /// - /// Describes how a search service should enforce having one or more non-customer-encrypted resources. + /// Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. /// [Input("enforcement")] public Input? Enforcement { get; set; } diff --git a/sdk/dotnet/Search/Inputs/IdentityArgs.cs b/sdk/dotnet/Search/Inputs/IdentityArgs.cs index 6123831178e6..26489ee7243b 100644 --- a/sdk/dotnet/Search/Inputs/IdentityArgs.cs +++ b/sdk/dotnet/Search/Inputs/IdentityArgs.cs @@ -11,15 +11,27 @@ namespace Pulumi.AzureNative.Search.Inputs { /// - /// Identity for the resource. + /// Details about the search service identity. A null value indicates that the search service has no identity assigned. /// public sealed class IdentityArgs : global::Pulumi.ResourceArgs { /// - /// The identity type. + /// The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. /// [Input("type", required: true)] - public Input Type { get; set; } = null!; + public InputUnion Type { get; set; } = null!; + + [Input("userAssignedIdentities")] + private InputList? _userAssignedIdentities; + + /// + /// The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + /// + public InputList UserAssignedIdentities + { + get => _userAssignedIdentities ?? (_userAssignedIdentities = new InputList()); + set => _userAssignedIdentities = value; + } public IdentityArgs() { diff --git a/sdk/dotnet/Search/Inputs/IpRuleArgs.cs b/sdk/dotnet/Search/Inputs/IpRuleArgs.cs index f2ba6d9355e8..40d68713cadf 100644 --- a/sdk/dotnet/Search/Inputs/IpRuleArgs.cs +++ b/sdk/dotnet/Search/Inputs/IpRuleArgs.cs @@ -11,12 +11,12 @@ namespace Pulumi.AzureNative.Search.Inputs { /// - /// The IP restriction rule of the search service. + /// The IP restriction rule of the Azure AI Search service. /// public sealed class IpRuleArgs : global::Pulumi.ResourceArgs { /// - /// Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, 123.1.2.3/24) to be allowed. + /// Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Search/Inputs/NetworkRuleSetArgs.cs b/sdk/dotnet/Search/Inputs/NetworkRuleSetArgs.cs index 5a0c96c22cad..8b7048a4d5e3 100644 --- a/sdk/dotnet/Search/Inputs/NetworkRuleSetArgs.cs +++ b/sdk/dotnet/Search/Inputs/NetworkRuleSetArgs.cs @@ -11,15 +11,21 @@ namespace Pulumi.AzureNative.Search.Inputs { /// - /// Network-specific rules that determine how the search service can be reached. + /// Network specific rules that determine how the Azure AI Search service may be reached. /// public sealed class NetworkRuleSetArgs : global::Pulumi.ResourceArgs { + /// + /// Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + /// + [Input("bypass")] + public InputUnion? Bypass { get; set; } + [Input("ipRules")] private InputList? _ipRules; /// - /// A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + /// A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. /// public InputList IpRules { diff --git a/sdk/dotnet/Search/Inputs/PrivateEndpointConnectionPropertiesArgs.cs b/sdk/dotnet/Search/Inputs/PrivateEndpointConnectionPropertiesArgs.cs index 0f8dc44ef1ef..a58253ebfd16 100644 --- a/sdk/dotnet/Search/Inputs/PrivateEndpointConnectionPropertiesArgs.cs +++ b/sdk/dotnet/Search/Inputs/PrivateEndpointConnectionPropertiesArgs.cs @@ -11,12 +11,12 @@ namespace Pulumi.AzureNative.Search.Inputs { /// - /// Describes the properties of an existing Private Endpoint connection to the search service. + /// Describes the properties of an existing private endpoint connection to the search service. /// public sealed class PrivateEndpointConnectionPropertiesArgs : global::Pulumi.ResourceArgs { /// - /// The group id from the provider of resource the private link service connection is for. + /// The group ID of the Azure resource for which the private link service is for. /// [Input("groupId")] public Input? GroupId { get; set; } @@ -28,13 +28,13 @@ public sealed class PrivateEndpointConnectionPropertiesArgs : global::Pulumi.Res public Input? PrivateEndpoint { get; set; } /// - /// Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + /// Describes the current state of an existing Azure Private Link service connection to the private endpoint. /// [Input("privateLinkServiceConnectionState")] public Input? PrivateLinkServiceConnectionState { get; set; } /// - /// The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete + /// The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. /// [Input("provisioningState")] public InputUnion? ProvisioningState { get; set; } diff --git a/sdk/dotnet/Search/Inputs/PrivateEndpointConnectionPropertiesPrivateEndpointArgs.cs b/sdk/dotnet/Search/Inputs/PrivateEndpointConnectionPropertiesPrivateEndpointArgs.cs index ffdab4e231a4..388edeef8776 100644 --- a/sdk/dotnet/Search/Inputs/PrivateEndpointConnectionPropertiesPrivateEndpointArgs.cs +++ b/sdk/dotnet/Search/Inputs/PrivateEndpointConnectionPropertiesPrivateEndpointArgs.cs @@ -16,7 +16,7 @@ namespace Pulumi.AzureNative.Search.Inputs public sealed class PrivateEndpointConnectionPropertiesPrivateEndpointArgs : global::Pulumi.ResourceArgs { /// - /// The resource id of the private endpoint resource from Microsoft.Network provider. + /// The resource ID of the private endpoint resource from Microsoft.Network provider. /// [Input("id")] public Input? Id { get; set; } diff --git a/sdk/dotnet/Search/Inputs/PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs.cs b/sdk/dotnet/Search/Inputs/PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs.cs index e16597348347..dff6fd0aaad5 100644 --- a/sdk/dotnet/Search/Inputs/PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs.cs +++ b/sdk/dotnet/Search/Inputs/PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AzureNative.Search.Inputs { /// - /// Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + /// Describes the current state of an existing Azure Private Link service connection to the private endpoint. /// public sealed class PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs : global::Pulumi.ResourceArgs { diff --git a/sdk/dotnet/Search/Inputs/SharedPrivateLinkResourcePropertiesArgs.cs b/sdk/dotnet/Search/Inputs/SharedPrivateLinkResourcePropertiesArgs.cs index 1038e6d72596..1bcc5445be48 100644 --- a/sdk/dotnet/Search/Inputs/SharedPrivateLinkResourcePropertiesArgs.cs +++ b/sdk/dotnet/Search/Inputs/SharedPrivateLinkResourcePropertiesArgs.cs @@ -11,18 +11,18 @@ namespace Pulumi.AzureNative.Search.Inputs { /// - /// Describes the properties of an existing Shared Private Link Resource managed by the search service. + /// Describes the properties of an existing shared private link resource managed by the Azure AI Search service. /// public sealed class SharedPrivateLinkResourcePropertiesArgs : global::Pulumi.ResourceArgs { /// - /// The group id from the provider of resource the shared private link resource is for. + /// The group ID from the provider of resource the shared private link resource is for. /// [Input("groupId")] public Input? GroupId { get; set; } /// - /// The resource id of the resource the shared private link resource is for. + /// The resource ID of the resource the shared private link resource is for. /// [Input("privateLinkResourceId")] public Input? PrivateLinkResourceId { get; set; } @@ -31,16 +31,16 @@ public sealed class SharedPrivateLinkResourcePropertiesArgs : global::Pulumi.Res /// The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete. /// [Input("provisioningState")] - public Input? ProvisioningState { get; set; } + public InputUnion? ProvisioningState { get; set; } /// - /// The request message for requesting approval of the shared private link resource. + /// The message for requesting approval of the shared private link resource. /// [Input("requestMessage")] public Input? RequestMessage { get; set; } /// - /// Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). + /// Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). /// [Input("resourceRegion")] public Input? ResourceRegion { get; set; } @@ -49,7 +49,7 @@ public sealed class SharedPrivateLinkResourcePropertiesArgs : global::Pulumi.Res /// Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected. /// [Input("status")] - public Input? Status { get; set; } + public InputUnion? Status { get; set; } public SharedPrivateLinkResourcePropertiesArgs() { diff --git a/sdk/dotnet/Search/Inputs/SkuArgs.cs b/sdk/dotnet/Search/Inputs/SkuArgs.cs index e95013746242..6546c522e13d 100644 --- a/sdk/dotnet/Search/Inputs/SkuArgs.cs +++ b/sdk/dotnet/Search/Inputs/SkuArgs.cs @@ -19,7 +19,7 @@ public sealed class SkuArgs : global::Pulumi.ResourceArgs /// The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.' /// [Input("name")] - public Input? Name { get; set; } + public InputUnion? Name { get; set; } public SkuArgs() { diff --git a/sdk/dotnet/Search/ListAdminKey.cs b/sdk/dotnet/Search/ListAdminKey.cs index 0360fd837fe8..67e543356ec5 100644 --- a/sdk/dotnet/Search/ListAdminKey.cs +++ b/sdk/dotnet/Search/ListAdminKey.cs @@ -12,31 +12,31 @@ namespace Pulumi.AzureNative.Search public static class ListAdminKey { /// - /// Gets the primary and secondary admin API keys for the specified search service. + /// Gets the primary and secondary admin API keys for the specified Azure AI Search service. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Task InvokeAsync(ListAdminKeyArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:search:listAdminKey", args ?? new ListAdminKeyArgs(), options.WithDefaults()); /// - /// Gets the primary and secondary admin API keys for the specified search service. + /// Gets the primary and secondary admin API keys for the specified Azure AI Search service. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Output Invoke(ListAdminKeyInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("azure-native:search:listAdminKey", args ?? new ListAdminKeyInvokeArgs(), options.WithDefaults()); /// - /// Gets the primary and secondary admin API keys for the specified search service. + /// Gets the primary and secondary admin API keys for the specified Azure AI Search service. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Output Invoke(ListAdminKeyInvokeArgs args, InvokeOutputOptions options) => global::Pulumi.Deployment.Instance.Invoke("azure-native:search:listAdminKey", args ?? new ListAdminKeyInvokeArgs(), options.WithDefaults()); @@ -52,7 +52,7 @@ public sealed class ListAdminKeyArgs : global::Pulumi.InvokeArgs public string ResourceGroupName { get; set; } = null!; /// - /// The name of the search service associated with the specified resource group. + /// The name of the Azure AI Search service associated with the specified resource group. /// [Input("searchServiceName", required: true)] public string SearchServiceName { get; set; } = null!; @@ -72,7 +72,7 @@ public sealed class ListAdminKeyInvokeArgs : global::Pulumi.InvokeArgs public Input ResourceGroupName { get; set; } = null!; /// - /// The name of the search service associated with the specified resource group. + /// The name of the Azure AI Search service associated with the specified resource group. /// [Input("searchServiceName", required: true)] public Input SearchServiceName { get; set; } = null!; diff --git a/sdk/dotnet/Search/ListQueryKeyBySearchService.cs b/sdk/dotnet/Search/ListQueryKeyBySearchService.cs index b36842521a6d..024771bde180 100644 --- a/sdk/dotnet/Search/ListQueryKeyBySearchService.cs +++ b/sdk/dotnet/Search/ListQueryKeyBySearchService.cs @@ -12,31 +12,31 @@ namespace Pulumi.AzureNative.Search public static class ListQueryKeyBySearchService { /// - /// Returns the list of query API keys for the given search service. + /// Returns the list of query API keys for the given Azure AI Search service. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Task InvokeAsync(ListQueryKeyBySearchServiceArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:search:listQueryKeyBySearchService", args ?? new ListQueryKeyBySearchServiceArgs(), options.WithDefaults()); /// - /// Returns the list of query API keys for the given search service. + /// Returns the list of query API keys for the given Azure AI Search service. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Output Invoke(ListQueryKeyBySearchServiceInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("azure-native:search:listQueryKeyBySearchService", args ?? new ListQueryKeyBySearchServiceInvokeArgs(), options.WithDefaults()); /// - /// Returns the list of query API keys for the given search service. + /// Returns the list of query API keys for the given Azure AI Search service. /// - /// Uses Azure REST API version 2023-11-01. + /// Uses Azure REST API version 2025-05-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// public static Output Invoke(ListQueryKeyBySearchServiceInvokeArgs args, InvokeOutputOptions options) => global::Pulumi.Deployment.Instance.Invoke("azure-native:search:listQueryKeyBySearchService", args ?? new ListQueryKeyBySearchServiceInvokeArgs(), options.WithDefaults()); @@ -52,7 +52,7 @@ public sealed class ListQueryKeyBySearchServiceArgs : global::Pulumi.InvokeArgs public string ResourceGroupName { get; set; } = null!; /// - /// The name of the search service associated with the specified resource group. + /// The name of the Azure AI Search service associated with the specified resource group. /// [Input("searchServiceName", required: true)] public string SearchServiceName { get; set; } = null!; @@ -72,7 +72,7 @@ public sealed class ListQueryKeyBySearchServiceInvokeArgs : global::Pulumi.Invok public Input ResourceGroupName { get; set; } = null!; /// - /// The name of the search service associated with the specified resource group. + /// The name of the Azure AI Search service associated with the specified resource group. /// [Input("searchServiceName", required: true)] public Input SearchServiceName { get; set; } = null!; @@ -92,7 +92,7 @@ public sealed class ListQueryKeyBySearchServiceResult /// public readonly string NextLink; /// - /// The query keys for the search service. + /// The query keys for the Azure AI Search service. /// public readonly ImmutableArray Value; diff --git a/sdk/dotnet/Search/Outputs/EncryptionWithCmkResponse.cs b/sdk/dotnet/Search/Outputs/EncryptionWithCmkResponse.cs index 6735942710a5..af91f7dd95f2 100644 --- a/sdk/dotnet/Search/Outputs/EncryptionWithCmkResponse.cs +++ b/sdk/dotnet/Search/Outputs/EncryptionWithCmkResponse.cs @@ -11,17 +11,17 @@ namespace Pulumi.AzureNative.Search.Outputs { /// - /// Describes a policy that determines how resources within the search service are to be encrypted with customer=managed keys. + /// Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys. /// [OutputType] public sealed class EncryptionWithCmkResponse { /// - /// Describes whether the search service is compliant or not with respect to having non-customer-encrypted resources. If a service has more than one non-customer-encrypted resource and 'Enforcement' is 'enabled' then the service will be marked as 'nonCompliant'. + /// Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant. /// public readonly string EncryptionComplianceStatus; /// - /// Describes how a search service should enforce having one or more non-customer-encrypted resources. + /// Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. /// public readonly string? Enforcement; diff --git a/sdk/dotnet/Search/Outputs/IdentityResponse.cs b/sdk/dotnet/Search/Outputs/IdentityResponse.cs index 5fd162669594..c1dcd53d9cf7 100644 --- a/sdk/dotnet/Search/Outputs/IdentityResponse.cs +++ b/sdk/dotnet/Search/Outputs/IdentityResponse.cs @@ -11,7 +11,7 @@ namespace Pulumi.AzureNative.Search.Outputs { /// - /// Identity for the resource. + /// Details about the search service identity. A null value indicates that the search service has no identity assigned. /// [OutputType] public sealed class IdentityResponse @@ -25,9 +25,13 @@ public sealed class IdentityResponse /// public readonly string TenantId; /// - /// The identity type. + /// The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. /// public readonly string Type; + /// + /// The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + /// + public readonly ImmutableDictionary? UserAssignedIdentities; [OutputConstructor] private IdentityResponse( @@ -35,11 +39,14 @@ private IdentityResponse( string tenantId, - string type) + string type, + + ImmutableDictionary? userAssignedIdentities) { PrincipalId = principalId; TenantId = tenantId; Type = type; + UserAssignedIdentities = userAssignedIdentities; } } } diff --git a/sdk/dotnet/Search/Outputs/IpRuleResponse.cs b/sdk/dotnet/Search/Outputs/IpRuleResponse.cs index e0b604176c1a..f573789a7321 100644 --- a/sdk/dotnet/Search/Outputs/IpRuleResponse.cs +++ b/sdk/dotnet/Search/Outputs/IpRuleResponse.cs @@ -11,13 +11,13 @@ namespace Pulumi.AzureNative.Search.Outputs { /// - /// The IP restriction rule of the search service. + /// The IP restriction rule of the Azure AI Search service. /// [OutputType] public sealed class IpRuleResponse { /// - /// Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, 123.1.2.3/24) to be allowed. + /// Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed. /// public readonly string? Value; diff --git a/sdk/dotnet/Search/Outputs/NetworkRuleSetResponse.cs b/sdk/dotnet/Search/Outputs/NetworkRuleSetResponse.cs index a08691783cbb..ca5105f7c2cf 100644 --- a/sdk/dotnet/Search/Outputs/NetworkRuleSetResponse.cs +++ b/sdk/dotnet/Search/Outputs/NetworkRuleSetResponse.cs @@ -11,19 +11,27 @@ namespace Pulumi.AzureNative.Search.Outputs { /// - /// Network-specific rules that determine how the search service can be reached. + /// Network specific rules that determine how the Azure AI Search service may be reached. /// [OutputType] public sealed class NetworkRuleSetResponse { /// - /// A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + /// Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + /// + public readonly string? Bypass; + /// + /// A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. /// public readonly ImmutableArray IpRules; [OutputConstructor] - private NetworkRuleSetResponse(ImmutableArray ipRules) + private NetworkRuleSetResponse( + string? bypass, + + ImmutableArray ipRules) { + Bypass = bypass; IpRules = ipRules; } } diff --git a/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionPropertiesResponse.cs b/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionPropertiesResponse.cs index 135c82e5a12c..95504eb2d64a 100644 --- a/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionPropertiesResponse.cs +++ b/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionPropertiesResponse.cs @@ -11,13 +11,13 @@ namespace Pulumi.AzureNative.Search.Outputs { /// - /// Describes the properties of an existing Private Endpoint connection to the search service. + /// Describes the properties of an existing private endpoint connection to the search service. /// [OutputType] public sealed class PrivateEndpointConnectionPropertiesResponse { /// - /// The group id from the provider of resource the private link service connection is for. + /// The group ID of the Azure resource for which the private link service is for. /// public readonly string? GroupId; /// @@ -25,11 +25,11 @@ public sealed class PrivateEndpointConnectionPropertiesResponse /// public readonly Outputs.PrivateEndpointConnectionPropertiesResponsePrivateEndpoint? PrivateEndpoint; /// - /// Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + /// Describes the current state of an existing Azure Private Link service connection to the private endpoint. /// public readonly Outputs.PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState? PrivateLinkServiceConnectionState; /// - /// The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete + /// The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. /// public readonly string? ProvisioningState; diff --git a/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionPropertiesResponsePrivateEndpoint.cs b/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionPropertiesResponsePrivateEndpoint.cs index f2e1eaccac8a..75edff024aee 100644 --- a/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionPropertiesResponsePrivateEndpoint.cs +++ b/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionPropertiesResponsePrivateEndpoint.cs @@ -17,7 +17,7 @@ namespace Pulumi.AzureNative.Search.Outputs public sealed class PrivateEndpointConnectionPropertiesResponsePrivateEndpoint { /// - /// The resource id of the private endpoint resource from Microsoft.Network provider. + /// The resource ID of the private endpoint resource from Microsoft.Network provider. /// public readonly string? Id; diff --git a/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState.cs b/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState.cs index df559925aeb1..850c58e1194e 100644 --- a/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState.cs +++ b/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState.cs @@ -11,7 +11,7 @@ namespace Pulumi.AzureNative.Search.Outputs { /// - /// Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + /// Describes the current state of an existing Azure Private Link service connection to the private endpoint. /// [OutputType] public sealed class PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState diff --git a/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionResponse.cs b/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionResponse.cs index 834d5bcd5be0..f4917a09cf43 100644 --- a/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionResponse.cs +++ b/sdk/dotnet/Search/Outputs/PrivateEndpointConnectionResponse.cs @@ -11,13 +11,13 @@ namespace Pulumi.AzureNative.Search.Outputs { /// - /// Describes an existing private endpoint connection to the search service. + /// Describes an existing private endpoint connection to the Azure AI Search service. /// [OutputType] public sealed class PrivateEndpointConnectionResponse { /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" /// public readonly string Id; /// @@ -25,10 +25,14 @@ public sealed class PrivateEndpointConnectionResponse /// public readonly string Name; /// - /// Describes the properties of an existing private endpoint connection to the search service. + /// Describes the properties of an existing private endpoint connection to the Azure AI Search service. /// public readonly Outputs.PrivateEndpointConnectionPropertiesResponse? Properties; /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" /// public readonly string Type; @@ -41,11 +45,14 @@ private PrivateEndpointConnectionResponse( Outputs.PrivateEndpointConnectionPropertiesResponse? properties, + Outputs.SystemDataResponse systemData, + string type) { Id = id; Name = name; Properties = properties; + SystemData = systemData; Type = type; } } diff --git a/sdk/dotnet/Search/Outputs/QueryKeyResponse.cs b/sdk/dotnet/Search/Outputs/QueryKeyResponse.cs index f701ff9dfd2e..2205860729fa 100644 --- a/sdk/dotnet/Search/Outputs/QueryKeyResponse.cs +++ b/sdk/dotnet/Search/Outputs/QueryKeyResponse.cs @@ -11,7 +11,7 @@ namespace Pulumi.AzureNative.Search.Outputs { /// - /// Describes an API key for a given search service that has permissions for query operations only. + /// Describes an API key for a given Azure AI Search service that conveys read-only permissions on the docs collection of an index. /// [OutputType] public sealed class QueryKeyResponse @@ -21,7 +21,7 @@ public sealed class QueryKeyResponse /// public readonly string Key; /// - /// The name of the query API key; may be empty. + /// The name of the query API key. Query names are optional, but assigning a name can help you remember how it's used. /// public readonly string Name; diff --git a/sdk/dotnet/Search/Outputs/SharedPrivateLinkResourcePropertiesResponse.cs b/sdk/dotnet/Search/Outputs/SharedPrivateLinkResourcePropertiesResponse.cs index 6095be3f6851..2bc3f71d9c5f 100644 --- a/sdk/dotnet/Search/Outputs/SharedPrivateLinkResourcePropertiesResponse.cs +++ b/sdk/dotnet/Search/Outputs/SharedPrivateLinkResourcePropertiesResponse.cs @@ -11,17 +11,17 @@ namespace Pulumi.AzureNative.Search.Outputs { /// - /// Describes the properties of an existing Shared Private Link Resource managed by the search service. + /// Describes the properties of an existing shared private link resource managed by the Azure AI Search service. /// [OutputType] public sealed class SharedPrivateLinkResourcePropertiesResponse { /// - /// The group id from the provider of resource the shared private link resource is for. + /// The group ID from the provider of resource the shared private link resource is for. /// public readonly string? GroupId; /// - /// The resource id of the resource the shared private link resource is for. + /// The resource ID of the resource the shared private link resource is for. /// public readonly string? PrivateLinkResourceId; /// @@ -29,11 +29,11 @@ public sealed class SharedPrivateLinkResourcePropertiesResponse /// public readonly string? ProvisioningState; /// - /// The request message for requesting approval of the shared private link resource. + /// The message for requesting approval of the shared private link resource. /// public readonly string? RequestMessage; /// - /// Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). + /// Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). /// public readonly string? ResourceRegion; /// diff --git a/sdk/dotnet/Search/Outputs/SharedPrivateLinkResourceResponse.cs b/sdk/dotnet/Search/Outputs/SharedPrivateLinkResourceResponse.cs index b4d2da4ea9fe..18750788488d 100644 --- a/sdk/dotnet/Search/Outputs/SharedPrivateLinkResourceResponse.cs +++ b/sdk/dotnet/Search/Outputs/SharedPrivateLinkResourceResponse.cs @@ -11,13 +11,13 @@ namespace Pulumi.AzureNative.Search.Outputs { /// - /// Describes a Shared Private Link Resource managed by the search service. + /// Describes a shared private link resource managed by the Azure AI Search service. /// [OutputType] public sealed class SharedPrivateLinkResourceResponse { /// - /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + /// Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" /// public readonly string Id; /// @@ -25,10 +25,14 @@ public sealed class SharedPrivateLinkResourceResponse /// public readonly string Name; /// - /// Describes the properties of a Shared Private Link Resource managed by the search service. + /// Describes the properties of a shared private link resource managed by the Azure AI Search service. /// public readonly Outputs.SharedPrivateLinkResourcePropertiesResponse? Properties; /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + public readonly Outputs.SystemDataResponse SystemData; + /// /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" /// public readonly string Type; @@ -41,11 +45,14 @@ private SharedPrivateLinkResourceResponse( Outputs.SharedPrivateLinkResourcePropertiesResponse? properties, + Outputs.SystemDataResponse systemData, + string type) { Id = id; Name = name; Properties = properties; + SystemData = systemData; Type = type; } } diff --git a/sdk/dotnet/Search/Outputs/SystemDataResponse.cs b/sdk/dotnet/Search/Outputs/SystemDataResponse.cs new file mode 100644 index 000000000000..a3cb0893d617 --- /dev/null +++ b/sdk/dotnet/Search/Outputs/SystemDataResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Search.Outputs +{ + + /// + /// Metadata pertaining to creation and last modification of the resource. + /// + [OutputType] + public sealed class SystemDataResponse + { + /// + /// The timestamp of resource creation (UTC). + /// + public readonly string? CreatedAt; + /// + /// The identity that created the resource. + /// + public readonly string? CreatedBy; + /// + /// The type of identity that created the resource. + /// + public readonly string? CreatedByType; + /// + /// The timestamp of resource last modification (UTC) + /// + public readonly string? LastModifiedAt; + /// + /// The identity that last modified the resource. + /// + public readonly string? LastModifiedBy; + /// + /// The type of identity that last modified the resource. + /// + public readonly string? LastModifiedByType; + + [OutputConstructor] + private SystemDataResponse( + string? createdAt, + + string? createdBy, + + string? createdByType, + + string? lastModifiedAt, + + string? lastModifiedBy, + + string? lastModifiedByType) + { + CreatedAt = createdAt; + CreatedBy = createdBy; + CreatedByType = createdByType; + LastModifiedAt = lastModifiedAt; + LastModifiedBy = lastModifiedBy; + LastModifiedByType = lastModifiedByType; + } + } +} diff --git a/sdk/dotnet/Search/Outputs/UserAssignedIdentityResponse.cs b/sdk/dotnet/Search/Outputs/UserAssignedIdentityResponse.cs new file mode 100644 index 000000000000..0bca09ed55b5 --- /dev/null +++ b/sdk/dotnet/Search/Outputs/UserAssignedIdentityResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AzureNative.Search.Outputs +{ + + /// + /// User assigned identity properties + /// + [OutputType] + public sealed class UserAssignedIdentityResponse + { + /// + /// The client ID of the assigned identity. + /// + public readonly string ClientId; + /// + /// The principal ID of the assigned identity. + /// + public readonly string PrincipalId; + + [OutputConstructor] + private UserAssignedIdentityResponse( + string clientId, + + string principalId) + { + ClientId = clientId; + PrincipalId = principalId; + } + } +} diff --git a/sdk/dotnet/Search/PrivateEndpointConnection.cs b/sdk/dotnet/Search/PrivateEndpointConnection.cs index 9b93402772fb..139bb77fa817 100644 --- a/sdk/dotnet/Search/PrivateEndpointConnection.cs +++ b/sdk/dotnet/Search/PrivateEndpointConnection.cs @@ -10,11 +10,11 @@ namespace Pulumi.AzureNative.Search { /// - /// Describes an existing private endpoint connection to the search service. + /// Describes an existing private endpoint connection to the Azure AI Search service. /// - /// Uses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. + /// Uses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// [AzureNativeResourceType("azure-native:search:PrivateEndpointConnection")] public partial class PrivateEndpointConnection : global::Pulumi.CustomResource @@ -32,11 +32,17 @@ public partial class PrivateEndpointConnection : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// Describes the properties of an existing private endpoint connection to the search service. + /// Describes the properties of an existing private endpoint connection to the Azure AI Search service. /// [Output("properties")] public Output Properties { get; private set; } = null!; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + /// /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" /// @@ -103,13 +109,13 @@ public static PrivateEndpointConnection Get(string name, Input id, Custo public sealed class PrivateEndpointConnectionArgs : global::Pulumi.ResourceArgs { /// - /// The name of the private endpoint connection to the search service with the specified resource group. + /// The name of the private endpoint connection to the Azure AI Search service with the specified resource group. /// [Input("privateEndpointConnectionName")] public Input? PrivateEndpointConnectionName { get; set; } /// - /// Describes the properties of an existing private endpoint connection to the search service. + /// Describes the properties of an existing private endpoint connection to the Azure AI Search service. /// [Input("properties")] public Input? Properties { get; set; } @@ -121,7 +127,7 @@ public sealed class PrivateEndpointConnectionArgs : global::Pulumi.ResourceArgs public Input ResourceGroupName { get; set; } = null!; /// - /// The name of the search service associated with the specified resource group. + /// The name of the Azure AI Search service associated with the specified resource group. /// [Input("searchServiceName", required: true)] public Input SearchServiceName { get; set; } = null!; diff --git a/sdk/dotnet/Search/Service.cs b/sdk/dotnet/Search/Service.cs index 49a11ef2f277..d161c7d13eb5 100644 --- a/sdk/dotnet/Search/Service.cs +++ b/sdk/dotnet/Search/Service.cs @@ -10,11 +10,11 @@ namespace Pulumi.AzureNative.Search { /// - /// Describes a search service and its current state. + /// Describes an Azure AI Search service and its current state. /// - /// Uses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. + /// Uses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// [AzureNativeResourceType("azure-native:search:Service")] public partial class Service : global::Pulumi.CustomResource @@ -31,18 +31,42 @@ public partial class Service : global::Pulumi.CustomResource [Output("azureApiVersion")] public Output AzureApiVersion { get; private set; } = null!; + /// + /// Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + /// + [Output("computeType")] + public Output ComputeType { get; private set; } = null!; + + /// + /// A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future. + /// + [Output("dataExfiltrationProtections")] + public Output> DataExfiltrationProtections { get; private set; } = null!; + /// /// When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. /// [Output("disableLocalAuth")] public Output DisableLocalAuth { get; private set; } = null!; + /// + /// A system generated property representing the service's etag that can be for optimistic concurrency control during updates. + /// + [Output("eTag")] + public Output ETag { get; private set; } = null!; + /// /// Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys within a search service. /// [Output("encryptionWithCmk")] public Output EncryptionWithCmk { get; private set; } = null!; + /// + /// The endpoint of the Azure AI Search service. + /// + [Output("endpoint")] + public Output Endpoint { get; private set; } = null!; + /// /// Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. /// @@ -68,7 +92,7 @@ public partial class Service : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// Network-specific rules that determine how the search service may be reached. + /// Network specific rules that determine how the Azure AI Search service may be reached. /// [Output("networkRuleSet")] public Output NetworkRuleSet { get; private set; } = null!; @@ -80,13 +104,13 @@ public partial class Service : global::Pulumi.CustomResource public Output PartitionCount { get; private set; } = null!; /// - /// The list of private endpoint connections to the search service. + /// The list of private endpoint connections to the Azure AI Search service. /// [Output("privateEndpointConnections")] public Output> PrivateEndpointConnections { get; private set; } = null!; /// - /// The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. + /// The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. /// [Output("provisioningState")] public Output ProvisioningState { get; private set; } = null!; @@ -104,25 +128,31 @@ public partial class Service : global::Pulumi.CustomResource public Output ReplicaCount { get; private set; } = null!; /// - /// Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. + /// Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. /// [Output("semanticSearch")] public Output SemanticSearch { get; private set; } = null!; /// - /// The list of shared private link resources managed by the search service. + /// The date and time the search service was last upgraded. This field will be null until the service gets upgraded for the first time. + /// + [Output("serviceUpgradedAt")] + public Output ServiceUpgradedAt { get; private set; } = null!; + + /// + /// The list of shared private link resources managed by the Azure AI Search service. /// [Output("sharedPrivateLinkResources")] public Output> SharedPrivateLinkResources { get; private set; } = null!; /// - /// The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service. + /// The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. /// [Output("sku")] public Output Sku { get; private set; } = null!; /// - /// The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, Microsoft is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. + /// The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. /// [Output("status")] public Output Status { get; private set; } = null!; @@ -133,6 +163,12 @@ public partial class Service : global::Pulumi.CustomResource [Output("statusDetails")] public Output StatusDetails { get; private set; } = null!; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + /// /// Resource tags. /// @@ -145,6 +181,12 @@ public partial class Service : global::Pulumi.CustomResource [Output("type")] public Output Type { get; private set; } = null!; + /// + /// Indicates if the search service has an upgrade available. + /// + [Output("upgradeAvailable")] + public Output UpgradeAvailable { get; private set; } = null!; + /// /// Create a Service resource with the given unique name, arguments, and options. @@ -211,6 +253,24 @@ public sealed class ServiceArgs : global::Pulumi.ResourceArgs [Input("authOptions")] public Input? AuthOptions { get; set; } + /// + /// Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + /// + [Input("computeType")] + public InputUnion? ComputeType { get; set; } + + [Input("dataExfiltrationProtections")] + private InputList>? _dataExfiltrationProtections; + + /// + /// A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future. + /// + public InputList> DataExfiltrationProtections + { + get => _dataExfiltrationProtections ?? (_dataExfiltrationProtections = new InputList>()); + set => _dataExfiltrationProtections = value; + } + /// /// When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. /// @@ -223,6 +283,12 @@ public sealed class ServiceArgs : global::Pulumi.ResourceArgs [Input("encryptionWithCmk")] public Input? EncryptionWithCmk { get; set; } + /// + /// The endpoint of the Azure AI Search service. + /// + [Input("endpoint")] + public Input? Endpoint { get; set; } + /// /// Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. /// @@ -242,7 +308,7 @@ public sealed class ServiceArgs : global::Pulumi.ResourceArgs public Input? Location { get; set; } /// - /// Network-specific rules that determine how the search service may be reached. + /// Network specific rules that determine how the Azure AI Search service may be reached. /// [Input("networkRuleSet")] public Input? NetworkRuleSet { get; set; } @@ -257,7 +323,7 @@ public sealed class ServiceArgs : global::Pulumi.ResourceArgs /// This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method. /// [Input("publicNetworkAccess")] - public Input? PublicNetworkAccess { get; set; } + public InputUnion? PublicNetworkAccess { get; set; } /// /// The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU. @@ -272,19 +338,19 @@ public sealed class ServiceArgs : global::Pulumi.ResourceArgs public Input ResourceGroupName { get; set; } = null!; /// - /// The name of the search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://<name>.search.windows.net). You cannot change the service name after the service is created. + /// The name of the Azure AI Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be unique since they are part of the service URI (https://<name>.search.windows.net). You cannot change the service name after the service is created. /// [Input("searchServiceName")] public Input? SearchServiceName { get; set; } /// - /// Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. + /// Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. /// [Input("semanticSearch")] public InputUnion? SemanticSearch { get; set; } /// - /// The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service. + /// The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. /// [Input("sku")] public Input? Sku { get; set; } @@ -301,11 +367,17 @@ public InputMap Tags set => _tags = value; } + /// + /// Indicates if the search service has an upgrade available. + /// + [Input("upgradeAvailable")] + public InputUnion? UpgradeAvailable { get; set; } + public ServiceArgs() { HostingMode = Pulumi.AzureNative.Search.HostingMode.Default; PartitionCount = 1; - PublicNetworkAccess = Pulumi.AzureNative.Search.PublicNetworkAccess.Enabled; + PublicNetworkAccess = "enabled"; ReplicaCount = 1; } public static new ServiceArgs Empty => new ServiceArgs(); diff --git a/sdk/dotnet/Search/SharedPrivateLinkResource.cs b/sdk/dotnet/Search/SharedPrivateLinkResource.cs index a09a404a9988..81be8ad8da03 100644 --- a/sdk/dotnet/Search/SharedPrivateLinkResource.cs +++ b/sdk/dotnet/Search/SharedPrivateLinkResource.cs @@ -10,11 +10,11 @@ namespace Pulumi.AzureNative.Search { /// - /// Describes a Shared Private Link Resource managed by the search service. + /// Describes a shared private link resource managed by the Azure AI Search service. /// - /// Uses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. + /// Uses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. /// - /// Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + /// Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. /// [AzureNativeResourceType("azure-native:search:SharedPrivateLinkResource")] public partial class SharedPrivateLinkResource : global::Pulumi.CustomResource @@ -32,11 +32,17 @@ public partial class SharedPrivateLinkResource : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// Describes the properties of a Shared Private Link Resource managed by the search service. + /// Describes the properties of a shared private link resource managed by the Azure AI Search service. /// [Output("properties")] public Output Properties { get; private set; } = null!; + /// + /// Azure Resource Manager metadata containing createdBy and modifiedBy information. + /// + [Output("systemData")] + public Output SystemData { get; private set; } = null!; + /// /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" /// @@ -101,7 +107,7 @@ public static SharedPrivateLinkResource Get(string name, Input id, Custo public sealed class SharedPrivateLinkResourceArgs : global::Pulumi.ResourceArgs { /// - /// Describes the properties of a Shared Private Link Resource managed by the search service. + /// Describes the properties of a shared private link resource managed by the Azure AI Search service. /// [Input("properties")] public Input? Properties { get; set; } @@ -113,13 +119,13 @@ public sealed class SharedPrivateLinkResourceArgs : global::Pulumi.ResourceArgs public Input ResourceGroupName { get; set; } = null!; /// - /// The name of the search service associated with the specified resource group. + /// The name of the Azure AI Search service associated with the specified resource group. /// [Input("searchServiceName", required: true)] public Input SearchServiceName { get; set; } = null!; /// - /// The name of the shared private link resource managed by the search service within the specified resource group. + /// The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. /// [Input("sharedPrivateLinkResourceName")] public Input? SharedPrivateLinkResourceName { get; set; } diff --git a/sdk/nodejs/search/getPrivateEndpointConnection.ts b/sdk/nodejs/search/getPrivateEndpointConnection.ts index b1bfc3ab1a7f..986bd077db84 100644 --- a/sdk/nodejs/search/getPrivateEndpointConnection.ts +++ b/sdk/nodejs/search/getPrivateEndpointConnection.ts @@ -10,9 +10,9 @@ import * as utilities from "../utilities"; /** * Gets the details of the private endpoint connection to the search service in the given resource group. * - * Uses Azure REST API version 2023-11-01. + * Uses Azure REST API version 2025-05-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export function getPrivateEndpointConnection(args: GetPrivateEndpointConnectionArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -25,7 +25,7 @@ export function getPrivateEndpointConnection(args: GetPrivateEndpointConnectionA export interface GetPrivateEndpointConnectionArgs { /** - * The name of the private endpoint connection to the search service with the specified resource group. + * The name of the private endpoint connection to the Azure AI Search service with the specified resource group. */ privateEndpointConnectionName: string; /** @@ -33,13 +33,13 @@ export interface GetPrivateEndpointConnectionArgs { */ resourceGroupName: string; /** - * The name of the search service associated with the specified resource group. + * The name of the Azure AI Search service associated with the specified resource group. */ searchServiceName: string; } /** - * Describes an existing private endpoint connection to the search service. + * Describes an existing private endpoint connection to the Azure AI Search service. */ export interface GetPrivateEndpointConnectionResult { /** @@ -47,7 +47,7 @@ export interface GetPrivateEndpointConnectionResult { */ readonly azureApiVersion: string; /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" */ readonly id: string; /** @@ -55,9 +55,13 @@ export interface GetPrivateEndpointConnectionResult { */ readonly name: string; /** - * Describes the properties of an existing private endpoint connection to the search service. + * Describes the properties of an existing private endpoint connection to the Azure AI Search service. */ readonly properties: outputs.search.PrivateEndpointConnectionPropertiesResponse; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.search.SystemDataResponse; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ @@ -66,9 +70,9 @@ export interface GetPrivateEndpointConnectionResult { /** * Gets the details of the private endpoint connection to the search service in the given resource group. * - * Uses Azure REST API version 2023-11-01. + * Uses Azure REST API version 2025-05-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export function getPrivateEndpointConnectionOutput(args: GetPrivateEndpointConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -81,7 +85,7 @@ export function getPrivateEndpointConnectionOutput(args: GetPrivateEndpointConne export interface GetPrivateEndpointConnectionOutputArgs { /** - * The name of the private endpoint connection to the search service with the specified resource group. + * The name of the private endpoint connection to the Azure AI Search service with the specified resource group. */ privateEndpointConnectionName: pulumi.Input; /** @@ -89,7 +93,7 @@ export interface GetPrivateEndpointConnectionOutputArgs { */ resourceGroupName: pulumi.Input; /** - * The name of the search service associated with the specified resource group. + * The name of the Azure AI Search service associated with the specified resource group. */ searchServiceName: pulumi.Input; } diff --git a/sdk/nodejs/search/getService.ts b/sdk/nodejs/search/getService.ts index 2a0fa6bb3bc7..1d9d132bec8b 100644 --- a/sdk/nodejs/search/getService.ts +++ b/sdk/nodejs/search/getService.ts @@ -10,9 +10,9 @@ import * as utilities from "../utilities"; /** * Gets the search service with the given name in the given resource group. * - * Uses Azure REST API version 2023-11-01. + * Uses Azure REST API version 2025-05-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export function getService(args: GetServiceArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -28,13 +28,13 @@ export interface GetServiceArgs { */ resourceGroupName: string; /** - * The name of the search service associated with the specified resource group. + * The name of the Azure AI Search service associated with the specified resource group. */ searchServiceName: string; } /** - * Describes a search service and its current state. + * Describes an Azure AI Search service and its current state. */ export interface GetServiceResult { /** @@ -45,20 +45,36 @@ export interface GetServiceResult { * The Azure API version of the resource. */ readonly azureApiVersion: string; + /** + * Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + */ + readonly computeType?: string; + /** + * A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future. + */ + readonly dataExfiltrationProtections?: string[]; /** * When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. */ readonly disableLocalAuth?: boolean; + /** + * A system generated property representing the service's etag that can be for optimistic concurrency control during updates. + */ + readonly eTag: string; /** * Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys within a search service. */ readonly encryptionWithCmk?: outputs.search.EncryptionWithCmkResponse; + /** + * The endpoint of the Azure AI Search service. + */ + readonly endpoint?: string; /** * Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. */ readonly hostingMode?: string; /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" */ readonly id: string; /** @@ -74,7 +90,7 @@ export interface GetServiceResult { */ readonly name: string; /** - * Network-specific rules that determine how the search service may be reached. + * Network specific rules that determine how the Azure AI Search service may be reached. */ readonly networkRuleSet?: outputs.search.NetworkRuleSetResponse; /** @@ -82,11 +98,11 @@ export interface GetServiceResult { */ readonly partitionCount?: number; /** - * The list of private endpoint connections to the search service. + * The list of private endpoint connections to the Azure AI Search service. */ readonly privateEndpointConnections: outputs.search.PrivateEndpointConnectionResponse[]; /** - * The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. + * The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. */ readonly provisioningState: string; /** @@ -98,25 +114,33 @@ export interface GetServiceResult { */ readonly replicaCount?: number; /** - * Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. + * Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. */ readonly semanticSearch?: string; /** - * The list of shared private link resources managed by the search service. + * The date and time the search service was last upgraded. This field will be null until the service gets upgraded for the first time. + */ + readonly serviceUpgradedAt: string; + /** + * The list of shared private link resources managed by the Azure AI Search service. */ readonly sharedPrivateLinkResources: outputs.search.SharedPrivateLinkResourceResponse[]; /** - * The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service. + * The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. */ readonly sku?: outputs.search.SkuResponse; /** - * The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, Microsoft is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. + * The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. */ readonly status: string; /** * The details of the search service status. */ readonly statusDetails: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.search.SystemDataResponse; /** * Resource tags. */ @@ -125,13 +149,17 @@ export interface GetServiceResult { * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ readonly type: string; + /** + * Indicates if the search service has an upgrade available. + */ + readonly upgradeAvailable?: string; } /** * Gets the search service with the given name in the given resource group. * - * Uses Azure REST API version 2023-11-01. + * Uses Azure REST API version 2025-05-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export function getServiceOutput(args: GetServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -147,7 +175,7 @@ export interface GetServiceOutputArgs { */ resourceGroupName: pulumi.Input; /** - * The name of the search service associated with the specified resource group. + * The name of the Azure AI Search service associated with the specified resource group. */ searchServiceName: pulumi.Input; } diff --git a/sdk/nodejs/search/getSharedPrivateLinkResource.ts b/sdk/nodejs/search/getSharedPrivateLinkResource.ts index fbbd0f931e14..7e1d281d5aab 100644 --- a/sdk/nodejs/search/getSharedPrivateLinkResource.ts +++ b/sdk/nodejs/search/getSharedPrivateLinkResource.ts @@ -10,9 +10,9 @@ import * as utilities from "../utilities"; /** * Gets the details of the shared private link resource managed by the search service in the given resource group. * - * Uses Azure REST API version 2023-11-01. + * Uses Azure REST API version 2025-05-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export function getSharedPrivateLinkResource(args: GetSharedPrivateLinkResourceArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -29,17 +29,17 @@ export interface GetSharedPrivateLinkResourceArgs { */ resourceGroupName: string; /** - * The name of the search service associated with the specified resource group. + * The name of the Azure AI Search service associated with the specified resource group. */ searchServiceName: string; /** - * The name of the shared private link resource managed by the search service within the specified resource group. + * The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. */ sharedPrivateLinkResourceName: string; } /** - * Describes a Shared Private Link Resource managed by the search service. + * Describes a shared private link resource managed by the Azure AI Search service. */ export interface GetSharedPrivateLinkResourceResult { /** @@ -47,7 +47,7 @@ export interface GetSharedPrivateLinkResourceResult { */ readonly azureApiVersion: string; /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" */ readonly id: string; /** @@ -55,9 +55,13 @@ export interface GetSharedPrivateLinkResourceResult { */ readonly name: string; /** - * Describes the properties of a Shared Private Link Resource managed by the search service. + * Describes the properties of a shared private link resource managed by the Azure AI Search service. */ readonly properties: outputs.search.SharedPrivateLinkResourcePropertiesResponse; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + readonly systemData: outputs.search.SystemDataResponse; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ @@ -66,9 +70,9 @@ export interface GetSharedPrivateLinkResourceResult { /** * Gets the details of the shared private link resource managed by the search service in the given resource group. * - * Uses Azure REST API version 2023-11-01. + * Uses Azure REST API version 2025-05-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export function getSharedPrivateLinkResourceOutput(args: GetSharedPrivateLinkResourceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -85,11 +89,11 @@ export interface GetSharedPrivateLinkResourceOutputArgs { */ resourceGroupName: pulumi.Input; /** - * The name of the search service associated with the specified resource group. + * The name of the Azure AI Search service associated with the specified resource group. */ searchServiceName: pulumi.Input; /** - * The name of the shared private link resource managed by the search service within the specified resource group. + * The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. */ sharedPrivateLinkResourceName: pulumi.Input; } diff --git a/sdk/nodejs/search/listAdminKey.ts b/sdk/nodejs/search/listAdminKey.ts index fb9717541212..851999d3b726 100644 --- a/sdk/nodejs/search/listAdminKey.ts +++ b/sdk/nodejs/search/listAdminKey.ts @@ -5,11 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Gets the primary and secondary admin API keys for the specified search service. + * Gets the primary and secondary admin API keys for the specified Azure AI Search service. * - * Uses Azure REST API version 2023-11-01. + * Uses Azure REST API version 2025-05-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export function listAdminKey(args: ListAdminKeyArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -25,13 +25,13 @@ export interface ListAdminKeyArgs { */ resourceGroupName: string; /** - * The name of the search service associated with the specified resource group. + * The name of the Azure AI Search service associated with the specified resource group. */ searchServiceName: string; } /** - * Response containing the primary and secondary admin API keys for a given search service. + * Response containing the primary and secondary admin API keys for a given Azure AI Search service. */ export interface ListAdminKeyResult { /** @@ -44,11 +44,11 @@ export interface ListAdminKeyResult { readonly secondaryKey: string; } /** - * Gets the primary and secondary admin API keys for the specified search service. + * Gets the primary and secondary admin API keys for the specified Azure AI Search service. * - * Uses Azure REST API version 2023-11-01. + * Uses Azure REST API version 2025-05-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export function listAdminKeyOutput(args: ListAdminKeyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -64,7 +64,7 @@ export interface ListAdminKeyOutputArgs { */ resourceGroupName: pulumi.Input; /** - * The name of the search service associated with the specified resource group. + * The name of the Azure AI Search service associated with the specified resource group. */ searchServiceName: pulumi.Input; } diff --git a/sdk/nodejs/search/listQueryKeyBySearchService.ts b/sdk/nodejs/search/listQueryKeyBySearchService.ts index 085e11ce6e45..52f6999ce7f4 100644 --- a/sdk/nodejs/search/listQueryKeyBySearchService.ts +++ b/sdk/nodejs/search/listQueryKeyBySearchService.ts @@ -8,11 +8,11 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Returns the list of query API keys for the given search service. + * Returns the list of query API keys for the given Azure AI Search service. * - * Uses Azure REST API version 2023-11-01. + * Uses Azure REST API version 2025-05-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export function listQueryKeyBySearchService(args: ListQueryKeyBySearchServiceArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -28,13 +28,13 @@ export interface ListQueryKeyBySearchServiceArgs { */ resourceGroupName: string; /** - * The name of the search service associated with the specified resource group. + * The name of the Azure AI Search service associated with the specified resource group. */ searchServiceName: string; } /** - * Response containing the query API keys for a given search service. + * Response containing the query API keys for a given Azure AI Search service. */ export interface ListQueryKeyBySearchServiceResult { /** @@ -42,16 +42,16 @@ export interface ListQueryKeyBySearchServiceResult { */ readonly nextLink: string; /** - * The query keys for the search service. + * The query keys for the Azure AI Search service. */ readonly value: outputs.search.QueryKeyResponse[]; } /** - * Returns the list of query API keys for the given search service. + * Returns the list of query API keys for the given Azure AI Search service. * - * Uses Azure REST API version 2023-11-01. + * Uses Azure REST API version 2025-05-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export function listQueryKeyBySearchServiceOutput(args: ListQueryKeyBySearchServiceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -67,7 +67,7 @@ export interface ListQueryKeyBySearchServiceOutputArgs { */ resourceGroupName: pulumi.Input; /** - * The name of the search service associated with the specified resource group. + * The name of the Azure AI Search service associated with the specified resource group. */ searchServiceName: pulumi.Input; } diff --git a/sdk/nodejs/search/privateEndpointConnection.ts b/sdk/nodejs/search/privateEndpointConnection.ts index da3d56ed05e2..f226cbec6094 100644 --- a/sdk/nodejs/search/privateEndpointConnection.ts +++ b/sdk/nodejs/search/privateEndpointConnection.ts @@ -8,11 +8,11 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Describes an existing private endpoint connection to the search service. + * Describes an existing private endpoint connection to the Azure AI Search service. * - * Uses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. + * Uses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export class PrivateEndpointConnection extends pulumi.CustomResource { /** @@ -50,9 +50,13 @@ export class PrivateEndpointConnection extends pulumi.CustomResource { */ public /*out*/ readonly name!: pulumi.Output; /** - * Describes the properties of an existing private endpoint connection to the search service. + * Describes the properties of an existing private endpoint connection to the Azure AI Search service. */ public readonly properties!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ @@ -81,11 +85,13 @@ export class PrivateEndpointConnection extends pulumi.CustomResource { resourceInputs["searchServiceName"] = args ? args.searchServiceName : undefined; resourceInputs["azureApiVersion"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { resourceInputs["azureApiVersion"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["properties"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -100,11 +106,11 @@ export class PrivateEndpointConnection extends pulumi.CustomResource { */ export interface PrivateEndpointConnectionArgs { /** - * The name of the private endpoint connection to the search service with the specified resource group. + * The name of the private endpoint connection to the Azure AI Search service with the specified resource group. */ privateEndpointConnectionName?: pulumi.Input; /** - * Describes the properties of an existing private endpoint connection to the search service. + * Describes the properties of an existing private endpoint connection to the Azure AI Search service. */ properties?: pulumi.Input; /** @@ -112,7 +118,7 @@ export interface PrivateEndpointConnectionArgs { */ resourceGroupName: pulumi.Input; /** - * The name of the search service associated with the specified resource group. + * The name of the Azure AI Search service associated with the specified resource group. */ searchServiceName: pulumi.Input; } diff --git a/sdk/nodejs/search/service.ts b/sdk/nodejs/search/service.ts index ae85a88835f8..c4543616b27b 100644 --- a/sdk/nodejs/search/service.ts +++ b/sdk/nodejs/search/service.ts @@ -8,11 +8,11 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Describes a search service and its current state. + * Describes an Azure AI Search service and its current state. * - * Uses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. + * Uses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export class Service extends pulumi.CustomResource { /** @@ -49,14 +49,30 @@ export class Service extends pulumi.CustomResource { * The Azure API version of the resource. */ public /*out*/ readonly azureApiVersion!: pulumi.Output; + /** + * Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + */ + public readonly computeType!: pulumi.Output; + /** + * A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future. + */ + public readonly dataExfiltrationProtections!: pulumi.Output; /** * When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. */ public readonly disableLocalAuth!: pulumi.Output; + /** + * A system generated property representing the service's etag that can be for optimistic concurrency control during updates. + */ + public /*out*/ readonly eTag!: pulumi.Output; /** * Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys within a search service. */ public readonly encryptionWithCmk!: pulumi.Output; + /** + * The endpoint of the Azure AI Search service. + */ + public readonly endpoint!: pulumi.Output; /** * Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. */ @@ -74,7 +90,7 @@ export class Service extends pulumi.CustomResource { */ public /*out*/ readonly name!: pulumi.Output; /** - * Network-specific rules that determine how the search service may be reached. + * Network specific rules that determine how the Azure AI Search service may be reached. */ public readonly networkRuleSet!: pulumi.Output; /** @@ -82,11 +98,11 @@ export class Service extends pulumi.CustomResource { */ public readonly partitionCount!: pulumi.Output; /** - * The list of private endpoint connections to the search service. + * The list of private endpoint connections to the Azure AI Search service. */ public /*out*/ readonly privateEndpointConnections!: pulumi.Output; /** - * The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. + * The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. */ public /*out*/ readonly provisioningState!: pulumi.Output; /** @@ -98,25 +114,33 @@ export class Service extends pulumi.CustomResource { */ public readonly replicaCount!: pulumi.Output; /** - * Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. + * Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. */ public readonly semanticSearch!: pulumi.Output; /** - * The list of shared private link resources managed by the search service. + * The date and time the search service was last upgraded. This field will be null until the service gets upgraded for the first time. + */ + public /*out*/ readonly serviceUpgradedAt!: pulumi.Output; + /** + * The list of shared private link resources managed by the Azure AI Search service. */ public /*out*/ readonly sharedPrivateLinkResources!: pulumi.Output; /** - * The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service. + * The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. */ public readonly sku!: pulumi.Output; /** - * The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, Microsoft is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. + * The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. */ public /*out*/ readonly status!: pulumi.Output; /** * The details of the search service status. */ public /*out*/ readonly statusDetails!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; /** * Resource tags. */ @@ -125,6 +149,10 @@ export class Service extends pulumi.CustomResource { * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ public /*out*/ readonly type!: pulumi.Output; + /** + * Indicates if the search service has an upgrade available. + */ + public readonly upgradeAvailable!: pulumi.Output; /** * Create a Service resource with the given unique name, arguments, and options. @@ -141,8 +169,11 @@ export class Service extends pulumi.CustomResource { throw new Error("Missing required property 'resourceGroupName'"); } resourceInputs["authOptions"] = args ? args.authOptions : undefined; + resourceInputs["computeType"] = args ? args.computeType : undefined; + resourceInputs["dataExfiltrationProtections"] = args ? args.dataExfiltrationProtections : undefined; resourceInputs["disableLocalAuth"] = args ? args.disableLocalAuth : undefined; resourceInputs["encryptionWithCmk"] = args ? args.encryptionWithCmk : undefined; + resourceInputs["endpoint"] = args ? args.endpoint : undefined; resourceInputs["hostingMode"] = (args ? args.hostingMode : undefined) ?? "default"; resourceInputs["identity"] = args ? args.identity : undefined; resourceInputs["location"] = args ? args.location : undefined; @@ -155,19 +186,27 @@ export class Service extends pulumi.CustomResource { resourceInputs["semanticSearch"] = args ? args.semanticSearch : undefined; resourceInputs["sku"] = args ? args.sku : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["upgradeAvailable"] = args ? args.upgradeAvailable : undefined; resourceInputs["azureApiVersion"] = undefined /*out*/; + resourceInputs["eTag"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["privateEndpointConnections"] = undefined /*out*/; resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["serviceUpgradedAt"] = undefined /*out*/; resourceInputs["sharedPrivateLinkResources"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["statusDetails"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { resourceInputs["authOptions"] = undefined /*out*/; resourceInputs["azureApiVersion"] = undefined /*out*/; + resourceInputs["computeType"] = undefined /*out*/; + resourceInputs["dataExfiltrationProtections"] = undefined /*out*/; resourceInputs["disableLocalAuth"] = undefined /*out*/; + resourceInputs["eTag"] = undefined /*out*/; resourceInputs["encryptionWithCmk"] = undefined /*out*/; + resourceInputs["endpoint"] = undefined /*out*/; resourceInputs["hostingMode"] = undefined /*out*/; resourceInputs["identity"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; @@ -179,12 +218,15 @@ export class Service extends pulumi.CustomResource { resourceInputs["publicNetworkAccess"] = undefined /*out*/; resourceInputs["replicaCount"] = undefined /*out*/; resourceInputs["semanticSearch"] = undefined /*out*/; + resourceInputs["serviceUpgradedAt"] = undefined /*out*/; resourceInputs["sharedPrivateLinkResources"] = undefined /*out*/; resourceInputs["sku"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["statusDetails"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; + resourceInputs["upgradeAvailable"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:search/v20150819:Service" }, { type: "azure-native:search/v20191001preview:Service" }, { type: "azure-native:search/v20200313:Service" }, { type: "azure-native:search/v20200801:Service" }, { type: "azure-native:search/v20200801preview:Service" }, { type: "azure-native:search/v20210401preview:Service" }, { type: "azure-native:search/v20220901:Service" }, { type: "azure-native:search/v20231101:Service" }, { type: "azure-native:search/v20240301preview:Service" }, { type: "azure-native:search/v20240601preview:Service" }, { type: "azure-native:search/v20250201preview:Service" }, { type: "azure-native:search/v20250501:Service" }] }; @@ -201,6 +243,14 @@ export interface ServiceArgs { * Defines the options for how the data plane API of a search service authenticates requests. This cannot be set if 'disableLocalAuth' is set to true. */ authOptions?: pulumi.Input; + /** + * Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + */ + computeType?: pulumi.Input; + /** + * A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future. + */ + dataExfiltrationProtections?: pulumi.Input[]>; /** * When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. */ @@ -209,6 +259,10 @@ export interface ServiceArgs { * Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys within a search service. */ encryptionWithCmk?: pulumi.Input; + /** + * The endpoint of the Azure AI Search service. + */ + endpoint?: pulumi.Input; /** * Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. */ @@ -222,7 +276,7 @@ export interface ServiceArgs { */ location?: pulumi.Input; /** - * Network-specific rules that determine how the search service may be reached. + * Network specific rules that determine how the Azure AI Search service may be reached. */ networkRuleSet?: pulumi.Input; /** @@ -232,7 +286,7 @@ export interface ServiceArgs { /** * This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method. */ - publicNetworkAccess?: pulumi.Input; + publicNetworkAccess?: pulumi.Input; /** * The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU. */ @@ -242,19 +296,23 @@ export interface ServiceArgs { */ resourceGroupName: pulumi.Input; /** - * The name of the search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created. + * The name of the Azure AI Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created. */ searchServiceName?: pulumi.Input; /** - * Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. + * Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. */ semanticSearch?: pulumi.Input; /** - * The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service. + * The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. */ sku?: pulumi.Input; /** * Resource tags. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Indicates if the search service has an upgrade available. + */ + upgradeAvailable?: pulumi.Input; } diff --git a/sdk/nodejs/search/sharedPrivateLinkResource.ts b/sdk/nodejs/search/sharedPrivateLinkResource.ts index 1078566007ed..eb797215eac7 100644 --- a/sdk/nodejs/search/sharedPrivateLinkResource.ts +++ b/sdk/nodejs/search/sharedPrivateLinkResource.ts @@ -8,11 +8,11 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Describes a Shared Private Link Resource managed by the search service. + * Describes a shared private link resource managed by the Azure AI Search service. * - * Uses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. + * Uses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. * - * Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + * Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export class SharedPrivateLinkResource extends pulumi.CustomResource { /** @@ -50,9 +50,13 @@ export class SharedPrivateLinkResource extends pulumi.CustomResource { */ public /*out*/ readonly name!: pulumi.Output; /** - * Describes the properties of a Shared Private Link Resource managed by the search service. + * Describes the properties of a shared private link resource managed by the Azure AI Search service. */ public readonly properties!: pulumi.Output; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + public /*out*/ readonly systemData!: pulumi.Output; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ @@ -81,11 +85,13 @@ export class SharedPrivateLinkResource extends pulumi.CustomResource { resourceInputs["sharedPrivateLinkResourceName"] = args ? args.sharedPrivateLinkResourceName : undefined; resourceInputs["azureApiVersion"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { resourceInputs["azureApiVersion"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["properties"] = undefined /*out*/; + resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -100,7 +106,7 @@ export class SharedPrivateLinkResource extends pulumi.CustomResource { */ export interface SharedPrivateLinkResourceArgs { /** - * Describes the properties of a Shared Private Link Resource managed by the search service. + * Describes the properties of a shared private link resource managed by the Azure AI Search service. */ properties?: pulumi.Input; /** @@ -108,11 +114,11 @@ export interface SharedPrivateLinkResourceArgs { */ resourceGroupName: pulumi.Input; /** - * The name of the search service associated with the specified resource group. + * The name of the Azure AI Search service associated with the specified resource group. */ searchServiceName: pulumi.Input; /** - * The name of the shared private link resource managed by the search service within the specified resource group. + * The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. */ sharedPrivateLinkResourceName?: pulumi.Input; } diff --git a/sdk/nodejs/types/enums/search/index.ts b/sdk/nodejs/types/enums/search/index.ts index 01660366a707..233eddaf4efd 100644 --- a/sdk/nodejs/types/enums/search/index.ts +++ b/sdk/nodejs/types/enums/search/index.ts @@ -18,6 +18,22 @@ export const AadAuthFailureMode = { */ export type AadAuthFailureMode = (typeof AadAuthFailureMode)[keyof typeof AadAuthFailureMode]; +export const ComputeType = { + /** + * Create the service with the Default Compute. + */ + Default: "default", + /** + * Create the service with Azure Confidential Compute. + */ + Confidential: "confidential", +} as const; + +/** + * Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + */ +export type ComputeType = (typeof ComputeType)[keyof typeof ComputeType]; + export const HostingMode = { /** * The limit on number of indexes is determined by the default limits for the SKU. @@ -35,12 +51,26 @@ export const HostingMode = { export type HostingMode = (typeof HostingMode)[keyof typeof HostingMode]; export const IdentityType = { + /** + * Indicates that any identity associated with the search service needs to be removed. + */ None: "None", + /** + * Indicates that system-assigned identity for the search service will be enabled. + */ SystemAssigned: "SystemAssigned", + /** + * Indicates that one or more user assigned identities will be assigned to the search service. + */ + UserAssigned: "UserAssigned", + /** + * Indicates that system-assigned identity for the search service will be enabled along with the assignment of one or more user assigned identities. + */ + SystemAssigned_UserAssigned: "SystemAssigned, UserAssigned", } as const; /** - * The identity type. + * The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. */ export type IdentityType = (typeof IdentityType)[keyof typeof IdentityType]; @@ -66,13 +96,13 @@ export const PrivateLinkServiceConnectionProvisioningState = { */ Incomplete: "Incomplete", /** - * Provisioning request for the private link service connection resource has been canceled + * Provisioning request for the private link service connection resource has been canceled. */ Canceled: "Canceled", } as const; /** - * The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete + * The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. */ export type PrivateLinkServiceConnectionProvisioningState = (typeof PrivateLinkServiceConnectionProvisioningState)[keyof typeof PrivateLinkServiceConnectionProvisioningState]; @@ -101,8 +131,18 @@ export const PrivateLinkServiceConnectionStatus = { export type PrivateLinkServiceConnectionStatus = (typeof PrivateLinkServiceConnectionStatus)[keyof typeof PrivateLinkServiceConnectionStatus]; export const PublicNetworkAccess = { + /** + * The search service is accessible from traffic originating from the public internet. + */ Enabled: "enabled", + /** + * The search service is not accessible from traffic originating from the public internet. Access is only permitted over approved private endpoint connections. + */ Disabled: "disabled", + /** + * The network security perimeter configuration rules allow or disallow public network access to the resource. Requires an associated network security perimeter. + */ + SecuredByPerimeter: "securedByPerimeter", } as const; /** @@ -110,13 +150,41 @@ export const PublicNetworkAccess = { */ export type PublicNetworkAccess = (typeof PublicNetworkAccess)[keyof typeof PublicNetworkAccess]; +export const SearchBypass = { + /** + * Indicates that no origin can bypass the rules defined in the 'ipRules' section. This is the default. + */ + None: "None", + /** + * Indicates that requests originating from Azure trusted services can bypass the rules defined in the 'ipRules' section. + */ + AzureServices: "AzureServices", +} as const; + +/** + * Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + */ +export type SearchBypass = (typeof SearchBypass)[keyof typeof SearchBypass]; + +export const SearchDataExfiltrationProtection = { + /** + * Indicates that all data exfiltration scenarios are disabled. + */ + BlockAll: "BlockAll", +} as const; + +/** + * A specific data exfiltration scenario that is disabled for the service. + */ +export type SearchDataExfiltrationProtection = (typeof SearchDataExfiltrationProtection)[keyof typeof SearchDataExfiltrationProtection]; + export const SearchEncryptionWithCmk = { /** - * No enforcement will be made and the search service can have non-customer-encrypted resources. + * No enforcement of customer-managed key encryption will be made. Only the built-in service-managed encryption is used. */ Disabled: "Disabled", /** - * Search service will be marked as non-compliant if there are one or more non-customer-encrypted resources. + * Search service will be marked as non-compliant if one or more objects aren't encrypted with a customer-managed key. */ Enabled: "Enabled", /** @@ -126,35 +194,50 @@ export const SearchEncryptionWithCmk = { } as const; /** - * Describes how a search service should enforce having one or more non-customer-encrypted resources. + * Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. */ export type SearchEncryptionWithCmk = (typeof SearchEncryptionWithCmk)[keyof typeof SearchEncryptionWithCmk]; export const SearchSemanticSearch = { /** - * Indicates that semantic ranking is disabled for the search service. + * Indicates that semantic reranker is disabled for the search service. This is the default. */ Disabled: "disabled", /** - * Enables semantic ranking on a search service and indicates that it is to be used within the limits of the free tier. This would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services. + * Enables semantic reranker on a search service and indicates that it is to be used within the limits of the free plan. The free plan would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services. */ Free: "free", /** - * Enables semantic ranking on a search service as a billable feature, with higher throughput and volume of semantic ranking requests. + * Enables semantic reranker on a search service as a billable feature, with higher throughput and volume of semantically reranked queries. */ Standard: "standard", } as const; /** - * Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. + * Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. */ export type SearchSemanticSearch = (typeof SearchSemanticSearch)[keyof typeof SearchSemanticSearch]; export const SharedPrivateLinkResourceProvisioningState = { + /** + * The shared private link resource is in the process of being created along with other resources for it to be fully functional. + */ Updating: "Updating", + /** + * The shared private link resource is in the process of being deleted. + */ Deleting: "Deleting", + /** + * The shared private link resource has failed to be provisioned or deleted. + */ Failed: "Failed", + /** + * The shared private link resource has finished provisioning and is ready for approval. + */ Succeeded: "Succeeded", + /** + * Provisioning request for the shared private link resource has been accepted but the process of creation has not commenced yet. + */ Incomplete: "Incomplete", } as const; @@ -164,9 +247,21 @@ export const SharedPrivateLinkResourceProvisioningState = { export type SharedPrivateLinkResourceProvisioningState = (typeof SharedPrivateLinkResourceProvisioningState)[keyof typeof SharedPrivateLinkResourceProvisioningState]; export const SharedPrivateLinkResourceStatus = { + /** + * The shared private link resource has been created and is pending approval. + */ Pending: "Pending", + /** + * The shared private link resource is approved and is ready for use. + */ Approved: "Approved", + /** + * The shared private link resource has been rejected and cannot be used. + */ Rejected: "Rejected", + /** + * The shared private link resource has been removed from the service. + */ Disconnected: "Disconnected", } as const; @@ -210,3 +305,19 @@ export const SkuName = { * The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.' */ export type SkuName = (typeof SkuName)[keyof typeof SkuName]; + +export const UpgradeAvailable = { + /** + * An upgrade is currently not available for the service. + */ + NotAvailable: "notAvailable", + /** + * There is an upgrade available for the service. + */ + Available: "available", +} as const; + +/** + * Indicates if the search service has an upgrade available. + */ +export type UpgradeAvailable = (typeof UpgradeAvailable)[keyof typeof UpgradeAvailable]; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 38fb8638fe2b..e7ec3b3dee65 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -158044,51 +158044,59 @@ export namespace search { } /** - * Describes a policy that determines how resources within the search service are to be encrypted with customer=managed keys. + * Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys. */ export interface EncryptionWithCmkArgs { /** - * Describes how a search service should enforce having one or more non-customer-encrypted resources. + * Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. */ enforcement?: pulumi.Input; } /** - * Identity for the resource. + * Details about the search service identity. A null value indicates that the search service has no identity assigned. */ export interface IdentityArgs { /** - * The identity type. + * The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. */ - type: pulumi.Input; + type: pulumi.Input; + /** + * The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: pulumi.Input[]>; } /** - * The IP restriction rule of the search service. + * The IP restriction rule of the Azure AI Search service. */ export interface IpRuleArgs { /** - * Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, 123.1.2.3/24) to be allowed. + * Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed. */ value?: pulumi.Input; } /** - * Network-specific rules that determine how the search service can be reached. + * Network specific rules that determine how the Azure AI Search service may be reached. */ export interface NetworkRuleSetArgs { /** - * A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + * Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + */ + bypass?: pulumi.Input; + /** + * A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. */ ipRules?: pulumi.Input[]>; } /** - * Describes the properties of an existing Private Endpoint connection to the search service. + * Describes the properties of an existing private endpoint connection to the search service. */ export interface PrivateEndpointConnectionPropertiesArgs { /** - * The group id from the provider of resource the private link service connection is for. + * The group ID of the Azure resource for which the private link service is for. */ groupId?: pulumi.Input; /** @@ -158096,11 +158104,11 @@ export namespace search { */ privateEndpoint?: pulumi.Input; /** - * Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + * Describes the current state of an existing Azure Private Link service connection to the private endpoint. */ privateLinkServiceConnectionState?: pulumi.Input; /** - * The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete + * The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. */ provisioningState?: pulumi.Input; } @@ -158119,13 +158127,13 @@ export namespace search { */ export interface PrivateEndpointConnectionPropertiesPrivateEndpointArgs { /** - * The resource id of the private endpoint resource from Microsoft.Network provider. + * The resource ID of the private endpoint resource from Microsoft.Network provider. */ id?: pulumi.Input; } /** - * Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + * Describes the current state of an existing Azure Private Link service connection to the private endpoint. */ export interface PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs { /** @@ -158152,33 +158160,33 @@ export namespace search { } /** - * Describes the properties of an existing Shared Private Link Resource managed by the search service. + * Describes the properties of an existing shared private link resource managed by the Azure AI Search service. */ export interface SharedPrivateLinkResourcePropertiesArgs { /** - * The group id from the provider of resource the shared private link resource is for. + * The group ID from the provider of resource the shared private link resource is for. */ groupId?: pulumi.Input; /** - * The resource id of the resource the shared private link resource is for. + * The resource ID of the resource the shared private link resource is for. */ privateLinkResourceId?: pulumi.Input; /** * The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete. */ - provisioningState?: pulumi.Input; + provisioningState?: pulumi.Input; /** - * The request message for requesting approval of the shared private link resource. + * The message for requesting approval of the shared private link resource. */ requestMessage?: pulumi.Input; /** - * Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). + * Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). */ resourceRegion?: pulumi.Input; /** * Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected. */ - status?: pulumi.Input; + status?: pulumi.Input; } /** @@ -158188,7 +158196,7 @@ export namespace search { /** * The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.' */ - name?: pulumi.Input; + name?: pulumi.Input; } } diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 5c25112c1cb4..93f650570a02 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -209081,21 +209081,21 @@ export namespace search { } /** - * Describes a policy that determines how resources within the search service are to be encrypted with customer=managed keys. + * Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys. */ export interface EncryptionWithCmkResponse { /** - * Describes whether the search service is compliant or not with respect to having non-customer-encrypted resources. If a service has more than one non-customer-encrypted resource and 'Enforcement' is 'enabled' then the service will be marked as 'nonCompliant'. + * Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant. */ encryptionComplianceStatus: string; /** - * Describes how a search service should enforce having one or more non-customer-encrypted resources. + * Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. */ enforcement?: string; } /** - * Identity for the resource. + * Details about the search service identity. A null value indicates that the search service has no identity assigned. */ export interface IdentityResponse { /** @@ -209107,37 +209107,45 @@ export namespace search { */ tenantId: string; /** - * The identity type. + * The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. */ type: string; + /** + * The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + */ + userAssignedIdentities?: {[key: string]: outputs.search.UserAssignedIdentityResponse}; } /** - * The IP restriction rule of the search service. + * The IP restriction rule of the Azure AI Search service. */ export interface IpRuleResponse { /** - * Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, 123.1.2.3/24) to be allowed. + * Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed. */ value?: string; } /** - * Network-specific rules that determine how the search service can be reached. + * Network specific rules that determine how the Azure AI Search service may be reached. */ export interface NetworkRuleSetResponse { /** - * A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + * Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + */ + bypass?: string; + /** + * A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. */ ipRules?: outputs.search.IpRuleResponse[]; } /** - * Describes the properties of an existing Private Endpoint connection to the search service. + * Describes the properties of an existing private endpoint connection to the search service. */ export interface PrivateEndpointConnectionPropertiesResponse { /** - * The group id from the provider of resource the private link service connection is for. + * The group ID of the Azure resource for which the private link service is for. */ groupId?: string; /** @@ -209145,11 +209153,11 @@ export namespace search { */ privateEndpoint?: outputs.search.PrivateEndpointConnectionPropertiesResponsePrivateEndpoint; /** - * Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + * Describes the current state of an existing Azure Private Link service connection to the private endpoint. */ privateLinkServiceConnectionState?: outputs.search.PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState; /** - * The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete + * The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. */ provisioningState?: string; } @@ -209168,13 +209176,13 @@ export namespace search { */ export interface PrivateEndpointConnectionPropertiesResponsePrivateEndpoint { /** - * The resource id of the private endpoint resource from Microsoft.Network provider. + * The resource ID of the private endpoint resource from Microsoft.Network provider. */ id?: string; } /** - * Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + * Describes the current state of an existing Azure Private Link service connection to the private endpoint. */ export interface PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState { /** @@ -209201,11 +209209,11 @@ export namespace search { } /** - * Describes an existing private endpoint connection to the search service. + * Describes an existing private endpoint connection to the Azure AI Search service. */ export interface PrivateEndpointConnectionResponse { /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" */ id: string; /** @@ -209213,9 +209221,13 @@ export namespace search { */ name: string; /** - * Describes the properties of an existing private endpoint connection to the search service. + * Describes the properties of an existing private endpoint connection to the Azure AI Search service. */ properties?: outputs.search.PrivateEndpointConnectionPropertiesResponse; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + systemData: outputs.search.SystemDataResponse; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ @@ -209232,7 +209244,7 @@ export namespace search { } /** - * Describes an API key for a given search service that has permissions for query operations only. + * Describes an API key for a given Azure AI Search service that conveys read-only permissions on the docs collection of an index. */ export interface QueryKeyResponse { /** @@ -209240,21 +209252,21 @@ export namespace search { */ key: string; /** - * The name of the query API key; may be empty. + * The name of the query API key. Query names are optional, but assigning a name can help you remember how it's used. */ name: string; } /** - * Describes the properties of an existing Shared Private Link Resource managed by the search service. + * Describes the properties of an existing shared private link resource managed by the Azure AI Search service. */ export interface SharedPrivateLinkResourcePropertiesResponse { /** - * The group id from the provider of resource the shared private link resource is for. + * The group ID from the provider of resource the shared private link resource is for. */ groupId?: string; /** - * The resource id of the resource the shared private link resource is for. + * The resource ID of the resource the shared private link resource is for. */ privateLinkResourceId?: string; /** @@ -209262,11 +209274,11 @@ export namespace search { */ provisioningState?: string; /** - * The request message for requesting approval of the shared private link resource. + * The message for requesting approval of the shared private link resource. */ requestMessage?: string; /** - * Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). + * Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). */ resourceRegion?: string; /** @@ -209276,11 +209288,11 @@ export namespace search { } /** - * Describes a Shared Private Link Resource managed by the search service. + * Describes a shared private link resource managed by the Azure AI Search service. */ export interface SharedPrivateLinkResourceResponse { /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" */ id: string; /** @@ -209288,9 +209300,13 @@ export namespace search { */ name: string; /** - * Describes the properties of a Shared Private Link Resource managed by the search service. + * Describes the properties of a shared private link resource managed by the Azure AI Search service. */ properties?: outputs.search.SharedPrivateLinkResourcePropertiesResponse; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + systemData: outputs.search.SystemDataResponse; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ @@ -209307,6 +209323,50 @@ export namespace search { name?: string; } + /** + * Metadata pertaining to creation and last modification of the resource. + */ + export interface SystemDataResponse { + /** + * The timestamp of resource creation (UTC). + */ + createdAt?: string; + /** + * The identity that created the resource. + */ + createdBy?: string; + /** + * The type of identity that created the resource. + */ + createdByType?: string; + /** + * The timestamp of resource last modification (UTC) + */ + lastModifiedAt?: string; + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: string; + } + + /** + * User assigned identity properties + */ + export interface UserAssignedIdentityResponse { + /** + * The client ID of the assigned identity. + */ + clientId: string; + /** + * The principal ID of the assigned identity. + */ + principalId: string; + } + } export namespace secretsynccontroller { diff --git a/sdk/python/pulumi_azure_native/search/_enums.py b/sdk/python/pulumi_azure_native/search/_enums.py index ce92ea2615f0..8aca0ca55677 100644 --- a/sdk/python/pulumi_azure_native/search/_enums.py +++ b/sdk/python/pulumi_azure_native/search/_enums.py @@ -8,16 +8,20 @@ __all__ = [ 'AadAuthFailureMode', + 'ComputeType', 'HostingMode', 'IdentityType', 'PrivateLinkServiceConnectionProvisioningState', 'PrivateLinkServiceConnectionStatus', 'PublicNetworkAccess', + 'SearchBypass', + 'SearchDataExfiltrationProtection', 'SearchEncryptionWithCmk', 'SearchSemanticSearch', 'SharedPrivateLinkResourceProvisioningState', 'SharedPrivateLinkResourceStatus', 'SkuName', + 'UpgradeAvailable', ] @@ -36,6 +40,21 @@ class AadAuthFailureMode(builtins.str, Enum): """ +@pulumi.type_token("azure-native:search:ComputeType") +class ComputeType(builtins.str, Enum): + """ + Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + """ + DEFAULT = "default" + """ + Create the service with the Default Compute. + """ + CONFIDENTIAL = "confidential" + """ + Create the service with Azure Confidential Compute. + """ + + @pulumi.type_token("azure-native:search:HostingMode") class HostingMode(builtins.str, Enum): """ @@ -54,16 +73,30 @@ class HostingMode(builtins.str, Enum): @pulumi.type_token("azure-native:search:IdentityType") class IdentityType(builtins.str, Enum): """ - The identity type. + The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. """ NONE = "None" + """ + Indicates that any identity associated with the search service needs to be removed. + """ SYSTEM_ASSIGNED = "SystemAssigned" + """ + Indicates that system-assigned identity for the search service will be enabled. + """ + USER_ASSIGNED = "UserAssigned" + """ + Indicates that one or more user assigned identities will be assigned to the search service. + """ + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned, UserAssigned" + """ + Indicates that system-assigned identity for the search service will be enabled along with the assignment of one or more user assigned identities. + """ @pulumi.type_token("azure-native:search:PrivateLinkServiceConnectionProvisioningState") class PrivateLinkServiceConnectionProvisioningState(builtins.str, Enum): """ - The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete + The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. """ UPDATING = "Updating" """ @@ -87,7 +120,7 @@ class PrivateLinkServiceConnectionProvisioningState(builtins.str, Enum): """ CANCELED = "Canceled" """ - Provisioning request for the private link service connection resource has been canceled + Provisioning request for the private link service connection resource has been canceled. """ @@ -120,21 +153,57 @@ class PublicNetworkAccess(builtins.str, Enum): This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method. """ ENABLED = "enabled" + """ + The search service is accessible from traffic originating from the public internet. + """ DISABLED = "disabled" + """ + The search service is not accessible from traffic originating from the public internet. Access is only permitted over approved private endpoint connections. + """ + SECURED_BY_PERIMETER = "securedByPerimeter" + """ + The network security perimeter configuration rules allow or disallow public network access to the resource. Requires an associated network security perimeter. + """ + + +@pulumi.type_token("azure-native:search:SearchBypass") +class SearchBypass(builtins.str, Enum): + """ + Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + """ + NONE = "None" + """ + Indicates that no origin can bypass the rules defined in the 'ipRules' section. This is the default. + """ + AZURE_SERVICES = "AzureServices" + """ + Indicates that requests originating from Azure trusted services can bypass the rules defined in the 'ipRules' section. + """ + + +@pulumi.type_token("azure-native:search:SearchDataExfiltrationProtection") +class SearchDataExfiltrationProtection(builtins.str, Enum): + """ + A specific data exfiltration scenario that is disabled for the service. + """ + BLOCK_ALL = "BlockAll" + """ + Indicates that all data exfiltration scenarios are disabled. + """ @pulumi.type_token("azure-native:search:SearchEncryptionWithCmk") class SearchEncryptionWithCmk(builtins.str, Enum): """ - Describes how a search service should enforce having one or more non-customer-encrypted resources. + Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. """ DISABLED = "Disabled" """ - No enforcement will be made and the search service can have non-customer-encrypted resources. + No enforcement of customer-managed key encryption will be made. Only the built-in service-managed encryption is used. """ ENABLED = "Enabled" """ - Search service will be marked as non-compliant if there are one or more non-customer-encrypted resources. + Search service will be marked as non-compliant if one or more objects aren't encrypted with a customer-managed key. """ UNSPECIFIED = "Unspecified" """ @@ -145,19 +214,19 @@ class SearchEncryptionWithCmk(builtins.str, Enum): @pulumi.type_token("azure-native:search:SearchSemanticSearch") class SearchSemanticSearch(builtins.str, Enum): """ - Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. + Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. """ DISABLED = "disabled" """ - Indicates that semantic ranking is disabled for the search service. + Indicates that semantic reranker is disabled for the search service. This is the default. """ FREE = "free" """ - Enables semantic ranking on a search service and indicates that it is to be used within the limits of the free tier. This would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services. + Enables semantic reranker on a search service and indicates that it is to be used within the limits of the free plan. The free plan would cap the volume of semantic ranking requests and is offered at no extra charge. This is the default for newly provisioned search services. """ STANDARD = "standard" """ - Enables semantic ranking on a search service as a billable feature, with higher throughput and volume of semantic ranking requests. + Enables semantic reranker on a search service as a billable feature, with higher throughput and volume of semantically reranked queries. """ @@ -167,10 +236,25 @@ class SharedPrivateLinkResourceProvisioningState(builtins.str, Enum): The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete. """ UPDATING = "Updating" + """ + The shared private link resource is in the process of being created along with other resources for it to be fully functional. + """ DELETING = "Deleting" + """ + The shared private link resource is in the process of being deleted. + """ FAILED = "Failed" + """ + The shared private link resource has failed to be provisioned or deleted. + """ SUCCEEDED = "Succeeded" + """ + The shared private link resource has finished provisioning and is ready for approval. + """ INCOMPLETE = "Incomplete" + """ + Provisioning request for the shared private link resource has been accepted but the process of creation has not commenced yet. + """ @pulumi.type_token("azure-native:search:SharedPrivateLinkResourceStatus") @@ -179,9 +263,21 @@ class SharedPrivateLinkResourceStatus(builtins.str, Enum): Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected. """ PENDING = "Pending" + """ + The shared private link resource has been created and is pending approval. + """ APPROVED = "Approved" + """ + The shared private link resource is approved and is ready for use. + """ REJECTED = "Rejected" + """ + The shared private link resource has been rejected and cannot be used. + """ DISCONNECTED = "Disconnected" + """ + The shared private link resource has been removed from the service. + """ @pulumi.type_token("azure-native:search:SkuName") @@ -217,3 +313,18 @@ class SkuName(builtins.str, Enum): """ Billable tier for a dedicated service that supports 2TB per partition, up to 12 partitions. """ + + +@pulumi.type_token("azure-native:search:UpgradeAvailable") +class UpgradeAvailable(builtins.str, Enum): + """ + Indicates if the search service has an upgrade available. + """ + NOT_AVAILABLE = "notAvailable" + """ + An upgrade is currently not available for the service. + """ + AVAILABLE = "available" + """ + There is an upgrade available for the service. + """ diff --git a/sdk/python/pulumi_azure_native/search/_inputs.py b/sdk/python/pulumi_azure_native/search/_inputs.py index b7473076af06..930901de25b3 100644 --- a/sdk/python/pulumi_azure_native/search/_inputs.py +++ b/sdk/python/pulumi_azure_native/search/_inputs.py @@ -138,11 +138,11 @@ def api_key_only(self, value: Optional[Any]): if not MYPY: class EncryptionWithCmkArgsDict(TypedDict): """ - Describes a policy that determines how resources within the search service are to be encrypted with customer=managed keys. + Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys. """ enforcement: NotRequired[pulumi.Input['SearchEncryptionWithCmk']] """ - Describes how a search service should enforce having one or more non-customer-encrypted resources. + Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. """ elif False: EncryptionWithCmkArgsDict: TypeAlias = Mapping[str, Any] @@ -152,8 +152,8 @@ class EncryptionWithCmkArgs: def __init__(__self__, *, enforcement: Optional[pulumi.Input['SearchEncryptionWithCmk']] = None): """ - Describes a policy that determines how resources within the search service are to be encrypted with customer=managed keys. - :param pulumi.Input['SearchEncryptionWithCmk'] enforcement: Describes how a search service should enforce having one or more non-customer-encrypted resources. + Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys. + :param pulumi.Input['SearchEncryptionWithCmk'] enforcement: Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. """ if enforcement is not None: pulumi.set(__self__, "enforcement", enforcement) @@ -162,7 +162,7 @@ def __init__(__self__, *, @pulumi.getter def enforcement(self) -> Optional[pulumi.Input['SearchEncryptionWithCmk']]: """ - Describes how a search service should enforce having one or more non-customer-encrypted resources. + Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. """ return pulumi.get(self, "enforcement") @@ -174,11 +174,15 @@ def enforcement(self, value: Optional[pulumi.Input['SearchEncryptionWithCmk']]): if not MYPY: class IdentityArgsDict(TypedDict): """ - Identity for the resource. + Details about the search service identity. A null value indicates that the search service has no identity assigned. """ - type: pulumi.Input['IdentityType'] + type: pulumi.Input[Union[builtins.str, 'IdentityType']] """ - The identity type. + The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. + """ + user_assigned_identities: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] + """ + The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. """ elif False: IdentityArgsDict: TypeAlias = Mapping[str, Any] @@ -186,34 +190,50 @@ class IdentityArgsDict(TypedDict): @pulumi.input_type class IdentityArgs: def __init__(__self__, *, - type: pulumi.Input['IdentityType']): + type: pulumi.Input[Union[builtins.str, 'IdentityType']], + user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None): """ - Identity for the resource. - :param pulumi.Input['IdentityType'] type: The identity type. + Details about the search service identity. A null value indicates that the search service has no identity assigned. + :param pulumi.Input[Union[builtins.str, 'IdentityType']] type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. + :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] user_assigned_identities: The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. """ pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) @property @pulumi.getter - def type(self) -> pulumi.Input['IdentityType']: + def type(self) -> pulumi.Input[Union[builtins.str, 'IdentityType']]: """ - The identity type. + The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. """ return pulumi.get(self, "type") @type.setter - def type(self, value: pulumi.Input['IdentityType']): + def type(self, value: pulumi.Input[Union[builtins.str, 'IdentityType']]): pulumi.set(self, "type", value) + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]: + """ + The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + return pulumi.get(self, "user_assigned_identities") + + @user_assigned_identities.setter + def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]): + pulumi.set(self, "user_assigned_identities", value) + if not MYPY: class IpRuleArgsDict(TypedDict): """ - The IP restriction rule of the search service. + The IP restriction rule of the Azure AI Search service. """ value: NotRequired[pulumi.Input[builtins.str]] """ - Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, 123.1.2.3/24) to be allowed. + Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed. """ elif False: IpRuleArgsDict: TypeAlias = Mapping[str, Any] @@ -223,8 +243,8 @@ class IpRuleArgs: def __init__(__self__, *, value: Optional[pulumi.Input[builtins.str]] = None): """ - The IP restriction rule of the search service. - :param pulumi.Input[builtins.str] value: Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, 123.1.2.3/24) to be allowed. + The IP restriction rule of the Azure AI Search service. + :param pulumi.Input[builtins.str] value: Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed. """ if value is not None: pulumi.set(__self__, "value", value) @@ -233,7 +253,7 @@ def __init__(__self__, *, @pulumi.getter def value(self) -> Optional[pulumi.Input[builtins.str]]: """ - Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, 123.1.2.3/24) to be allowed. + Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed. """ return pulumi.get(self, "value") @@ -245,11 +265,15 @@ def value(self, value: Optional[pulumi.Input[builtins.str]]): if not MYPY: class NetworkRuleSetArgsDict(TypedDict): """ - Network-specific rules that determine how the search service can be reached. + Network specific rules that determine how the Azure AI Search service may be reached. + """ + bypass: NotRequired[pulumi.Input[Union[builtins.str, 'SearchBypass']]] + """ + Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. """ ip_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['IpRuleArgsDict']]]] """ - A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. """ elif False: NetworkRuleSetArgsDict: TypeAlias = Mapping[str, Any] @@ -257,19 +281,35 @@ class NetworkRuleSetArgsDict(TypedDict): @pulumi.input_type class NetworkRuleSetArgs: def __init__(__self__, *, + bypass: Optional[pulumi.Input[Union[builtins.str, 'SearchBypass']]] = None, ip_rules: Optional[pulumi.Input[Sequence[pulumi.Input['IpRuleArgs']]]] = None): """ - Network-specific rules that determine how the search service can be reached. - :param pulumi.Input[Sequence[pulumi.Input['IpRuleArgs']]] ip_rules: A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + Network specific rules that determine how the Azure AI Search service may be reached. + :param pulumi.Input[Union[builtins.str, 'SearchBypass']] bypass: Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + :param pulumi.Input[Sequence[pulumi.Input['IpRuleArgs']]] ip_rules: A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. """ + if bypass is not None: + pulumi.set(__self__, "bypass", bypass) if ip_rules is not None: pulumi.set(__self__, "ip_rules", ip_rules) + @property + @pulumi.getter + def bypass(self) -> Optional[pulumi.Input[Union[builtins.str, 'SearchBypass']]]: + """ + Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + """ + return pulumi.get(self, "bypass") + + @bypass.setter + def bypass(self, value: Optional[pulumi.Input[Union[builtins.str, 'SearchBypass']]]): + pulumi.set(self, "bypass", value) + @property @pulumi.getter(name="ipRules") def ip_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpRuleArgs']]]]: """ - A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. """ return pulumi.get(self, "ip_rules") @@ -285,7 +325,7 @@ class PrivateEndpointConnectionPropertiesPrivateEndpointArgsDict(TypedDict): """ id: NotRequired[pulumi.Input[builtins.str]] """ - The resource id of the private endpoint resource from Microsoft.Network provider. + The resource ID of the private endpoint resource from Microsoft.Network provider. """ elif False: PrivateEndpointConnectionPropertiesPrivateEndpointArgsDict: TypeAlias = Mapping[str, Any] @@ -296,7 +336,7 @@ def __init__(__self__, *, id: Optional[pulumi.Input[builtins.str]] = None): """ The private endpoint resource from Microsoft.Network provider. - :param pulumi.Input[builtins.str] id: The resource id of the private endpoint resource from Microsoft.Network provider. + :param pulumi.Input[builtins.str] id: The resource ID of the private endpoint resource from Microsoft.Network provider. """ if id is not None: pulumi.set(__self__, "id", id) @@ -305,7 +345,7 @@ def __init__(__self__, *, @pulumi.getter def id(self) -> Optional[pulumi.Input[builtins.str]]: """ - The resource id of the private endpoint resource from Microsoft.Network provider. + The resource ID of the private endpoint resource from Microsoft.Network provider. """ return pulumi.get(self, "id") @@ -317,7 +357,7 @@ def id(self, value: Optional[pulumi.Input[builtins.str]]): if not MYPY: class PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgsDict(TypedDict): """ - Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + Describes the current state of an existing Azure Private Link service connection to the private endpoint. """ actions_required: NotRequired[pulumi.Input[builtins.str]] """ @@ -341,7 +381,7 @@ def __init__(__self__, *, description: Optional[pulumi.Input[builtins.str]] = None, status: Optional[pulumi.Input['PrivateLinkServiceConnectionStatus']] = None): """ - Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + Describes the current state of an existing Azure Private Link service connection to the private endpoint. :param pulumi.Input[builtins.str] actions_required: A description of any extra actions that may be required. :param pulumi.Input[builtins.str] description: The description for the private link service connection state. :param pulumi.Input['PrivateLinkServiceConnectionStatus'] status: Status of the the private link service connection. Valid values are Pending, Approved, Rejected, or Disconnected. @@ -395,11 +435,11 @@ def status(self, value: Optional[pulumi.Input['PrivateLinkServiceConnectionStatu if not MYPY: class PrivateEndpointConnectionPropertiesArgsDict(TypedDict): """ - Describes the properties of an existing Private Endpoint connection to the search service. + Describes the properties of an existing private endpoint connection to the search service. """ group_id: NotRequired[pulumi.Input[builtins.str]] """ - The group id from the provider of resource the private link service connection is for. + The group ID of the Azure resource for which the private link service is for. """ private_endpoint: NotRequired[pulumi.Input['PrivateEndpointConnectionPropertiesPrivateEndpointArgsDict']] """ @@ -407,11 +447,11 @@ class PrivateEndpointConnectionPropertiesArgsDict(TypedDict): """ private_link_service_connection_state: NotRequired[pulumi.Input['PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgsDict']] """ - Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + Describes the current state of an existing Azure Private Link service connection to the private endpoint. """ provisioning_state: NotRequired[pulumi.Input[Union[builtins.str, 'PrivateLinkServiceConnectionProvisioningState']]] """ - The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete + The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. """ elif False: PrivateEndpointConnectionPropertiesArgsDict: TypeAlias = Mapping[str, Any] @@ -424,11 +464,11 @@ def __init__(__self__, *, private_link_service_connection_state: Optional[pulumi.Input['PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs']] = None, provisioning_state: Optional[pulumi.Input[Union[builtins.str, 'PrivateLinkServiceConnectionProvisioningState']]] = None): """ - Describes the properties of an existing Private Endpoint connection to the search service. - :param pulumi.Input[builtins.str] group_id: The group id from the provider of resource the private link service connection is for. + Describes the properties of an existing private endpoint connection to the search service. + :param pulumi.Input[builtins.str] group_id: The group ID of the Azure resource for which the private link service is for. :param pulumi.Input['PrivateEndpointConnectionPropertiesPrivateEndpointArgs'] private_endpoint: The private endpoint resource from Microsoft.Network provider. - :param pulumi.Input['PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs'] private_link_service_connection_state: Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. - :param pulumi.Input[Union[builtins.str, 'PrivateLinkServiceConnectionProvisioningState']] provisioning_state: The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete + :param pulumi.Input['PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs'] private_link_service_connection_state: Describes the current state of an existing Azure Private Link service connection to the private endpoint. + :param pulumi.Input[Union[builtins.str, 'PrivateLinkServiceConnectionProvisioningState']] provisioning_state: The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. """ if group_id is not None: pulumi.set(__self__, "group_id", group_id) @@ -443,7 +483,7 @@ def __init__(__self__, *, @pulumi.getter(name="groupId") def group_id(self) -> Optional[pulumi.Input[builtins.str]]: """ - The group id from the provider of resource the private link service connection is for. + The group ID of the Azure resource for which the private link service is for. """ return pulumi.get(self, "group_id") @@ -467,7 +507,7 @@ def private_endpoint(self, value: Optional[pulumi.Input['PrivateEndpointConnecti @pulumi.getter(name="privateLinkServiceConnectionState") def private_link_service_connection_state(self) -> Optional[pulumi.Input['PrivateEndpointConnectionPropertiesPrivateLinkServiceConnectionStateArgs']]: """ - Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + Describes the current state of an existing Azure Private Link service connection to the private endpoint. """ return pulumi.get(self, "private_link_service_connection_state") @@ -479,7 +519,7 @@ def private_link_service_connection_state(self, value: Optional[pulumi.Input['Pr @pulumi.getter(name="provisioningState") def provisioning_state(self) -> Optional[pulumi.Input[Union[builtins.str, 'PrivateLinkServiceConnectionProvisioningState']]]: """ - The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete + The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. """ return pulumi.get(self, "provisioning_state") @@ -491,29 +531,29 @@ def provisioning_state(self, value: Optional[pulumi.Input[Union[builtins.str, 'P if not MYPY: class SharedPrivateLinkResourcePropertiesArgsDict(TypedDict): """ - Describes the properties of an existing Shared Private Link Resource managed by the search service. + Describes the properties of an existing shared private link resource managed by the Azure AI Search service. """ group_id: NotRequired[pulumi.Input[builtins.str]] """ - The group id from the provider of resource the shared private link resource is for. + The group ID from the provider of resource the shared private link resource is for. """ private_link_resource_id: NotRequired[pulumi.Input[builtins.str]] """ - The resource id of the resource the shared private link resource is for. + The resource ID of the resource the shared private link resource is for. """ - provisioning_state: NotRequired[pulumi.Input['SharedPrivateLinkResourceProvisioningState']] + provisioning_state: NotRequired[pulumi.Input[Union[builtins.str, 'SharedPrivateLinkResourceProvisioningState']]] """ The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete. """ request_message: NotRequired[pulumi.Input[builtins.str]] """ - The request message for requesting approval of the shared private link resource. + The message for requesting approval of the shared private link resource. """ resource_region: NotRequired[pulumi.Input[builtins.str]] """ - Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). + Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). """ - status: NotRequired[pulumi.Input['SharedPrivateLinkResourceStatus']] + status: NotRequired[pulumi.Input[Union[builtins.str, 'SharedPrivateLinkResourceStatus']]] """ Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected. """ @@ -525,18 +565,18 @@ class SharedPrivateLinkResourcePropertiesArgs: def __init__(__self__, *, group_id: Optional[pulumi.Input[builtins.str]] = None, private_link_resource_id: Optional[pulumi.Input[builtins.str]] = None, - provisioning_state: Optional[pulumi.Input['SharedPrivateLinkResourceProvisioningState']] = None, + provisioning_state: Optional[pulumi.Input[Union[builtins.str, 'SharedPrivateLinkResourceProvisioningState']]] = None, request_message: Optional[pulumi.Input[builtins.str]] = None, resource_region: Optional[pulumi.Input[builtins.str]] = None, - status: Optional[pulumi.Input['SharedPrivateLinkResourceStatus']] = None): + status: Optional[pulumi.Input[Union[builtins.str, 'SharedPrivateLinkResourceStatus']]] = None): """ - Describes the properties of an existing Shared Private Link Resource managed by the search service. - :param pulumi.Input[builtins.str] group_id: The group id from the provider of resource the shared private link resource is for. - :param pulumi.Input[builtins.str] private_link_resource_id: The resource id of the resource the shared private link resource is for. - :param pulumi.Input['SharedPrivateLinkResourceProvisioningState'] provisioning_state: The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete. - :param pulumi.Input[builtins.str] request_message: The request message for requesting approval of the shared private link resource. - :param pulumi.Input[builtins.str] resource_region: Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). - :param pulumi.Input['SharedPrivateLinkResourceStatus'] status: Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected. + Describes the properties of an existing shared private link resource managed by the Azure AI Search service. + :param pulumi.Input[builtins.str] group_id: The group ID from the provider of resource the shared private link resource is for. + :param pulumi.Input[builtins.str] private_link_resource_id: The resource ID of the resource the shared private link resource is for. + :param pulumi.Input[Union[builtins.str, 'SharedPrivateLinkResourceProvisioningState']] provisioning_state: The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete. + :param pulumi.Input[builtins.str] request_message: The message for requesting approval of the shared private link resource. + :param pulumi.Input[builtins.str] resource_region: Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). + :param pulumi.Input[Union[builtins.str, 'SharedPrivateLinkResourceStatus']] status: Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected. """ if group_id is not None: pulumi.set(__self__, "group_id", group_id) @@ -555,7 +595,7 @@ def __init__(__self__, *, @pulumi.getter(name="groupId") def group_id(self) -> Optional[pulumi.Input[builtins.str]]: """ - The group id from the provider of resource the shared private link resource is for. + The group ID from the provider of resource the shared private link resource is for. """ return pulumi.get(self, "group_id") @@ -567,7 +607,7 @@ def group_id(self, value: Optional[pulumi.Input[builtins.str]]): @pulumi.getter(name="privateLinkResourceId") def private_link_resource_id(self) -> Optional[pulumi.Input[builtins.str]]: """ - The resource id of the resource the shared private link resource is for. + The resource ID of the resource the shared private link resource is for. """ return pulumi.get(self, "private_link_resource_id") @@ -577,21 +617,21 @@ def private_link_resource_id(self, value: Optional[pulumi.Input[builtins.str]]): @property @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> Optional[pulumi.Input['SharedPrivateLinkResourceProvisioningState']]: + def provisioning_state(self) -> Optional[pulumi.Input[Union[builtins.str, 'SharedPrivateLinkResourceProvisioningState']]]: """ The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete. """ return pulumi.get(self, "provisioning_state") @provisioning_state.setter - def provisioning_state(self, value: Optional[pulumi.Input['SharedPrivateLinkResourceProvisioningState']]): + def provisioning_state(self, value: Optional[pulumi.Input[Union[builtins.str, 'SharedPrivateLinkResourceProvisioningState']]]): pulumi.set(self, "provisioning_state", value) @property @pulumi.getter(name="requestMessage") def request_message(self) -> Optional[pulumi.Input[builtins.str]]: """ - The request message for requesting approval of the shared private link resource. + The message for requesting approval of the shared private link resource. """ return pulumi.get(self, "request_message") @@ -603,7 +643,7 @@ def request_message(self, value: Optional[pulumi.Input[builtins.str]]): @pulumi.getter(name="resourceRegion") def resource_region(self) -> Optional[pulumi.Input[builtins.str]]: """ - Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). + Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). """ return pulumi.get(self, "resource_region") @@ -613,14 +653,14 @@ def resource_region(self, value: Optional[pulumi.Input[builtins.str]]): @property @pulumi.getter - def status(self) -> Optional[pulumi.Input['SharedPrivateLinkResourceStatus']]: + def status(self) -> Optional[pulumi.Input[Union[builtins.str, 'SharedPrivateLinkResourceStatus']]]: """ Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected. """ return pulumi.get(self, "status") @status.setter - def status(self, value: Optional[pulumi.Input['SharedPrivateLinkResourceStatus']]): + def status(self, value: Optional[pulumi.Input[Union[builtins.str, 'SharedPrivateLinkResourceStatus']]]): pulumi.set(self, "status", value) @@ -629,7 +669,7 @@ class SkuArgsDict(TypedDict): """ Defines the SKU of a search service, which determines billing rate and capacity limits. """ - name: NotRequired[pulumi.Input['SkuName']] + name: NotRequired[pulumi.Input[Union[builtins.str, 'SkuName']]] """ The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.' """ @@ -639,24 +679,24 @@ class SkuArgsDict(TypedDict): @pulumi.input_type class SkuArgs: def __init__(__self__, *, - name: Optional[pulumi.Input['SkuName']] = None): + name: Optional[pulumi.Input[Union[builtins.str, 'SkuName']]] = None): """ Defines the SKU of a search service, which determines billing rate and capacity limits. - :param pulumi.Input['SkuName'] name: The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.' + :param pulumi.Input[Union[builtins.str, 'SkuName']] name: The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.' """ if name is not None: pulumi.set(__self__, "name", name) @property @pulumi.getter - def name(self) -> Optional[pulumi.Input['SkuName']]: + def name(self) -> Optional[pulumi.Input[Union[builtins.str, 'SkuName']]]: """ The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.' """ return pulumi.get(self, "name") @name.setter - def name(self, value: Optional[pulumi.Input['SkuName']]): + def name(self, value: Optional[pulumi.Input[Union[builtins.str, 'SkuName']]]): pulumi.set(self, "name", value) diff --git a/sdk/python/pulumi_azure_native/search/get_private_endpoint_connection.py b/sdk/python/pulumi_azure_native/search/get_private_endpoint_connection.py index 9a292fc75e89..bb1c9f79f9be 100644 --- a/sdk/python/pulumi_azure_native/search/get_private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/search/get_private_endpoint_connection.py @@ -26,9 +26,9 @@ @pulumi.output_type class GetPrivateEndpointConnectionResult: """ - Describes an existing private endpoint connection to the search service. + Describes an existing private endpoint connection to the Azure AI Search service. """ - def __init__(__self__, azure_api_version=None, id=None, name=None, properties=None, type=None): + def __init__(__self__, azure_api_version=None, id=None, name=None, properties=None, system_data=None, type=None): if azure_api_version and not isinstance(azure_api_version, str): raise TypeError("Expected argument 'azure_api_version' to be a str") pulumi.set(__self__, "azure_api_version", azure_api_version) @@ -41,6 +41,9 @@ def __init__(__self__, azure_api_version=None, id=None, name=None, properties=No if properties and not isinstance(properties, dict): raise TypeError("Expected argument 'properties' to be a dict") pulumi.set(__self__, "properties", properties) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) if type and not isinstance(type, str): raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) @@ -57,7 +60,7 @@ def azure_api_version(self) -> builtins.str: @pulumi.getter def id(self) -> builtins.str: """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" """ return pulumi.get(self, "id") @@ -73,10 +76,18 @@ def name(self) -> builtins.str: @pulumi.getter def properties(self) -> 'outputs.PrivateEndpointConnectionPropertiesResponse': """ - Describes the properties of an existing private endpoint connection to the search service. + Describes the properties of an existing private endpoint connection to the Azure AI Search service. """ return pulumi.get(self, "properties") + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + @property @pulumi.getter def type(self) -> builtins.str: @@ -96,6 +107,7 @@ def __await__(self): id=self.id, name=self.name, properties=self.properties, + system_data=self.system_data, type=self.type) @@ -106,14 +118,14 @@ def get_private_endpoint_connection(private_endpoint_connection_name: Optional[b """ Gets the details of the private endpoint connection to the search service in the given resource group. - Uses Azure REST API version 2023-11-01. + Uses Azure REST API version 2025-05-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. - :param builtins.str private_endpoint_connection_name: The name of the private endpoint connection to the search service with the specified resource group. + :param builtins.str private_endpoint_connection_name: The name of the private endpoint connection to the Azure AI Search service with the specified resource group. :param builtins.str resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param builtins.str search_service_name: The name of the search service associated with the specified resource group. + :param builtins.str search_service_name: The name of the Azure AI Search service associated with the specified resource group. """ __args__ = dict() __args__['privateEndpointConnectionName'] = private_endpoint_connection_name @@ -127,6 +139,7 @@ def get_private_endpoint_connection(private_endpoint_connection_name: Optional[b id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), properties=pulumi.get(__ret__, 'properties'), + system_data=pulumi.get(__ret__, 'system_data'), type=pulumi.get(__ret__, 'type')) def get_private_endpoint_connection_output(private_endpoint_connection_name: Optional[pulumi.Input[builtins.str]] = None, resource_group_name: Optional[pulumi.Input[builtins.str]] = None, @@ -135,14 +148,14 @@ def get_private_endpoint_connection_output(private_endpoint_connection_name: Opt """ Gets the details of the private endpoint connection to the search service in the given resource group. - Uses Azure REST API version 2023-11-01. + Uses Azure REST API version 2025-05-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. - :param builtins.str private_endpoint_connection_name: The name of the private endpoint connection to the search service with the specified resource group. + :param builtins.str private_endpoint_connection_name: The name of the private endpoint connection to the Azure AI Search service with the specified resource group. :param builtins.str resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param builtins.str search_service_name: The name of the search service associated with the specified resource group. + :param builtins.str search_service_name: The name of the Azure AI Search service associated with the specified resource group. """ __args__ = dict() __args__['privateEndpointConnectionName'] = private_endpoint_connection_name @@ -155,4 +168,5 @@ def get_private_endpoint_connection_output(private_endpoint_connection_name: Opt id=pulumi.get(__response__, 'id'), name=pulumi.get(__response__, 'name'), properties=pulumi.get(__response__, 'properties'), + system_data=pulumi.get(__response__, 'system_data'), type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_azure_native/search/get_service.py b/sdk/python/pulumi_azure_native/search/get_service.py index 8b7b5686d4ff..1838451f9957 100644 --- a/sdk/python/pulumi_azure_native/search/get_service.py +++ b/sdk/python/pulumi_azure_native/search/get_service.py @@ -26,21 +26,33 @@ @pulumi.output_type class GetServiceResult: """ - Describes a search service and its current state. + Describes an Azure AI Search service and its current state. """ - def __init__(__self__, auth_options=None, azure_api_version=None, disable_local_auth=None, encryption_with_cmk=None, hosting_mode=None, id=None, identity=None, location=None, name=None, network_rule_set=None, partition_count=None, private_endpoint_connections=None, provisioning_state=None, public_network_access=None, replica_count=None, semantic_search=None, shared_private_link_resources=None, sku=None, status=None, status_details=None, tags=None, type=None): + def __init__(__self__, auth_options=None, azure_api_version=None, compute_type=None, data_exfiltration_protections=None, disable_local_auth=None, e_tag=None, encryption_with_cmk=None, endpoint=None, hosting_mode=None, id=None, identity=None, location=None, name=None, network_rule_set=None, partition_count=None, private_endpoint_connections=None, provisioning_state=None, public_network_access=None, replica_count=None, semantic_search=None, service_upgraded_at=None, shared_private_link_resources=None, sku=None, status=None, status_details=None, system_data=None, tags=None, type=None, upgrade_available=None): if auth_options and not isinstance(auth_options, dict): raise TypeError("Expected argument 'auth_options' to be a dict") pulumi.set(__self__, "auth_options", auth_options) if azure_api_version and not isinstance(azure_api_version, str): raise TypeError("Expected argument 'azure_api_version' to be a str") pulumi.set(__self__, "azure_api_version", azure_api_version) + if compute_type and not isinstance(compute_type, str): + raise TypeError("Expected argument 'compute_type' to be a str") + pulumi.set(__self__, "compute_type", compute_type) + if data_exfiltration_protections and not isinstance(data_exfiltration_protections, list): + raise TypeError("Expected argument 'data_exfiltration_protections' to be a list") + pulumi.set(__self__, "data_exfiltration_protections", data_exfiltration_protections) if disable_local_auth and not isinstance(disable_local_auth, bool): raise TypeError("Expected argument 'disable_local_auth' to be a bool") pulumi.set(__self__, "disable_local_auth", disable_local_auth) + if e_tag and not isinstance(e_tag, str): + raise TypeError("Expected argument 'e_tag' to be a str") + pulumi.set(__self__, "e_tag", e_tag) if encryption_with_cmk and not isinstance(encryption_with_cmk, dict): raise TypeError("Expected argument 'encryption_with_cmk' to be a dict") pulumi.set(__self__, "encryption_with_cmk", encryption_with_cmk) + if endpoint and not isinstance(endpoint, str): + raise TypeError("Expected argument 'endpoint' to be a str") + pulumi.set(__self__, "endpoint", endpoint) if hosting_mode and not isinstance(hosting_mode, str): raise TypeError("Expected argument 'hosting_mode' to be a str") pulumi.set(__self__, "hosting_mode", hosting_mode) @@ -77,6 +89,9 @@ def __init__(__self__, auth_options=None, azure_api_version=None, disable_local_ if semantic_search and not isinstance(semantic_search, str): raise TypeError("Expected argument 'semantic_search' to be a str") pulumi.set(__self__, "semantic_search", semantic_search) + if service_upgraded_at and not isinstance(service_upgraded_at, str): + raise TypeError("Expected argument 'service_upgraded_at' to be a str") + pulumi.set(__self__, "service_upgraded_at", service_upgraded_at) if shared_private_link_resources and not isinstance(shared_private_link_resources, list): raise TypeError("Expected argument 'shared_private_link_resources' to be a list") pulumi.set(__self__, "shared_private_link_resources", shared_private_link_resources) @@ -89,12 +104,18 @@ def __init__(__self__, auth_options=None, azure_api_version=None, disable_local_ if status_details and not isinstance(status_details, str): raise TypeError("Expected argument 'status_details' to be a str") pulumi.set(__self__, "status_details", status_details) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) if tags and not isinstance(tags, dict): raise TypeError("Expected argument 'tags' to be a dict") pulumi.set(__self__, "tags", tags) if type and not isinstance(type, str): raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) + if upgrade_available and not isinstance(upgrade_available, str): + raise TypeError("Expected argument 'upgrade_available' to be a str") + pulumi.set(__self__, "upgrade_available", upgrade_available) @property @pulumi.getter(name="authOptions") @@ -112,6 +133,22 @@ def azure_api_version(self) -> builtins.str: """ return pulumi.get(self, "azure_api_version") + @property + @pulumi.getter(name="computeType") + def compute_type(self) -> Optional[builtins.str]: + """ + Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + """ + return pulumi.get(self, "compute_type") + + @property + @pulumi.getter(name="dataExfiltrationProtections") + def data_exfiltration_protections(self) -> Optional[Sequence[builtins.str]]: + """ + A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future. + """ + return pulumi.get(self, "data_exfiltration_protections") + @property @pulumi.getter(name="disableLocalAuth") def disable_local_auth(self) -> Optional[builtins.bool]: @@ -120,6 +157,14 @@ def disable_local_auth(self) -> Optional[builtins.bool]: """ return pulumi.get(self, "disable_local_auth") + @property + @pulumi.getter(name="eTag") + def e_tag(self) -> builtins.str: + """ + A system generated property representing the service's etag that can be for optimistic concurrency control during updates. + """ + return pulumi.get(self, "e_tag") + @property @pulumi.getter(name="encryptionWithCmk") def encryption_with_cmk(self) -> Optional['outputs.EncryptionWithCmkResponse']: @@ -128,6 +173,14 @@ def encryption_with_cmk(self) -> Optional['outputs.EncryptionWithCmkResponse']: """ return pulumi.get(self, "encryption_with_cmk") + @property + @pulumi.getter + def endpoint(self) -> Optional[builtins.str]: + """ + The endpoint of the Azure AI Search service. + """ + return pulumi.get(self, "endpoint") + @property @pulumi.getter(name="hostingMode") def hosting_mode(self) -> Optional[builtins.str]: @@ -140,7 +193,7 @@ def hosting_mode(self) -> Optional[builtins.str]: @pulumi.getter def id(self) -> builtins.str: """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" """ return pulumi.get(self, "id") @@ -172,7 +225,7 @@ def name(self) -> builtins.str: @pulumi.getter(name="networkRuleSet") def network_rule_set(self) -> Optional['outputs.NetworkRuleSetResponse']: """ - Network-specific rules that determine how the search service may be reached. + Network specific rules that determine how the Azure AI Search service may be reached. """ return pulumi.get(self, "network_rule_set") @@ -188,7 +241,7 @@ def partition_count(self) -> Optional[builtins.int]: @pulumi.getter(name="privateEndpointConnections") def private_endpoint_connections(self) -> Sequence['outputs.PrivateEndpointConnectionResponse']: """ - The list of private endpoint connections to the search service. + The list of private endpoint connections to the Azure AI Search service. """ return pulumi.get(self, "private_endpoint_connections") @@ -196,7 +249,7 @@ def private_endpoint_connections(self) -> Sequence['outputs.PrivateEndpointConne @pulumi.getter(name="provisioningState") def provisioning_state(self) -> builtins.str: """ - The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. + The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. """ return pulumi.get(self, "provisioning_state") @@ -220,15 +273,23 @@ def replica_count(self) -> Optional[builtins.int]: @pulumi.getter(name="semanticSearch") def semantic_search(self) -> Optional[builtins.str]: """ - Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. + Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. """ return pulumi.get(self, "semantic_search") + @property + @pulumi.getter(name="serviceUpgradedAt") + def service_upgraded_at(self) -> builtins.str: + """ + The date and time the search service was last upgraded. This field will be null until the service gets upgraded for the first time. + """ + return pulumi.get(self, "service_upgraded_at") + @property @pulumi.getter(name="sharedPrivateLinkResources") def shared_private_link_resources(self) -> Sequence['outputs.SharedPrivateLinkResourceResponse']: """ - The list of shared private link resources managed by the search service. + The list of shared private link resources managed by the Azure AI Search service. """ return pulumi.get(self, "shared_private_link_resources") @@ -236,7 +297,7 @@ def shared_private_link_resources(self) -> Sequence['outputs.SharedPrivateLinkRe @pulumi.getter def sku(self) -> Optional['outputs.SkuResponse']: """ - The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service. + The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. """ return pulumi.get(self, "sku") @@ -244,7 +305,7 @@ def sku(self) -> Optional['outputs.SkuResponse']: @pulumi.getter def status(self) -> builtins.str: """ - The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, Microsoft is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. + The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. """ return pulumi.get(self, "status") @@ -256,6 +317,14 @@ def status_details(self) -> builtins.str: """ return pulumi.get(self, "status_details") + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + @property @pulumi.getter def tags(self) -> Optional[Mapping[str, builtins.str]]: @@ -272,6 +341,14 @@ def type(self) -> builtins.str: """ return pulumi.get(self, "type") + @property + @pulumi.getter(name="upgradeAvailable") + def upgrade_available(self) -> Optional[builtins.str]: + """ + Indicates if the search service has an upgrade available. + """ + return pulumi.get(self, "upgrade_available") + class AwaitableGetServiceResult(GetServiceResult): # pylint: disable=using-constant-test @@ -281,8 +358,12 @@ def __await__(self): return GetServiceResult( auth_options=self.auth_options, azure_api_version=self.azure_api_version, + compute_type=self.compute_type, + data_exfiltration_protections=self.data_exfiltration_protections, disable_local_auth=self.disable_local_auth, + e_tag=self.e_tag, encryption_with_cmk=self.encryption_with_cmk, + endpoint=self.endpoint, hosting_mode=self.hosting_mode, id=self.id, identity=self.identity, @@ -295,12 +376,15 @@ def __await__(self): public_network_access=self.public_network_access, replica_count=self.replica_count, semantic_search=self.semantic_search, + service_upgraded_at=self.service_upgraded_at, shared_private_link_resources=self.shared_private_link_resources, sku=self.sku, status=self.status, status_details=self.status_details, + system_data=self.system_data, tags=self.tags, - type=self.type) + type=self.type, + upgrade_available=self.upgrade_available) def get_service(resource_group_name: Optional[builtins.str] = None, @@ -309,13 +393,13 @@ def get_service(resource_group_name: Optional[builtins.str] = None, """ Gets the search service with the given name in the given resource group. - Uses Azure REST API version 2023-11-01. + Uses Azure REST API version 2025-05-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param builtins.str resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param builtins.str search_service_name: The name of the search service associated with the specified resource group. + :param builtins.str search_service_name: The name of the Azure AI Search service associated with the specified resource group. """ __args__ = dict() __args__['resourceGroupName'] = resource_group_name @@ -326,8 +410,12 @@ def get_service(resource_group_name: Optional[builtins.str] = None, return AwaitableGetServiceResult( auth_options=pulumi.get(__ret__, 'auth_options'), azure_api_version=pulumi.get(__ret__, 'azure_api_version'), + compute_type=pulumi.get(__ret__, 'compute_type'), + data_exfiltration_protections=pulumi.get(__ret__, 'data_exfiltration_protections'), disable_local_auth=pulumi.get(__ret__, 'disable_local_auth'), + e_tag=pulumi.get(__ret__, 'e_tag'), encryption_with_cmk=pulumi.get(__ret__, 'encryption_with_cmk'), + endpoint=pulumi.get(__ret__, 'endpoint'), hosting_mode=pulumi.get(__ret__, 'hosting_mode'), id=pulumi.get(__ret__, 'id'), identity=pulumi.get(__ret__, 'identity'), @@ -340,25 +428,28 @@ def get_service(resource_group_name: Optional[builtins.str] = None, public_network_access=pulumi.get(__ret__, 'public_network_access'), replica_count=pulumi.get(__ret__, 'replica_count'), semantic_search=pulumi.get(__ret__, 'semantic_search'), + service_upgraded_at=pulumi.get(__ret__, 'service_upgraded_at'), shared_private_link_resources=pulumi.get(__ret__, 'shared_private_link_resources'), sku=pulumi.get(__ret__, 'sku'), status=pulumi.get(__ret__, 'status'), status_details=pulumi.get(__ret__, 'status_details'), + system_data=pulumi.get(__ret__, 'system_data'), tags=pulumi.get(__ret__, 'tags'), - type=pulumi.get(__ret__, 'type')) + type=pulumi.get(__ret__, 'type'), + upgrade_available=pulumi.get(__ret__, 'upgrade_available')) def get_service_output(resource_group_name: Optional[pulumi.Input[builtins.str]] = None, search_service_name: Optional[pulumi.Input[builtins.str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceResult]: """ Gets the search service with the given name in the given resource group. - Uses Azure REST API version 2023-11-01. + Uses Azure REST API version 2025-05-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param builtins.str resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param builtins.str search_service_name: The name of the search service associated with the specified resource group. + :param builtins.str search_service_name: The name of the Azure AI Search service associated with the specified resource group. """ __args__ = dict() __args__['resourceGroupName'] = resource_group_name @@ -368,8 +459,12 @@ def get_service_output(resource_group_name: Optional[pulumi.Input[builtins.str]] return __ret__.apply(lambda __response__: GetServiceResult( auth_options=pulumi.get(__response__, 'auth_options'), azure_api_version=pulumi.get(__response__, 'azure_api_version'), + compute_type=pulumi.get(__response__, 'compute_type'), + data_exfiltration_protections=pulumi.get(__response__, 'data_exfiltration_protections'), disable_local_auth=pulumi.get(__response__, 'disable_local_auth'), + e_tag=pulumi.get(__response__, 'e_tag'), encryption_with_cmk=pulumi.get(__response__, 'encryption_with_cmk'), + endpoint=pulumi.get(__response__, 'endpoint'), hosting_mode=pulumi.get(__response__, 'hosting_mode'), id=pulumi.get(__response__, 'id'), identity=pulumi.get(__response__, 'identity'), @@ -382,9 +477,12 @@ def get_service_output(resource_group_name: Optional[pulumi.Input[builtins.str]] public_network_access=pulumi.get(__response__, 'public_network_access'), replica_count=pulumi.get(__response__, 'replica_count'), semantic_search=pulumi.get(__response__, 'semantic_search'), + service_upgraded_at=pulumi.get(__response__, 'service_upgraded_at'), shared_private_link_resources=pulumi.get(__response__, 'shared_private_link_resources'), sku=pulumi.get(__response__, 'sku'), status=pulumi.get(__response__, 'status'), status_details=pulumi.get(__response__, 'status_details'), + system_data=pulumi.get(__response__, 'system_data'), tags=pulumi.get(__response__, 'tags'), - type=pulumi.get(__response__, 'type'))) + type=pulumi.get(__response__, 'type'), + upgrade_available=pulumi.get(__response__, 'upgrade_available'))) diff --git a/sdk/python/pulumi_azure_native/search/get_shared_private_link_resource.py b/sdk/python/pulumi_azure_native/search/get_shared_private_link_resource.py index 5686f73b8f16..f16e7d3ff78a 100644 --- a/sdk/python/pulumi_azure_native/search/get_shared_private_link_resource.py +++ b/sdk/python/pulumi_azure_native/search/get_shared_private_link_resource.py @@ -26,9 +26,9 @@ @pulumi.output_type class GetSharedPrivateLinkResourceResult: """ - Describes a Shared Private Link Resource managed by the search service. + Describes a shared private link resource managed by the Azure AI Search service. """ - def __init__(__self__, azure_api_version=None, id=None, name=None, properties=None, type=None): + def __init__(__self__, azure_api_version=None, id=None, name=None, properties=None, system_data=None, type=None): if azure_api_version and not isinstance(azure_api_version, str): raise TypeError("Expected argument 'azure_api_version' to be a str") pulumi.set(__self__, "azure_api_version", azure_api_version) @@ -41,6 +41,9 @@ def __init__(__self__, azure_api_version=None, id=None, name=None, properties=No if properties and not isinstance(properties, dict): raise TypeError("Expected argument 'properties' to be a dict") pulumi.set(__self__, "properties", properties) + if system_data and not isinstance(system_data, dict): + raise TypeError("Expected argument 'system_data' to be a dict") + pulumi.set(__self__, "system_data", system_data) if type and not isinstance(type, str): raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) @@ -57,7 +60,7 @@ def azure_api_version(self) -> builtins.str: @pulumi.getter def id(self) -> builtins.str: """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" """ return pulumi.get(self, "id") @@ -73,10 +76,18 @@ def name(self) -> builtins.str: @pulumi.getter def properties(self) -> 'outputs.SharedPrivateLinkResourcePropertiesResponse': """ - Describes the properties of a Shared Private Link Resource managed by the search service. + Describes the properties of a shared private link resource managed by the Azure AI Search service. """ return pulumi.get(self, "properties") + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + @property @pulumi.getter def type(self) -> builtins.str: @@ -96,6 +107,7 @@ def __await__(self): id=self.id, name=self.name, properties=self.properties, + system_data=self.system_data, type=self.type) @@ -106,14 +118,14 @@ def get_shared_private_link_resource(resource_group_name: Optional[builtins.str] """ Gets the details of the shared private link resource managed by the search service in the given resource group. - Uses Azure REST API version 2023-11-01. + Uses Azure REST API version 2025-05-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param builtins.str resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param builtins.str search_service_name: The name of the search service associated with the specified resource group. - :param builtins.str shared_private_link_resource_name: The name of the shared private link resource managed by the search service within the specified resource group. + :param builtins.str search_service_name: The name of the Azure AI Search service associated with the specified resource group. + :param builtins.str shared_private_link_resource_name: The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. """ __args__ = dict() __args__['resourceGroupName'] = resource_group_name @@ -127,6 +139,7 @@ def get_shared_private_link_resource(resource_group_name: Optional[builtins.str] id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), properties=pulumi.get(__ret__, 'properties'), + system_data=pulumi.get(__ret__, 'system_data'), type=pulumi.get(__ret__, 'type')) def get_shared_private_link_resource_output(resource_group_name: Optional[pulumi.Input[builtins.str]] = None, search_service_name: Optional[pulumi.Input[builtins.str]] = None, @@ -135,14 +148,14 @@ def get_shared_private_link_resource_output(resource_group_name: Optional[pulumi """ Gets the details of the shared private link resource managed by the search service in the given resource group. - Uses Azure REST API version 2023-11-01. + Uses Azure REST API version 2025-05-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param builtins.str resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param builtins.str search_service_name: The name of the search service associated with the specified resource group. - :param builtins.str shared_private_link_resource_name: The name of the shared private link resource managed by the search service within the specified resource group. + :param builtins.str search_service_name: The name of the Azure AI Search service associated with the specified resource group. + :param builtins.str shared_private_link_resource_name: The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. """ __args__ = dict() __args__['resourceGroupName'] = resource_group_name @@ -155,4 +168,5 @@ def get_shared_private_link_resource_output(resource_group_name: Optional[pulumi id=pulumi.get(__response__, 'id'), name=pulumi.get(__response__, 'name'), properties=pulumi.get(__response__, 'properties'), + system_data=pulumi.get(__response__, 'system_data'), type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_azure_native/search/list_admin_key.py b/sdk/python/pulumi_azure_native/search/list_admin_key.py index d7c87980d5f3..35df568bb71a 100644 --- a/sdk/python/pulumi_azure_native/search/list_admin_key.py +++ b/sdk/python/pulumi_azure_native/search/list_admin_key.py @@ -25,7 +25,7 @@ @pulumi.output_type class ListAdminKeyResult: """ - Response containing the primary and secondary admin API keys for a given search service. + Response containing the primary and secondary admin API keys for a given Azure AI Search service. """ def __init__(__self__, primary_key=None, secondary_key=None): if primary_key and not isinstance(primary_key, str): @@ -66,15 +66,15 @@ def list_admin_key(resource_group_name: Optional[builtins.str] = None, search_service_name: Optional[builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListAdminKeyResult: """ - Gets the primary and secondary admin API keys for the specified search service. + Gets the primary and secondary admin API keys for the specified Azure AI Search service. - Uses Azure REST API version 2023-11-01. + Uses Azure REST API version 2025-05-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param builtins.str resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param builtins.str search_service_name: The name of the search service associated with the specified resource group. + :param builtins.str search_service_name: The name of the Azure AI Search service associated with the specified resource group. """ __args__ = dict() __args__['resourceGroupName'] = resource_group_name @@ -89,15 +89,15 @@ def list_admin_key_output(resource_group_name: Optional[pulumi.Input[builtins.st search_service_name: Optional[pulumi.Input[builtins.str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[ListAdminKeyResult]: """ - Gets the primary and secondary admin API keys for the specified search service. + Gets the primary and secondary admin API keys for the specified Azure AI Search service. - Uses Azure REST API version 2023-11-01. + Uses Azure REST API version 2025-05-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param builtins.str resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param builtins.str search_service_name: The name of the search service associated with the specified resource group. + :param builtins.str search_service_name: The name of the Azure AI Search service associated with the specified resource group. """ __args__ = dict() __args__['resourceGroupName'] = resource_group_name diff --git a/sdk/python/pulumi_azure_native/search/list_query_key_by_search_service.py b/sdk/python/pulumi_azure_native/search/list_query_key_by_search_service.py index 9b8d152b8df9..d382ff813d40 100644 --- a/sdk/python/pulumi_azure_native/search/list_query_key_by_search_service.py +++ b/sdk/python/pulumi_azure_native/search/list_query_key_by_search_service.py @@ -26,7 +26,7 @@ @pulumi.output_type class ListQueryKeyBySearchServiceResult: """ - Response containing the query API keys for a given search service. + Response containing the query API keys for a given Azure AI Search service. """ def __init__(__self__, next_link=None, value=None): if next_link and not isinstance(next_link, str): @@ -48,7 +48,7 @@ def next_link(self) -> builtins.str: @pulumi.getter def value(self) -> Sequence['outputs.QueryKeyResponse']: """ - The query keys for the search service. + The query keys for the Azure AI Search service. """ return pulumi.get(self, "value") @@ -67,15 +67,15 @@ def list_query_key_by_search_service(resource_group_name: Optional[builtins.str] search_service_name: Optional[builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListQueryKeyBySearchServiceResult: """ - Returns the list of query API keys for the given search service. + Returns the list of query API keys for the given Azure AI Search service. - Uses Azure REST API version 2023-11-01. + Uses Azure REST API version 2025-05-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param builtins.str resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param builtins.str search_service_name: The name of the search service associated with the specified resource group. + :param builtins.str search_service_name: The name of the Azure AI Search service associated with the specified resource group. """ __args__ = dict() __args__['resourceGroupName'] = resource_group_name @@ -90,15 +90,15 @@ def list_query_key_by_search_service_output(resource_group_name: Optional[pulumi search_service_name: Optional[pulumi.Input[builtins.str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[ListQueryKeyBySearchServiceResult]: """ - Returns the list of query API keys for the given search service. + Returns the list of query API keys for the given Azure AI Search service. - Uses Azure REST API version 2023-11-01. + Uses Azure REST API version 2025-05-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param builtins.str resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param builtins.str search_service_name: The name of the search service associated with the specified resource group. + :param builtins.str search_service_name: The name of the Azure AI Search service associated with the specified resource group. """ __args__ = dict() __args__['resourceGroupName'] = resource_group_name diff --git a/sdk/python/pulumi_azure_native/search/outputs.py b/sdk/python/pulumi_azure_native/search/outputs.py index 1f823281af92..b4aeec79d28f 100644 --- a/sdk/python/pulumi_azure_native/search/outputs.py +++ b/sdk/python/pulumi_azure_native/search/outputs.py @@ -32,6 +32,8 @@ 'SharedPrivateLinkResourcePropertiesResponse', 'SharedPrivateLinkResourceResponse', 'SkuResponse', + 'SystemDataResponse', + 'UserAssignedIdentityResponse', ] @pulumi.output_type @@ -131,7 +133,7 @@ def api_key_only(self) -> Optional[Any]: @pulumi.output_type class EncryptionWithCmkResponse(dict): """ - Describes a policy that determines how resources within the search service are to be encrypted with customer=managed keys. + Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys. """ @staticmethod def __key_warning(key: str): @@ -154,9 +156,9 @@ def __init__(__self__, *, encryption_compliance_status: builtins.str, enforcement: Optional[builtins.str] = None): """ - Describes a policy that determines how resources within the search service are to be encrypted with customer=managed keys. - :param builtins.str encryption_compliance_status: Describes whether the search service is compliant or not with respect to having non-customer-encrypted resources. If a service has more than one non-customer-encrypted resource and 'Enforcement' is 'enabled' then the service will be marked as 'nonCompliant'. - :param builtins.str enforcement: Describes how a search service should enforce having one or more non-customer-encrypted resources. + Describes a policy that determines how resources within the search service are to be encrypted with customer managed keys. + :param builtins.str encryption_compliance_status: Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant. + :param builtins.str enforcement: Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. """ pulumi.set(__self__, "encryption_compliance_status", encryption_compliance_status) if enforcement is not None: @@ -166,7 +168,7 @@ def __init__(__self__, *, @pulumi.getter(name="encryptionComplianceStatus") def encryption_compliance_status(self) -> builtins.str: """ - Describes whether the search service is compliant or not with respect to having non-customer-encrypted resources. If a service has more than one non-customer-encrypted resource and 'Enforcement' is 'enabled' then the service will be marked as 'nonCompliant'. + Returns the status of search service compliance with respect to non-CMK-encrypted objects. If a service has more than one unencrypted object, and enforcement is enabled, the service is marked as noncompliant. """ return pulumi.get(self, "encryption_compliance_status") @@ -174,7 +176,7 @@ def encryption_compliance_status(self) -> builtins.str: @pulumi.getter def enforcement(self) -> Optional[builtins.str]: """ - Describes how a search service should enforce having one or more non-customer-encrypted resources. + Describes how a search service should enforce compliance if it finds objects that aren't encrypted with the customer-managed key. """ return pulumi.get(self, "enforcement") @@ -182,7 +184,7 @@ def enforcement(self) -> Optional[builtins.str]: @pulumi.output_type class IdentityResponse(dict): """ - Identity for the resource. + Details about the search service identity. A null value indicates that the search service has no identity assigned. """ @staticmethod def __key_warning(key: str): @@ -191,6 +193,8 @@ def __key_warning(key: str): suggest = "principal_id" elif key == "tenantId": suggest = "tenant_id" + elif key == "userAssignedIdentities": + suggest = "user_assigned_identities" if suggest: pulumi.log.warn(f"Key '{key}' not found in IdentityResponse. Access the value via the '{suggest}' property getter instead.") @@ -206,16 +210,20 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, principal_id: builtins.str, tenant_id: builtins.str, - type: builtins.str): + type: builtins.str, + user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']] = None): """ - Identity for the resource. + Details about the search service identity. A null value indicates that the search service has no identity assigned. :param builtins.str principal_id: The principal ID of the system-assigned identity of the search service. :param builtins.str tenant_id: The tenant ID of the system-assigned identity of the search service. - :param builtins.str type: The identity type. + :param builtins.str type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. + :param Mapping[str, 'UserAssignedIdentityResponse'] user_assigned_identities: The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. """ pulumi.set(__self__, "principal_id", principal_id) pulumi.set(__self__, "tenant_id", tenant_id) pulumi.set(__self__, "type", type) + if user_assigned_identities is not None: + pulumi.set(__self__, "user_assigned_identities", user_assigned_identities) @property @pulumi.getter(name="principalId") @@ -237,21 +245,29 @@ def tenant_id(self) -> builtins.str: @pulumi.getter def type(self) -> builtins.str: """ - The identity type. + The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an identity created by the system and a set of user assigned identities. The type 'None' will remove all identities from the service. """ return pulumi.get(self, "type") + @property + @pulumi.getter(name="userAssignedIdentities") + def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]: + """ + The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + """ + return pulumi.get(self, "user_assigned_identities") + @pulumi.output_type class IpRuleResponse(dict): """ - The IP restriction rule of the search service. + The IP restriction rule of the Azure AI Search service. """ def __init__(__self__, *, value: Optional[builtins.str] = None): """ - The IP restriction rule of the search service. - :param builtins.str value: Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, 123.1.2.3/24) to be allowed. + The IP restriction rule of the Azure AI Search service. + :param builtins.str value: Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed. """ if value is not None: pulumi.set(__self__, "value", value) @@ -260,7 +276,7 @@ def __init__(__self__, *, @pulumi.getter def value(self) -> Optional[builtins.str]: """ - Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, 123.1.2.3/24) to be allowed. + Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed. """ return pulumi.get(self, "value") @@ -268,7 +284,7 @@ def value(self) -> Optional[builtins.str]: @pulumi.output_type class NetworkRuleSetResponse(dict): """ - Network-specific rules that determine how the search service can be reached. + Network specific rules that determine how the Azure AI Search service may be reached. """ @staticmethod def __key_warning(key: str): @@ -288,19 +304,31 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + bypass: Optional[builtins.str] = None, ip_rules: Optional[Sequence['outputs.IpRuleResponse']] = None): """ - Network-specific rules that determine how the search service can be reached. - :param Sequence['IpRuleResponse'] ip_rules: A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + Network specific rules that determine how the Azure AI Search service may be reached. + :param builtins.str bypass: Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + :param Sequence['IpRuleResponse'] ip_rules: A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. """ + if bypass is not None: + pulumi.set(__self__, "bypass", bypass) if ip_rules is not None: pulumi.set(__self__, "ip_rules", ip_rules) + @property + @pulumi.getter + def bypass(self) -> Optional[builtins.str]: + """ + Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section. + """ + return pulumi.get(self, "bypass") + @property @pulumi.getter(name="ipRules") def ip_rules(self) -> Optional[Sequence['outputs.IpRuleResponse']]: """ - A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. """ return pulumi.get(self, "ip_rules") @@ -308,7 +336,7 @@ def ip_rules(self) -> Optional[Sequence['outputs.IpRuleResponse']]: @pulumi.output_type class PrivateEndpointConnectionPropertiesResponse(dict): """ - Describes the properties of an existing Private Endpoint connection to the search service. + Describes the properties of an existing private endpoint connection to the search service. """ @staticmethod def __key_warning(key: str): @@ -339,11 +367,11 @@ def __init__(__self__, *, private_link_service_connection_state: Optional['outputs.PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState'] = None, provisioning_state: Optional[builtins.str] = None): """ - Describes the properties of an existing Private Endpoint connection to the search service. - :param builtins.str group_id: The group id from the provider of resource the private link service connection is for. + Describes the properties of an existing private endpoint connection to the search service. + :param builtins.str group_id: The group ID of the Azure resource for which the private link service is for. :param 'PrivateEndpointConnectionPropertiesResponsePrivateEndpoint' private_endpoint: The private endpoint resource from Microsoft.Network provider. - :param 'PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState' private_link_service_connection_state: Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. - :param builtins.str provisioning_state: The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete + :param 'PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState' private_link_service_connection_state: Describes the current state of an existing Azure Private Link service connection to the private endpoint. + :param builtins.str provisioning_state: The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. """ if group_id is not None: pulumi.set(__self__, "group_id", group_id) @@ -358,7 +386,7 @@ def __init__(__self__, *, @pulumi.getter(name="groupId") def group_id(self) -> Optional[builtins.str]: """ - The group id from the provider of resource the private link service connection is for. + The group ID of the Azure resource for which the private link service is for. """ return pulumi.get(self, "group_id") @@ -374,7 +402,7 @@ def private_endpoint(self) -> Optional['outputs.PrivateEndpointConnectionPropert @pulumi.getter(name="privateLinkServiceConnectionState") def private_link_service_connection_state(self) -> Optional['outputs.PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState']: """ - Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + Describes the current state of an existing Azure Private Link service connection to the private endpoint. """ return pulumi.get(self, "private_link_service_connection_state") @@ -382,7 +410,7 @@ def private_link_service_connection_state(self) -> Optional['outputs.PrivateEndp @pulumi.getter(name="provisioningState") def provisioning_state(self) -> Optional[builtins.str]: """ - The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, or Incomplete + The provisioning state of the private link service connection. Valid values are Updating, Deleting, Failed, Succeeded, Incomplete, or Canceled. """ return pulumi.get(self, "provisioning_state") @@ -396,7 +424,7 @@ def __init__(__self__, *, id: Optional[builtins.str] = None): """ The private endpoint resource from Microsoft.Network provider. - :param builtins.str id: The resource id of the private endpoint resource from Microsoft.Network provider. + :param builtins.str id: The resource ID of the private endpoint resource from Microsoft.Network provider. """ if id is not None: pulumi.set(__self__, "id", id) @@ -405,7 +433,7 @@ def __init__(__self__, *, @pulumi.getter def id(self) -> Optional[builtins.str]: """ - The resource id of the private endpoint resource from Microsoft.Network provider. + The resource ID of the private endpoint resource from Microsoft.Network provider. """ return pulumi.get(self, "id") @@ -413,7 +441,7 @@ def id(self) -> Optional[builtins.str]: @pulumi.output_type class PrivateEndpointConnectionPropertiesResponsePrivateLinkServiceConnectionState(dict): """ - Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + Describes the current state of an existing Azure Private Link service connection to the private endpoint. """ @staticmethod def __key_warning(key: str): @@ -437,7 +465,7 @@ def __init__(__self__, *, description: Optional[builtins.str] = None, status: Optional[builtins.str] = None): """ - Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint. + Describes the current state of an existing Azure Private Link service connection to the private endpoint. :param builtins.str actions_required: A description of any extra actions that may be required. :param builtins.str description: The description for the private link service connection state. :param builtins.str status: Status of the the private link service connection. Valid values are Pending, Approved, Rejected, or Disconnected. @@ -479,22 +507,42 @@ def status(self) -> Optional[builtins.str]: @pulumi.output_type class PrivateEndpointConnectionResponse(dict): """ - Describes an existing private endpoint connection to the search service. + Describes an existing private endpoint connection to the Azure AI Search service. """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "systemData": + suggest = "system_data" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PrivateEndpointConnectionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PrivateEndpointConnectionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PrivateEndpointConnectionResponse.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, id: builtins.str, name: builtins.str, + system_data: 'outputs.SystemDataResponse', type: builtins.str, properties: Optional['outputs.PrivateEndpointConnectionPropertiesResponse'] = None): """ - Describes an existing private endpoint connection to the search service. - :param builtins.str id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Describes an existing private endpoint connection to the Azure AI Search service. + :param builtins.str id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" :param builtins.str name: The name of the resource + :param 'SystemDataResponse' system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :param builtins.str type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - :param 'PrivateEndpointConnectionPropertiesResponse' properties: Describes the properties of an existing private endpoint connection to the search service. + :param 'PrivateEndpointConnectionPropertiesResponse' properties: Describes the properties of an existing private endpoint connection to the Azure AI Search service. """ pulumi.set(__self__, "id", id) pulumi.set(__self__, "name", name) + pulumi.set(__self__, "system_data", system_data) pulumi.set(__self__, "type", type) if properties is not None: pulumi.set(__self__, "properties", properties) @@ -503,7 +551,7 @@ def __init__(__self__, *, @pulumi.getter def id(self) -> builtins.str: """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" """ return pulumi.get(self, "id") @@ -515,6 +563,14 @@ def name(self) -> builtins.str: """ return pulumi.get(self, "name") + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + @property @pulumi.getter def type(self) -> builtins.str: @@ -527,7 +583,7 @@ def type(self) -> builtins.str: @pulumi.getter def properties(self) -> Optional['outputs.PrivateEndpointConnectionPropertiesResponse']: """ - Describes the properties of an existing private endpoint connection to the search service. + Describes the properties of an existing private endpoint connection to the Azure AI Search service. """ return pulumi.get(self, "properties") @@ -535,15 +591,15 @@ def properties(self) -> Optional['outputs.PrivateEndpointConnectionPropertiesRes @pulumi.output_type class QueryKeyResponse(dict): """ - Describes an API key for a given search service that has permissions for query operations only. + Describes an API key for a given Azure AI Search service that conveys read-only permissions on the docs collection of an index. """ def __init__(__self__, *, key: builtins.str, name: builtins.str): """ - Describes an API key for a given search service that has permissions for query operations only. + Describes an API key for a given Azure AI Search service that conveys read-only permissions on the docs collection of an index. :param builtins.str key: The value of the query API key. - :param builtins.str name: The name of the query API key; may be empty. + :param builtins.str name: The name of the query API key. Query names are optional, but assigning a name can help you remember how it's used. """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "name", name) @@ -560,7 +616,7 @@ def key(self) -> builtins.str: @pulumi.getter def name(self) -> builtins.str: """ - The name of the query API key; may be empty. + The name of the query API key. Query names are optional, but assigning a name can help you remember how it's used. """ return pulumi.get(self, "name") @@ -568,7 +624,7 @@ def name(self) -> builtins.str: @pulumi.output_type class SharedPrivateLinkResourcePropertiesResponse(dict): """ - Describes the properties of an existing Shared Private Link Resource managed by the search service. + Describes the properties of an existing shared private link resource managed by the Azure AI Search service. """ @staticmethod def __key_warning(key: str): @@ -603,12 +659,12 @@ def __init__(__self__, *, resource_region: Optional[builtins.str] = None, status: Optional[builtins.str] = None): """ - Describes the properties of an existing Shared Private Link Resource managed by the search service. - :param builtins.str group_id: The group id from the provider of resource the shared private link resource is for. - :param builtins.str private_link_resource_id: The resource id of the resource the shared private link resource is for. + Describes the properties of an existing shared private link resource managed by the Azure AI Search service. + :param builtins.str group_id: The group ID from the provider of resource the shared private link resource is for. + :param builtins.str private_link_resource_id: The resource ID of the resource the shared private link resource is for. :param builtins.str provisioning_state: The provisioning state of the shared private link resource. Valid values are Updating, Deleting, Failed, Succeeded or Incomplete. - :param builtins.str request_message: The request message for requesting approval of the shared private link resource. - :param builtins.str resource_region: Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). + :param builtins.str request_message: The message for requesting approval of the shared private link resource. + :param builtins.str resource_region: Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). :param builtins.str status: Status of the shared private link resource. Valid values are Pending, Approved, Rejected or Disconnected. """ if group_id is not None: @@ -628,7 +684,7 @@ def __init__(__self__, *, @pulumi.getter(name="groupId") def group_id(self) -> Optional[builtins.str]: """ - The group id from the provider of resource the shared private link resource is for. + The group ID from the provider of resource the shared private link resource is for. """ return pulumi.get(self, "group_id") @@ -636,7 +692,7 @@ def group_id(self) -> Optional[builtins.str]: @pulumi.getter(name="privateLinkResourceId") def private_link_resource_id(self) -> Optional[builtins.str]: """ - The resource id of the resource the shared private link resource is for. + The resource ID of the resource the shared private link resource is for. """ return pulumi.get(self, "private_link_resource_id") @@ -652,7 +708,7 @@ def provisioning_state(self) -> Optional[builtins.str]: @pulumi.getter(name="requestMessage") def request_message(self) -> Optional[builtins.str]: """ - The request message for requesting approval of the shared private link resource. + The message for requesting approval of the shared private link resource. """ return pulumi.get(self, "request_message") @@ -660,7 +716,7 @@ def request_message(self) -> Optional[builtins.str]: @pulumi.getter(name="resourceRegion") def resource_region(self) -> Optional[builtins.str]: """ - Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). + Optional. Can be used to specify the Azure Resource Manager location of the resource for which a shared private link is being created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service). """ return pulumi.get(self, "resource_region") @@ -676,22 +732,42 @@ def status(self) -> Optional[builtins.str]: @pulumi.output_type class SharedPrivateLinkResourceResponse(dict): """ - Describes a Shared Private Link Resource managed by the search service. + Describes a shared private link resource managed by the Azure AI Search service. """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "systemData": + suggest = "system_data" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SharedPrivateLinkResourceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SharedPrivateLinkResourceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SharedPrivateLinkResourceResponse.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, id: builtins.str, name: builtins.str, + system_data: 'outputs.SystemDataResponse', type: builtins.str, properties: Optional['outputs.SharedPrivateLinkResourcePropertiesResponse'] = None): """ - Describes a Shared Private Link Resource managed by the search service. - :param builtins.str id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Describes a shared private link resource managed by the Azure AI Search service. + :param builtins.str id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" :param builtins.str name: The name of the resource + :param 'SystemDataResponse' system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :param builtins.str type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - :param 'SharedPrivateLinkResourcePropertiesResponse' properties: Describes the properties of a Shared Private Link Resource managed by the search service. + :param 'SharedPrivateLinkResourcePropertiesResponse' properties: Describes the properties of a shared private link resource managed by the Azure AI Search service. """ pulumi.set(__self__, "id", id) pulumi.set(__self__, "name", name) + pulumi.set(__self__, "system_data", system_data) pulumi.set(__self__, "type", type) if properties is not None: pulumi.set(__self__, "properties", properties) @@ -700,7 +776,7 @@ def __init__(__self__, *, @pulumi.getter def id(self) -> builtins.str: """ - Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" """ return pulumi.get(self, "id") @@ -712,6 +788,14 @@ def name(self) -> builtins.str: """ return pulumi.get(self, "name") + @property + @pulumi.getter(name="systemData") + def system_data(self) -> 'outputs.SystemDataResponse': + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + @property @pulumi.getter def type(self) -> builtins.str: @@ -724,7 +808,7 @@ def type(self) -> builtins.str: @pulumi.getter def properties(self) -> Optional['outputs.SharedPrivateLinkResourcePropertiesResponse']: """ - Describes the properties of a Shared Private Link Resource managed by the search service. + Describes the properties of a shared private link resource managed by the Azure AI Search service. """ return pulumi.get(self, "properties") @@ -752,3 +836,165 @@ def name(self) -> Optional[builtins.str]: return pulumi.get(self, "name") +@pulumi.output_type +class SystemDataResponse(dict): + """ + Metadata pertaining to creation and last modification of the resource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdAt": + suggest = "created_at" + elif key == "createdBy": + suggest = "created_by" + elif key == "createdByType": + suggest = "created_by_type" + elif key == "lastModifiedAt": + suggest = "last_modified_at" + elif key == "lastModifiedBy": + suggest = "last_modified_by" + elif key == "lastModifiedByType": + suggest = "last_modified_by_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SystemDataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SystemDataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_at: Optional[builtins.str] = None, + created_by: Optional[builtins.str] = None, + created_by_type: Optional[builtins.str] = None, + last_modified_at: Optional[builtins.str] = None, + last_modified_by: Optional[builtins.str] = None, + last_modified_by_type: Optional[builtins.str] = None): + """ + Metadata pertaining to creation and last modification of the resource. + :param builtins.str created_at: The timestamp of resource creation (UTC). + :param builtins.str created_by: The identity that created the resource. + :param builtins.str created_by_type: The type of identity that created the resource. + :param builtins.str last_modified_at: The timestamp of resource last modification (UTC) + :param builtins.str last_modified_by: The identity that last modified the resource. + :param builtins.str last_modified_by_type: The type of identity that last modified the resource. + """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if created_by_type is not None: + pulumi.set(__self__, "created_by_type", created_by_type) + if last_modified_at is not None: + pulumi.set(__self__, "last_modified_at", last_modified_at) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if last_modified_by_type is not None: + pulumi.set(__self__, "last_modified_by_type", last_modified_by_type) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[builtins.str]: + """ + The timestamp of resource creation (UTC). + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[builtins.str]: + """ + The identity that created the resource. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByType") + def created_by_type(self) -> Optional[builtins.str]: + """ + The type of identity that created the resource. + """ + return pulumi.get(self, "created_by_type") + + @property + @pulumi.getter(name="lastModifiedAt") + def last_modified_at(self) -> Optional[builtins.str]: + """ + The timestamp of resource last modification (UTC) + """ + return pulumi.get(self, "last_modified_at") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[builtins.str]: + """ + The identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter(name="lastModifiedByType") + def last_modified_by_type(self) -> Optional[builtins.str]: + """ + The type of identity that last modified the resource. + """ + return pulumi.get(self, "last_modified_by_type") + + +@pulumi.output_type +class UserAssignedIdentityResponse(dict): + """ + User assigned identity properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clientId": + suggest = "client_id" + elif key == "principalId": + suggest = "principal_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserAssignedIdentityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + client_id: builtins.str, + principal_id: builtins.str): + """ + User assigned identity properties + :param builtins.str client_id: The client ID of the assigned identity. + :param builtins.str principal_id: The principal ID of the assigned identity. + """ + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "principal_id", principal_id) + + @property + @pulumi.getter(name="clientId") + def client_id(self) -> builtins.str: + """ + The client ID of the assigned identity. + """ + return pulumi.get(self, "client_id") + + @property + @pulumi.getter(name="principalId") + def principal_id(self) -> builtins.str: + """ + The principal ID of the assigned identity. + """ + return pulumi.get(self, "principal_id") + + diff --git a/sdk/python/pulumi_azure_native/search/private_endpoint_connection.py b/sdk/python/pulumi_azure_native/search/private_endpoint_connection.py index 8455d82e2c6d..20f0a12de51d 100644 --- a/sdk/python/pulumi_azure_native/search/private_endpoint_connection.py +++ b/sdk/python/pulumi_azure_native/search/private_endpoint_connection.py @@ -30,9 +30,9 @@ def __init__(__self__, *, """ The set of arguments for constructing a PrivateEndpointConnection resource. :param pulumi.Input[builtins.str] resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param pulumi.Input[builtins.str] search_service_name: The name of the search service associated with the specified resource group. - :param pulumi.Input[builtins.str] private_endpoint_connection_name: The name of the private endpoint connection to the search service with the specified resource group. - :param pulumi.Input['PrivateEndpointConnectionPropertiesArgs'] properties: Describes the properties of an existing private endpoint connection to the search service. + :param pulumi.Input[builtins.str] search_service_name: The name of the Azure AI Search service associated with the specified resource group. + :param pulumi.Input[builtins.str] private_endpoint_connection_name: The name of the private endpoint connection to the Azure AI Search service with the specified resource group. + :param pulumi.Input['PrivateEndpointConnectionPropertiesArgs'] properties: Describes the properties of an existing private endpoint connection to the Azure AI Search service. """ pulumi.set(__self__, "resource_group_name", resource_group_name) pulumi.set(__self__, "search_service_name", search_service_name) @@ -57,7 +57,7 @@ def resource_group_name(self, value: pulumi.Input[builtins.str]): @pulumi.getter(name="searchServiceName") def search_service_name(self) -> pulumi.Input[builtins.str]: """ - The name of the search service associated with the specified resource group. + The name of the Azure AI Search service associated with the specified resource group. """ return pulumi.get(self, "search_service_name") @@ -69,7 +69,7 @@ def search_service_name(self, value: pulumi.Input[builtins.str]): @pulumi.getter(name="privateEndpointConnectionName") def private_endpoint_connection_name(self) -> Optional[pulumi.Input[builtins.str]]: """ - The name of the private endpoint connection to the search service with the specified resource group. + The name of the private endpoint connection to the Azure AI Search service with the specified resource group. """ return pulumi.get(self, "private_endpoint_connection_name") @@ -81,7 +81,7 @@ def private_endpoint_connection_name(self, value: Optional[pulumi.Input[builtins @pulumi.getter def properties(self) -> Optional[pulumi.Input['PrivateEndpointConnectionPropertiesArgs']]: """ - Describes the properties of an existing private endpoint connection to the search service. + Describes the properties of an existing private endpoint connection to the Azure AI Search service. """ return pulumi.get(self, "properties") @@ -102,18 +102,18 @@ def __init__(__self__, search_service_name: Optional[pulumi.Input[builtins.str]] = None, __props__=None): """ - Describes an existing private endpoint connection to the search service. + Describes an existing private endpoint connection to the Azure AI Search service. - Uses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. + Uses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[builtins.str] private_endpoint_connection_name: The name of the private endpoint connection to the search service with the specified resource group. - :param pulumi.Input[Union['PrivateEndpointConnectionPropertiesArgs', 'PrivateEndpointConnectionPropertiesArgsDict']] properties: Describes the properties of an existing private endpoint connection to the search service. + :param pulumi.Input[builtins.str] private_endpoint_connection_name: The name of the private endpoint connection to the Azure AI Search service with the specified resource group. + :param pulumi.Input[Union['PrivateEndpointConnectionPropertiesArgs', 'PrivateEndpointConnectionPropertiesArgsDict']] properties: Describes the properties of an existing private endpoint connection to the Azure AI Search service. :param pulumi.Input[builtins.str] resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param pulumi.Input[builtins.str] search_service_name: The name of the search service associated with the specified resource group. + :param pulumi.Input[builtins.str] search_service_name: The name of the Azure AI Search service associated with the specified resource group. """ ... @overload @@ -122,11 +122,11 @@ def __init__(__self__, args: PrivateEndpointConnectionArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Describes an existing private endpoint connection to the search service. + Describes an existing private endpoint connection to the Azure AI Search service. - Uses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. + Uses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param str resource_name: The name of the resource. :param PrivateEndpointConnectionArgs args: The arguments to use to populate this resource's properties. @@ -166,6 +166,7 @@ def _internal_init(__self__, __props__.__dict__["search_service_name"] = search_service_name __props__.__dict__["azure_api_version"] = None __props__.__dict__["name"] = None + __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:search/v20191001preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:search/v20200313:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:search/v20200801:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:search/v20200801preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:search/v20210401preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:search/v20220901:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:search/v20231101:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:search/v20240301preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:search/v20240601preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:search/v20250201preview:PrivateEndpointConnection"), pulumi.Alias(type_="azure-native:search/v20250501:PrivateEndpointConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -194,6 +195,7 @@ def get(resource_name: str, __props__.__dict__["azure_api_version"] = None __props__.__dict__["name"] = None __props__.__dict__["properties"] = None + __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None return PrivateEndpointConnection(resource_name, opts=opts, __props__=__props__) @@ -217,10 +219,18 @@ def name(self) -> pulumi.Output[builtins.str]: @pulumi.getter def properties(self) -> pulumi.Output['outputs.PrivateEndpointConnectionPropertiesResponse']: """ - Describes the properties of an existing private endpoint connection to the search service. + Describes the properties of an existing private endpoint connection to the Azure AI Search service. """ return pulumi.get(self, "properties") + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + @property @pulumi.getter def type(self) -> pulumi.Output[builtins.str]: diff --git a/sdk/python/pulumi_azure_native/search/service.py b/sdk/python/pulumi_azure_native/search/service.py index 6c1fb6afc69b..02b1723656ef 100644 --- a/sdk/python/pulumi_azure_native/search/service.py +++ b/sdk/python/pulumi_azure_native/search/service.py @@ -25,44 +25,58 @@ class ServiceArgs: def __init__(__self__, *, resource_group_name: pulumi.Input[builtins.str], auth_options: Optional[pulumi.Input['DataPlaneAuthOptionsArgs']] = None, + compute_type: Optional[pulumi.Input[Union[builtins.str, 'ComputeType']]] = None, + data_exfiltration_protections: Optional[pulumi.Input[Sequence[pulumi.Input[Union[builtins.str, 'SearchDataExfiltrationProtection']]]]] = None, disable_local_auth: Optional[pulumi.Input[builtins.bool]] = None, encryption_with_cmk: Optional[pulumi.Input['EncryptionWithCmkArgs']] = None, + endpoint: Optional[pulumi.Input[builtins.str]] = None, hosting_mode: Optional[pulumi.Input['HostingMode']] = None, identity: Optional[pulumi.Input['IdentityArgs']] = None, location: Optional[pulumi.Input[builtins.str]] = None, network_rule_set: Optional[pulumi.Input['NetworkRuleSetArgs']] = None, partition_count: Optional[pulumi.Input[builtins.int]] = None, - public_network_access: Optional[pulumi.Input['PublicNetworkAccess']] = None, + public_network_access: Optional[pulumi.Input[Union[builtins.str, 'PublicNetworkAccess']]] = None, replica_count: Optional[pulumi.Input[builtins.int]] = None, search_service_name: Optional[pulumi.Input[builtins.str]] = None, semantic_search: Optional[pulumi.Input[Union[builtins.str, 'SearchSemanticSearch']]] = None, sku: Optional[pulumi.Input['SkuArgs']] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None, + upgrade_available: Optional[pulumi.Input[Union[builtins.str, 'UpgradeAvailable']]] = None): """ The set of arguments for constructing a Service resource. :param pulumi.Input[builtins.str] resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. :param pulumi.Input['DataPlaneAuthOptionsArgs'] auth_options: Defines the options for how the data plane API of a search service authenticates requests. This cannot be set if 'disableLocalAuth' is set to true. + :param pulumi.Input[Union[builtins.str, 'ComputeType']] compute_type: Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + :param pulumi.Input[Sequence[pulumi.Input[Union[builtins.str, 'SearchDataExfiltrationProtection']]]] data_exfiltration_protections: A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future. :param pulumi.Input[builtins.bool] disable_local_auth: When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. :param pulumi.Input['EncryptionWithCmkArgs'] encryption_with_cmk: Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys within a search service. + :param pulumi.Input[builtins.str] endpoint: The endpoint of the Azure AI Search service. :param pulumi.Input['HostingMode'] hosting_mode: Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. :param pulumi.Input['IdentityArgs'] identity: The identity of the resource. :param pulumi.Input[builtins.str] location: The geo-location where the resource lives - :param pulumi.Input['NetworkRuleSetArgs'] network_rule_set: Network-specific rules that determine how the search service may be reached. + :param pulumi.Input['NetworkRuleSetArgs'] network_rule_set: Network specific rules that determine how the Azure AI Search service may be reached. :param pulumi.Input[builtins.int] partition_count: The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3. - :param pulumi.Input['PublicNetworkAccess'] public_network_access: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method. + :param pulumi.Input[Union[builtins.str, 'PublicNetworkAccess']] public_network_access: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method. :param pulumi.Input[builtins.int] replica_count: The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU. - :param pulumi.Input[builtins.str] search_service_name: The name of the search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created. - :param pulumi.Input[Union[builtins.str, 'SearchSemanticSearch']] semantic_search: Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. - :param pulumi.Input['SkuArgs'] sku: The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service. + :param pulumi.Input[builtins.str] search_service_name: The name of the Azure AI Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created. + :param pulumi.Input[Union[builtins.str, 'SearchSemanticSearch']] semantic_search: Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. + :param pulumi.Input['SkuArgs'] sku: The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: Resource tags. + :param pulumi.Input[Union[builtins.str, 'UpgradeAvailable']] upgrade_available: Indicates if the search service has an upgrade available. """ pulumi.set(__self__, "resource_group_name", resource_group_name) if auth_options is not None: pulumi.set(__self__, "auth_options", auth_options) + if compute_type is not None: + pulumi.set(__self__, "compute_type", compute_type) + if data_exfiltration_protections is not None: + pulumi.set(__self__, "data_exfiltration_protections", data_exfiltration_protections) if disable_local_auth is not None: pulumi.set(__self__, "disable_local_auth", disable_local_auth) if encryption_with_cmk is not None: pulumi.set(__self__, "encryption_with_cmk", encryption_with_cmk) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) if hosting_mode is None: hosting_mode = 'default' if hosting_mode is not None: @@ -93,6 +107,8 @@ def __init__(__self__, *, pulumi.set(__self__, "sku", sku) if tags is not None: pulumi.set(__self__, "tags", tags) + if upgrade_available is not None: + pulumi.set(__self__, "upgrade_available", upgrade_available) @property @pulumi.getter(name="resourceGroupName") @@ -118,6 +134,30 @@ def auth_options(self) -> Optional[pulumi.Input['DataPlaneAuthOptionsArgs']]: def auth_options(self, value: Optional[pulumi.Input['DataPlaneAuthOptionsArgs']]): pulumi.set(self, "auth_options", value) + @property + @pulumi.getter(name="computeType") + def compute_type(self) -> Optional[pulumi.Input[Union[builtins.str, 'ComputeType']]]: + """ + Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + """ + return pulumi.get(self, "compute_type") + + @compute_type.setter + def compute_type(self, value: Optional[pulumi.Input[Union[builtins.str, 'ComputeType']]]): + pulumi.set(self, "compute_type", value) + + @property + @pulumi.getter(name="dataExfiltrationProtections") + def data_exfiltration_protections(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[builtins.str, 'SearchDataExfiltrationProtection']]]]]: + """ + A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future. + """ + return pulumi.get(self, "data_exfiltration_protections") + + @data_exfiltration_protections.setter + def data_exfiltration_protections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[builtins.str, 'SearchDataExfiltrationProtection']]]]]): + pulumi.set(self, "data_exfiltration_protections", value) + @property @pulumi.getter(name="disableLocalAuth") def disable_local_auth(self) -> Optional[pulumi.Input[builtins.bool]]: @@ -142,6 +182,18 @@ def encryption_with_cmk(self) -> Optional[pulumi.Input['EncryptionWithCmkArgs']] def encryption_with_cmk(self, value: Optional[pulumi.Input['EncryptionWithCmkArgs']]): pulumi.set(self, "encryption_with_cmk", value) + @property + @pulumi.getter + def endpoint(self) -> Optional[pulumi.Input[builtins.str]]: + """ + The endpoint of the Azure AI Search service. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: Optional[pulumi.Input[builtins.str]]): + pulumi.set(self, "endpoint", value) + @property @pulumi.getter(name="hostingMode") def hosting_mode(self) -> Optional[pulumi.Input['HostingMode']]: @@ -182,7 +234,7 @@ def location(self, value: Optional[pulumi.Input[builtins.str]]): @pulumi.getter(name="networkRuleSet") def network_rule_set(self) -> Optional[pulumi.Input['NetworkRuleSetArgs']]: """ - Network-specific rules that determine how the search service may be reached. + Network specific rules that determine how the Azure AI Search service may be reached. """ return pulumi.get(self, "network_rule_set") @@ -204,14 +256,14 @@ def partition_count(self, value: Optional[pulumi.Input[builtins.int]]): @property @pulumi.getter(name="publicNetworkAccess") - def public_network_access(self) -> Optional[pulumi.Input['PublicNetworkAccess']]: + def public_network_access(self) -> Optional[pulumi.Input[Union[builtins.str, 'PublicNetworkAccess']]]: """ This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method. """ return pulumi.get(self, "public_network_access") @public_network_access.setter - def public_network_access(self, value: Optional[pulumi.Input['PublicNetworkAccess']]): + def public_network_access(self, value: Optional[pulumi.Input[Union[builtins.str, 'PublicNetworkAccess']]]): pulumi.set(self, "public_network_access", value) @property @@ -230,7 +282,7 @@ def replica_count(self, value: Optional[pulumi.Input[builtins.int]]): @pulumi.getter(name="searchServiceName") def search_service_name(self) -> Optional[pulumi.Input[builtins.str]]: """ - The name of the search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created. + The name of the Azure AI Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created. """ return pulumi.get(self, "search_service_name") @@ -242,7 +294,7 @@ def search_service_name(self, value: Optional[pulumi.Input[builtins.str]]): @pulumi.getter(name="semanticSearch") def semantic_search(self) -> Optional[pulumi.Input[Union[builtins.str, 'SearchSemanticSearch']]]: """ - Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. + Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. """ return pulumi.get(self, "semantic_search") @@ -254,7 +306,7 @@ def semantic_search(self, value: Optional[pulumi.Input[Union[builtins.str, 'Sear @pulumi.getter def sku(self) -> Optional[pulumi.Input['SkuArgs']]: """ - The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service. + The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. """ return pulumi.get(self, "sku") @@ -274,6 +326,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]] def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="upgradeAvailable") + def upgrade_available(self) -> Optional[pulumi.Input[Union[builtins.str, 'UpgradeAvailable']]]: + """ + Indicates if the search service has an upgrade available. + """ + return pulumi.get(self, "upgrade_available") + + @upgrade_available.setter + def upgrade_available(self, value: Optional[pulumi.Input[Union[builtins.str, 'UpgradeAvailable']]]): + pulumi.set(self, "upgrade_available", value) + @pulumi.type_token("azure-native:search:Service") class Service(pulumi.CustomResource): @@ -282,45 +346,53 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, auth_options: Optional[pulumi.Input[Union['DataPlaneAuthOptionsArgs', 'DataPlaneAuthOptionsArgsDict']]] = None, + compute_type: Optional[pulumi.Input[Union[builtins.str, 'ComputeType']]] = None, + data_exfiltration_protections: Optional[pulumi.Input[Sequence[pulumi.Input[Union[builtins.str, 'SearchDataExfiltrationProtection']]]]] = None, disable_local_auth: Optional[pulumi.Input[builtins.bool]] = None, encryption_with_cmk: Optional[pulumi.Input[Union['EncryptionWithCmkArgs', 'EncryptionWithCmkArgsDict']]] = None, + endpoint: Optional[pulumi.Input[builtins.str]] = None, hosting_mode: Optional[pulumi.Input['HostingMode']] = None, identity: Optional[pulumi.Input[Union['IdentityArgs', 'IdentityArgsDict']]] = None, location: Optional[pulumi.Input[builtins.str]] = None, network_rule_set: Optional[pulumi.Input[Union['NetworkRuleSetArgs', 'NetworkRuleSetArgsDict']]] = None, partition_count: Optional[pulumi.Input[builtins.int]] = None, - public_network_access: Optional[pulumi.Input['PublicNetworkAccess']] = None, + public_network_access: Optional[pulumi.Input[Union[builtins.str, 'PublicNetworkAccess']]] = None, replica_count: Optional[pulumi.Input[builtins.int]] = None, resource_group_name: Optional[pulumi.Input[builtins.str]] = None, search_service_name: Optional[pulumi.Input[builtins.str]] = None, semantic_search: Optional[pulumi.Input[Union[builtins.str, 'SearchSemanticSearch']]] = None, sku: Optional[pulumi.Input[Union['SkuArgs', 'SkuArgsDict']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None, + upgrade_available: Optional[pulumi.Input[Union[builtins.str, 'UpgradeAvailable']]] = None, __props__=None): """ - Describes a search service and its current state. + Describes an Azure AI Search service and its current state. - Uses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. + Uses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Union['DataPlaneAuthOptionsArgs', 'DataPlaneAuthOptionsArgsDict']] auth_options: Defines the options for how the data plane API of a search service authenticates requests. This cannot be set if 'disableLocalAuth' is set to true. + :param pulumi.Input[Union[builtins.str, 'ComputeType']] compute_type: Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + :param pulumi.Input[Sequence[pulumi.Input[Union[builtins.str, 'SearchDataExfiltrationProtection']]]] data_exfiltration_protections: A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future. :param pulumi.Input[builtins.bool] disable_local_auth: When set to true, calls to the search service will not be permitted to utilize API keys for authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. :param pulumi.Input[Union['EncryptionWithCmkArgs', 'EncryptionWithCmkArgsDict']] encryption_with_cmk: Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys within a search service. + :param pulumi.Input[builtins.str] endpoint: The endpoint of the Azure AI Search service. :param pulumi.Input['HostingMode'] hosting_mode: Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. :param pulumi.Input[Union['IdentityArgs', 'IdentityArgsDict']] identity: The identity of the resource. :param pulumi.Input[builtins.str] location: The geo-location where the resource lives - :param pulumi.Input[Union['NetworkRuleSetArgs', 'NetworkRuleSetArgsDict']] network_rule_set: Network-specific rules that determine how the search service may be reached. + :param pulumi.Input[Union['NetworkRuleSetArgs', 'NetworkRuleSetArgsDict']] network_rule_set: Network specific rules that determine how the Azure AI Search service may be reached. :param pulumi.Input[builtins.int] partition_count: The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3. - :param pulumi.Input['PublicNetworkAccess'] public_network_access: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method. + :param pulumi.Input[Union[builtins.str, 'PublicNetworkAccess']] public_network_access: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method. :param pulumi.Input[builtins.int] replica_count: The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU. :param pulumi.Input[builtins.str] resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param pulumi.Input[builtins.str] search_service_name: The name of the search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created. - :param pulumi.Input[Union[builtins.str, 'SearchSemanticSearch']] semantic_search: Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. - :param pulumi.Input[Union['SkuArgs', 'SkuArgsDict']] sku: The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service. + :param pulumi.Input[builtins.str] search_service_name: The name of the Azure AI Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created. + :param pulumi.Input[Union[builtins.str, 'SearchSemanticSearch']] semantic_search: Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. + :param pulumi.Input[Union['SkuArgs', 'SkuArgsDict']] sku: The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] tags: Resource tags. + :param pulumi.Input[Union[builtins.str, 'UpgradeAvailable']] upgrade_available: Indicates if the search service has an upgrade available. """ ... @overload @@ -329,11 +401,11 @@ def __init__(__self__, args: ServiceArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Describes a search service and its current state. + Describes an Azure AI Search service and its current state. - Uses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. + Uses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param str resource_name: The name of the resource. :param ServiceArgs args: The arguments to use to populate this resource's properties. @@ -351,20 +423,24 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, auth_options: Optional[pulumi.Input[Union['DataPlaneAuthOptionsArgs', 'DataPlaneAuthOptionsArgsDict']]] = None, + compute_type: Optional[pulumi.Input[Union[builtins.str, 'ComputeType']]] = None, + data_exfiltration_protections: Optional[pulumi.Input[Sequence[pulumi.Input[Union[builtins.str, 'SearchDataExfiltrationProtection']]]]] = None, disable_local_auth: Optional[pulumi.Input[builtins.bool]] = None, encryption_with_cmk: Optional[pulumi.Input[Union['EncryptionWithCmkArgs', 'EncryptionWithCmkArgsDict']]] = None, + endpoint: Optional[pulumi.Input[builtins.str]] = None, hosting_mode: Optional[pulumi.Input['HostingMode']] = None, identity: Optional[pulumi.Input[Union['IdentityArgs', 'IdentityArgsDict']]] = None, location: Optional[pulumi.Input[builtins.str]] = None, network_rule_set: Optional[pulumi.Input[Union['NetworkRuleSetArgs', 'NetworkRuleSetArgsDict']]] = None, partition_count: Optional[pulumi.Input[builtins.int]] = None, - public_network_access: Optional[pulumi.Input['PublicNetworkAccess']] = None, + public_network_access: Optional[pulumi.Input[Union[builtins.str, 'PublicNetworkAccess']]] = None, replica_count: Optional[pulumi.Input[builtins.int]] = None, resource_group_name: Optional[pulumi.Input[builtins.str]] = None, search_service_name: Optional[pulumi.Input[builtins.str]] = None, semantic_search: Optional[pulumi.Input[Union[builtins.str, 'SearchSemanticSearch']]] = None, sku: Optional[pulumi.Input[Union['SkuArgs', 'SkuArgsDict']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None, + upgrade_available: Optional[pulumi.Input[Union[builtins.str, 'UpgradeAvailable']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -375,8 +451,11 @@ def _internal_init(__self__, __props__ = ServiceArgs.__new__(ServiceArgs) __props__.__dict__["auth_options"] = auth_options + __props__.__dict__["compute_type"] = compute_type + __props__.__dict__["data_exfiltration_protections"] = data_exfiltration_protections __props__.__dict__["disable_local_auth"] = disable_local_auth __props__.__dict__["encryption_with_cmk"] = encryption_with_cmk + __props__.__dict__["endpoint"] = endpoint if hosting_mode is None: hosting_mode = 'default' __props__.__dict__["hosting_mode"] = hosting_mode @@ -399,13 +478,17 @@ def _internal_init(__self__, __props__.__dict__["semantic_search"] = semantic_search __props__.__dict__["sku"] = sku __props__.__dict__["tags"] = tags + __props__.__dict__["upgrade_available"] = upgrade_available __props__.__dict__["azure_api_version"] = None + __props__.__dict__["e_tag"] = None __props__.__dict__["name"] = None __props__.__dict__["private_endpoint_connections"] = None __props__.__dict__["provisioning_state"] = None + __props__.__dict__["service_upgraded_at"] = None __props__.__dict__["shared_private_link_resources"] = None __props__.__dict__["status"] = None __props__.__dict__["status_details"] = None + __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:search/v20150819:Service"), pulumi.Alias(type_="azure-native:search/v20191001preview:Service"), pulumi.Alias(type_="azure-native:search/v20200313:Service"), pulumi.Alias(type_="azure-native:search/v20200801:Service"), pulumi.Alias(type_="azure-native:search/v20200801preview:Service"), pulumi.Alias(type_="azure-native:search/v20210401preview:Service"), pulumi.Alias(type_="azure-native:search/v20220901:Service"), pulumi.Alias(type_="azure-native:search/v20231101:Service"), pulumi.Alias(type_="azure-native:search/v20240301preview:Service"), pulumi.Alias(type_="azure-native:search/v20240601preview:Service"), pulumi.Alias(type_="azure-native:search/v20250201preview:Service"), pulumi.Alias(type_="azure-native:search/v20250501:Service")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -433,8 +516,12 @@ def get(resource_name: str, __props__.__dict__["auth_options"] = None __props__.__dict__["azure_api_version"] = None + __props__.__dict__["compute_type"] = None + __props__.__dict__["data_exfiltration_protections"] = None __props__.__dict__["disable_local_auth"] = None + __props__.__dict__["e_tag"] = None __props__.__dict__["encryption_with_cmk"] = None + __props__.__dict__["endpoint"] = None __props__.__dict__["hosting_mode"] = None __props__.__dict__["identity"] = None __props__.__dict__["location"] = None @@ -446,12 +533,15 @@ def get(resource_name: str, __props__.__dict__["public_network_access"] = None __props__.__dict__["replica_count"] = None __props__.__dict__["semantic_search"] = None + __props__.__dict__["service_upgraded_at"] = None __props__.__dict__["shared_private_link_resources"] = None __props__.__dict__["sku"] = None __props__.__dict__["status"] = None __props__.__dict__["status_details"] = None + __props__.__dict__["system_data"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None + __props__.__dict__["upgrade_available"] = None return Service(resource_name, opts=opts, __props__=__props__) @property @@ -470,6 +560,22 @@ def azure_api_version(self) -> pulumi.Output[builtins.str]: """ return pulumi.get(self, "azure_api_version") + @property + @pulumi.getter(name="computeType") + def compute_type(self) -> pulumi.Output[Optional[builtins.str]]: + """ + Configure this property to support the search service using either the Default Compute or Azure Confidential Compute. + """ + return pulumi.get(self, "compute_type") + + @property + @pulumi.getter(name="dataExfiltrationProtections") + def data_exfiltration_protections(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]: + """ + A list of data exfiltration scenarios that are explicitly disallowed for the search service. Currently, the only supported value is 'All' to disable all possible data export scenarios with more fine grained controls planned for the future. + """ + return pulumi.get(self, "data_exfiltration_protections") + @property @pulumi.getter(name="disableLocalAuth") def disable_local_auth(self) -> pulumi.Output[Optional[builtins.bool]]: @@ -478,6 +584,14 @@ def disable_local_auth(self) -> pulumi.Output[Optional[builtins.bool]]: """ return pulumi.get(self, "disable_local_auth") + @property + @pulumi.getter(name="eTag") + def e_tag(self) -> pulumi.Output[builtins.str]: + """ + A system generated property representing the service's etag that can be for optimistic concurrency control during updates. + """ + return pulumi.get(self, "e_tag") + @property @pulumi.getter(name="encryptionWithCmk") def encryption_with_cmk(self) -> pulumi.Output[Optional['outputs.EncryptionWithCmkResponse']]: @@ -486,6 +600,14 @@ def encryption_with_cmk(self) -> pulumi.Output[Optional['outputs.EncryptionWithC """ return pulumi.get(self, "encryption_with_cmk") + @property + @pulumi.getter + def endpoint(self) -> pulumi.Output[Optional[builtins.str]]: + """ + The endpoint of the Azure AI Search service. + """ + return pulumi.get(self, "endpoint") + @property @pulumi.getter(name="hostingMode") def hosting_mode(self) -> pulumi.Output[Optional[builtins.str]]: @@ -522,7 +644,7 @@ def name(self) -> pulumi.Output[builtins.str]: @pulumi.getter(name="networkRuleSet") def network_rule_set(self) -> pulumi.Output[Optional['outputs.NetworkRuleSetResponse']]: """ - Network-specific rules that determine how the search service may be reached. + Network specific rules that determine how the Azure AI Search service may be reached. """ return pulumi.get(self, "network_rule_set") @@ -538,7 +660,7 @@ def partition_count(self) -> pulumi.Output[Optional[builtins.int]]: @pulumi.getter(name="privateEndpointConnections") def private_endpoint_connections(self) -> pulumi.Output[Sequence['outputs.PrivateEndpointConnectionResponse']]: """ - The list of private endpoint connections to the search service. + The list of private endpoint connections to the Azure AI Search service. """ return pulumi.get(self, "private_endpoint_connections") @@ -546,7 +668,7 @@ def private_endpoint_connections(self) -> pulumi.Output[Sequence['outputs.Privat @pulumi.getter(name="provisioningState") def provisioning_state(self) -> pulumi.Output[builtins.str]: """ - The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. + The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'Succeeded' or 'Failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'Succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up. """ return pulumi.get(self, "provisioning_state") @@ -570,15 +692,23 @@ def replica_count(self) -> pulumi.Output[Optional[builtins.int]]: @pulumi.getter(name="semanticSearch") def semantic_search(self) -> pulumi.Output[Optional[builtins.str]]: """ - Sets options that control the availability of semantic search. This configuration is only possible for certain search SKUs in certain locations. + Sets options that control the availability of semantic search. This configuration is only possible for certain Azure AI Search SKUs in certain locations. """ return pulumi.get(self, "semantic_search") + @property + @pulumi.getter(name="serviceUpgradedAt") + def service_upgraded_at(self) -> pulumi.Output[builtins.str]: + """ + The date and time the search service was last upgraded. This field will be null until the service gets upgraded for the first time. + """ + return pulumi.get(self, "service_upgraded_at") + @property @pulumi.getter(name="sharedPrivateLinkResources") def shared_private_link_resources(self) -> pulumi.Output[Sequence['outputs.SharedPrivateLinkResourceResponse']]: """ - The list of shared private link resources managed by the search service. + The list of shared private link resources managed by the Azure AI Search service. """ return pulumi.get(self, "shared_private_link_resources") @@ -586,7 +716,7 @@ def shared_private_link_resources(self) -> pulumi.Output[Sequence['outputs.Share @pulumi.getter def sku(self) -> pulumi.Output[Optional['outputs.SkuResponse']]: """ - The SKU of the search service, which determines billing rate and capacity limits. This property is required when creating a new search service. + The SKU of the search service, which determines price tier and capacity limits. This property is required when creating a new search service. """ return pulumi.get(self, "sku") @@ -594,7 +724,7 @@ def sku(self) -> pulumi.Output[Optional['outputs.SkuResponse']]: @pulumi.getter def status(self) -> pulumi.Output[builtins.str]: """ - The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, Microsoft is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. + The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. 'stopped': The search service is in a subscription that's disabled. If your service is in the degraded, disabled, or error states, it means the Azure AI Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned. """ return pulumi.get(self, "status") @@ -606,6 +736,14 @@ def status_details(self) -> pulumi.Output[builtins.str]: """ return pulumi.get(self, "status_details") + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]: @@ -622,3 +760,11 @@ def type(self) -> pulumi.Output[builtins.str]: """ return pulumi.get(self, "type") + @property + @pulumi.getter(name="upgradeAvailable") + def upgrade_available(self) -> pulumi.Output[Optional[builtins.str]]: + """ + Indicates if the search service has an upgrade available. + """ + return pulumi.get(self, "upgrade_available") + diff --git a/sdk/python/pulumi_azure_native/search/shared_private_link_resource.py b/sdk/python/pulumi_azure_native/search/shared_private_link_resource.py index 4de6ce2289d6..af7146d1303e 100644 --- a/sdk/python/pulumi_azure_native/search/shared_private_link_resource.py +++ b/sdk/python/pulumi_azure_native/search/shared_private_link_resource.py @@ -30,9 +30,9 @@ def __init__(__self__, *, """ The set of arguments for constructing a SharedPrivateLinkResource resource. :param pulumi.Input[builtins.str] resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param pulumi.Input[builtins.str] search_service_name: The name of the search service associated with the specified resource group. - :param pulumi.Input['SharedPrivateLinkResourcePropertiesArgs'] properties: Describes the properties of a Shared Private Link Resource managed by the search service. - :param pulumi.Input[builtins.str] shared_private_link_resource_name: The name of the shared private link resource managed by the search service within the specified resource group. + :param pulumi.Input[builtins.str] search_service_name: The name of the Azure AI Search service associated with the specified resource group. + :param pulumi.Input['SharedPrivateLinkResourcePropertiesArgs'] properties: Describes the properties of a shared private link resource managed by the Azure AI Search service. + :param pulumi.Input[builtins.str] shared_private_link_resource_name: The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. """ pulumi.set(__self__, "resource_group_name", resource_group_name) pulumi.set(__self__, "search_service_name", search_service_name) @@ -57,7 +57,7 @@ def resource_group_name(self, value: pulumi.Input[builtins.str]): @pulumi.getter(name="searchServiceName") def search_service_name(self) -> pulumi.Input[builtins.str]: """ - The name of the search service associated with the specified resource group. + The name of the Azure AI Search service associated with the specified resource group. """ return pulumi.get(self, "search_service_name") @@ -69,7 +69,7 @@ def search_service_name(self, value: pulumi.Input[builtins.str]): @pulumi.getter def properties(self) -> Optional[pulumi.Input['SharedPrivateLinkResourcePropertiesArgs']]: """ - Describes the properties of a Shared Private Link Resource managed by the search service. + Describes the properties of a shared private link resource managed by the Azure AI Search service. """ return pulumi.get(self, "properties") @@ -81,7 +81,7 @@ def properties(self, value: Optional[pulumi.Input['SharedPrivateLinkResourceProp @pulumi.getter(name="sharedPrivateLinkResourceName") def shared_private_link_resource_name(self) -> Optional[pulumi.Input[builtins.str]]: """ - The name of the shared private link resource managed by the search service within the specified resource group. + The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. """ return pulumi.get(self, "shared_private_link_resource_name") @@ -102,18 +102,18 @@ def __init__(__self__, shared_private_link_resource_name: Optional[pulumi.Input[builtins.str]] = None, __props__=None): """ - Describes a Shared Private Link Resource managed by the search service. + Describes a shared private link resource managed by the Azure AI Search service. - Uses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. + Uses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Union['SharedPrivateLinkResourcePropertiesArgs', 'SharedPrivateLinkResourcePropertiesArgsDict']] properties: Describes the properties of a Shared Private Link Resource managed by the search service. + :param pulumi.Input[Union['SharedPrivateLinkResourcePropertiesArgs', 'SharedPrivateLinkResourcePropertiesArgsDict']] properties: Describes the properties of a shared private link resource managed by the Azure AI Search service. :param pulumi.Input[builtins.str] resource_group_name: The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal. - :param pulumi.Input[builtins.str] search_service_name: The name of the search service associated with the specified resource group. - :param pulumi.Input[builtins.str] shared_private_link_resource_name: The name of the shared private link resource managed by the search service within the specified resource group. + :param pulumi.Input[builtins.str] search_service_name: The name of the Azure AI Search service associated with the specified resource group. + :param pulumi.Input[builtins.str] shared_private_link_resource_name: The name of the shared private link resource managed by the Azure AI Search service within the specified resource group. """ ... @overload @@ -122,11 +122,11 @@ def __init__(__self__, args: SharedPrivateLinkResourceArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Describes a Shared Private Link Resource managed by the search service. + Describes a shared private link resource managed by the Azure AI Search service. - Uses Azure REST API version 2023-11-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. + Uses Azure REST API version 2025-05-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. - Other available API versions: 2022-09-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview, 2025-05-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. + Other available API versions: 2022-09-01, 2023-11-01, 2024-03-01-preview, 2024-06-01-preview, 2025-02-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native search [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. :param str resource_name: The name of the resource. :param SharedPrivateLinkResourceArgs args: The arguments to use to populate this resource's properties. @@ -166,6 +166,7 @@ def _internal_init(__self__, __props__.__dict__["shared_private_link_resource_name"] = shared_private_link_resource_name __props__.__dict__["azure_api_version"] = None __props__.__dict__["name"] = None + __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:search/v20200801:SharedPrivateLinkResource"), pulumi.Alias(type_="azure-native:search/v20200801preview:SharedPrivateLinkResource"), pulumi.Alias(type_="azure-native:search/v20210401preview:SharedPrivateLinkResource"), pulumi.Alias(type_="azure-native:search/v20220901:SharedPrivateLinkResource"), pulumi.Alias(type_="azure-native:search/v20231101:SharedPrivateLinkResource"), pulumi.Alias(type_="azure-native:search/v20240301preview:SharedPrivateLinkResource"), pulumi.Alias(type_="azure-native:search/v20240601preview:SharedPrivateLinkResource"), pulumi.Alias(type_="azure-native:search/v20250201preview:SharedPrivateLinkResource"), pulumi.Alias(type_="azure-native:search/v20250501:SharedPrivateLinkResource")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -194,6 +195,7 @@ def get(resource_name: str, __props__.__dict__["azure_api_version"] = None __props__.__dict__["name"] = None __props__.__dict__["properties"] = None + __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None return SharedPrivateLinkResource(resource_name, opts=opts, __props__=__props__) @@ -217,10 +219,18 @@ def name(self) -> pulumi.Output[builtins.str]: @pulumi.getter def properties(self) -> pulumi.Output['outputs.SharedPrivateLinkResourcePropertiesResponse']: """ - Describes the properties of a Shared Private Link Resource managed by the search service. + Describes the properties of a shared private link resource managed by the Azure AI Search service. """ return pulumi.get(self, "properties") + @property + @pulumi.getter(name="systemData") + def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: + """ + Azure Resource Manager metadata containing createdBy and modifiedBy information. + """ + return pulumi.get(self, "system_data") + @property @pulumi.getter def type(self) -> pulumi.Output[builtins.str]: diff --git a/versions/v3-spec.yaml b/versions/v3-spec.yaml index 02613eb35ce6..2d1d15e6c663 100644 --- a/versions/v3-spec.yaml +++ b/versions/v3-spec.yaml @@ -1413,7 +1413,7 @@ Scheduler: Scom: tracking: 2023-07-07-preview Search: - tracking: "2023-11-01" + tracking: "2025-05-01" SecretSyncController: tracking: 2024-08-21-preview Security: diff --git a/versions/v3.yaml b/versions/v3.yaml index bb93b0f1aa5c..ba3957f4c452 100644 --- a/versions/v3.yaml +++ b/versions/v3.yaml @@ -11049,28 +11049,28 @@ Scom: RpNamespace: Microsoft.Scom Search: PrivateEndpointConnection: - ApiVersion: "2023-11-01" - SpecFilePath: specification/search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json + ApiVersion: "2025-05-01" + SpecFilePath: specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json ResourceUri: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections/{privateEndpointConnectionName} RpNamespace: Microsoft.Search Service: - ApiVersion: "2023-11-01" - SpecFilePath: specification/search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json + ApiVersion: "2025-05-01" + SpecFilePath: specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json ResourceUri: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} RpNamespace: Microsoft.Search SharedPrivateLinkResource: - ApiVersion: "2023-11-01" - SpecFilePath: specification/search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json + ApiVersion: "2025-05-01" + SpecFilePath: specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json ResourceUri: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName} RpNamespace: Microsoft.Search listAdminKey: - ApiVersion: "2023-11-01" - SpecFilePath: specification/search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json + ApiVersion: "2025-05-01" + SpecFilePath: specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json ResourceUri: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys RpNamespace: Microsoft.Search listQueryKeyBySearchService: - ApiVersion: "2023-11-01" - SpecFilePath: specification/search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json + ApiVersion: "2025-05-01" + SpecFilePath: specification/search/resource-manager/Microsoft.Search/stable/2025-05-01/search.json ResourceUri: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys RpNamespace: Microsoft.Search SecretSyncController: