diff --git a/provider/cmd/pulumi-resource-azure-native/schema.json b/provider/cmd/pulumi-resource-azure-native/schema.json index 1a09d3010aa0..8d070c41a7d9 100644 --- a/provider/cmd/pulumi-resource-azure-native/schema.json +++ b/provider/cmd/pulumi-resource-azure-native/schema.json @@ -20752,6 +20752,57 @@ } ] }, + "azure-native:authorization:AccessReviewRecurrenceRange": { + "description": "Recurrence Range of an Access Review Schedule Definition.", + "properties": { + "endDate": { + "type": "string", + "description": "The DateTime when the review is scheduled to end. Required if type is endDate" + }, + "numberOfOccurrences": { + "type": "integer", + "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." + }, + "startDate": { + "type": "string", + "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." + }, + "type": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeType" + } + ], + "description": "The recurrence range type. The possible values are: endDate, noEnd, numbered." + } + }, + "type": "object" + }, + "azure-native:authorization:AccessReviewRecurrenceRangeResponse": { + "description": "Recurrence Range of an Access Review Schedule Definition.", + "properties": { + "endDate": { + "type": "string", + "description": "The DateTime when the review is scheduled to end. Required if type is endDate" + }, + "numberOfOccurrences": { + "type": "integer", + "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." + }, + "startDate": { + "type": "string", + "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." + }, + "type": { + "type": "string", + "description": "The recurrence range type. The possible values are: endDate, noEnd, numbered." + } + }, + "type": "object" + }, "azure-native:authorization:AccessReviewRecurrenceRangeType": { "description": "The recurrence range type. The possible values are: endDate, noEnd, numbered.", "type": "string", @@ -193860,6 +193911,58 @@ } ] }, + "azure-native:devhub:GitHubWorkflowProfile": { + "description": "GitHub Workflow Profile", + "properties": { + "acr": { + "type": "object", + "$ref": "#/types/azure-native:devhub:ACR", + "description": "Information on the azure container registry" + }, + "aksResourceId": { + "type": "string", + "description": "The Azure Kubernetes Cluster Resource the application will be deployed to." + }, + "branchName": { + "type": "string", + "description": "Repository Branch Name" + }, + "deploymentProperties": { + "type": "object", + "$ref": "#/types/azure-native:devhub:DeploymentProperties" + }, + "dockerBuildContext": { + "type": "string", + "description": "Path to Dockerfile Build Context within the repository." + }, + "dockerfile": { + "type": "string", + "description": "Path to the Dockerfile within the repository." + }, + "lastWorkflowRun": { + "type": "object", + "$ref": "#/types/azure-native:devhub:WorkflowRun" + }, + "namespace": { + "type": "string", + "description": "Kubernetes namespace the application is deployed to." + }, + "oidcCredentials": { + "type": "object", + "$ref": "#/types/azure-native:devhub:GitHubWorkflowProfileOidcCredentials", + "description": "The fields needed for OIDC with GitHub." + }, + "repositoryName": { + "type": "string", + "description": "Repository Name" + }, + "repositoryOwner": { + "type": "string", + "description": "Repository Owner" + } + }, + "type": "object" + }, "azure-native:devhub:GitHubWorkflowProfileOidcCredentials": { "description": "The fields needed for OIDC with GitHub.", "properties": { @@ -193874,6 +193977,80 @@ }, "type": "object" }, + "azure-native:devhub:GitHubWorkflowProfileResponse": { + "description": "GitHub Workflow Profile", + "properties": { + "acr": { + "type": "object", + "$ref": "#/types/azure-native:devhub:ACRResponse", + "description": "Information on the azure container registry" + }, + "aksResourceId": { + "type": "string", + "description": "The Azure Kubernetes Cluster Resource the application will be deployed to." + }, + "authStatus": { + "type": "string", + "description": "Determines the authorization status of requests." + }, + "branchName": { + "type": "string", + "description": "Repository Branch Name" + }, + "deploymentProperties": { + "type": "object", + "$ref": "#/types/azure-native:devhub:DeploymentPropertiesResponse" + }, + "dockerBuildContext": { + "type": "string", + "description": "Path to Dockerfile Build Context within the repository." + }, + "dockerfile": { + "type": "string", + "description": "Path to the Dockerfile within the repository." + }, + "lastWorkflowRun": { + "type": "object", + "$ref": "#/types/azure-native:devhub:WorkflowRunResponse" + }, + "namespace": { + "type": "string", + "description": "Kubernetes namespace the application is deployed to." + }, + "oidcCredentials": { + "type": "object", + "$ref": "#/types/azure-native:devhub:GitHubWorkflowProfileResponseOidcCredentials", + "description": "The fields needed for OIDC with GitHub." + }, + "prStatus": { + "type": "string", + "description": "The status of the Pull Request submitted against the users repository." + }, + "prURL": { + "type": "string", + "description": "The URL to the Pull Request submitted against the users repository." + }, + "pullNumber": { + "type": "integer", + "description": "The number associated with the submitted pull request." + }, + "repositoryName": { + "type": "string", + "description": "Repository Name" + }, + "repositoryOwner": { + "type": "string", + "description": "Repository Owner" + } + }, + "type": "object", + "required": [ + "authStatus", + "prStatus", + "prURL", + "pullNumber" + ] + }, "azure-native:devhub:GitHubWorkflowProfileResponseOidcCredentials": { "description": "The fields needed for OIDC with GitHub.", "properties": { @@ -328706,6 +328883,167 @@ "publicCertData" ] }, + "azure-native:network:P2SVpnServerConfigurationProperties": { + "description": "Parameters for P2SVpnServerConfiguration.", + "properties": { + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "name": { + "type": "string", + "description": "The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name." + }, + "p2SVpnServerConfigRadiusClientRootCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:P2SVpnServerConfigRadiusClientRootCertificate" + }, + "description": "Radius client root certificate of P2SVpnServerConfiguration." + }, + "p2SVpnServerConfigRadiusServerRootCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:P2SVpnServerConfigRadiusServerRootCertificate" + }, + "description": "Radius Server root certificate of P2SVpnServerConfiguration." + }, + "p2SVpnServerConfigVpnClientRevokedCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:P2SVpnServerConfigVpnClientRevokedCertificate" + }, + "description": "VPN client revoked certificate of P2SVpnServerConfiguration." + }, + "p2SVpnServerConfigVpnClientRootCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:P2SVpnServerConfigVpnClientRootCertificate" + }, + "description": "VPN client root certificate of P2SVpnServerConfiguration." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection." + }, + "vpnClientIpsecPolicies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:IpsecPolicy" + }, + "description": "VpnClientIpsecPolicies for P2SVpnServerConfiguration." + }, + "vpnProtocols": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:network:VpnGatewayTunnelingProtocol" + } + ] + }, + "description": "VPN protocols for the P2SVpnServerConfiguration." + } + }, + "type": "object" + }, + "azure-native:network:P2SVpnServerConfigurationPropertiesResponse": { + "description": "Parameters for P2SVpnServerConfiguration.", + "properties": { + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "name": { + "type": "string", + "description": "The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name." + }, + "p2SVpnGateways": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:SubResourceResponse" + }, + "description": "List of references to P2SVpnGateways." + }, + "p2SVpnServerConfigRadiusClientRootCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:P2SVpnServerConfigRadiusClientRootCertificateResponse" + }, + "description": "Radius client root certificate of P2SVpnServerConfiguration." + }, + "p2SVpnServerConfigRadiusServerRootCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:P2SVpnServerConfigRadiusServerRootCertificateResponse" + }, + "description": "Radius Server root certificate of P2SVpnServerConfiguration." + }, + "p2SVpnServerConfigVpnClientRevokedCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:P2SVpnServerConfigVpnClientRevokedCertificateResponse" + }, + "description": "VPN client revoked certificate of P2SVpnServerConfiguration." + }, + "p2SVpnServerConfigVpnClientRootCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:P2SVpnServerConfigVpnClientRootCertificateResponse" + }, + "description": "VPN client root certificate of P2SVpnServerConfiguration." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the P2S VPN server configuration resource." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection." + }, + "vpnClientIpsecPolicies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:IpsecPolicyResponse" + }, + "description": "VpnClientIpsecPolicies for P2SVpnServerConfiguration." + }, + "vpnProtocols": { + "type": "array", + "items": { + "type": "string" + }, + "description": "VPN protocols for the P2SVpnServerConfiguration." + } + }, + "type": "object", + "required": [ + "p2SVpnGateways", + "provisioningState" + ] + }, "azure-native:network:PacketCaptureFilter": { "description": "Filter that is applied to packet capture request. Multiple filters can be applied.", "properties": { @@ -337082,6 +337420,227 @@ "type" ] }, + "azure-native:network:VpnServerConfigurationProperties": { + "description": "Parameters for VpnServerConfiguration.", + "properties": { + "aadAuthenticationParameters": { + "type": "object", + "$ref": "#/types/azure-native:network:AadAuthenticationParameters", + "description": "The set of aad vpn authentication parameters." + }, + "configurationPolicyGroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigurationPolicyGroup" + }, + "description": "List of all VpnServerConfigurationPolicyGroups." + }, + "name": { + "type": "string", + "description": "The name of the VpnServerConfiguration that is unique within a resource group." + }, + "radiusClientRootCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigRadiusClientRootCertificate" + }, + "description": "Radius client root certificate of VpnServerConfiguration." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServerRootCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigRadiusServerRootCertificate" + }, + "description": "Radius Server root certificate of VpnServerConfiguration." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:RadiusServer" + }, + "description": "Multiple Radius Server configuration for VpnServerConfiguration." + }, + "vpnAuthenticationTypes": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:network:VpnAuthenticationType" + } + ] + }, + "description": "VPN authentication types for the VpnServerConfiguration." + }, + "vpnClientIpsecPolicies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:IpsecPolicy" + }, + "description": "VpnClientIpsecPolicies for VpnServerConfiguration." + }, + "vpnClientRevokedCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigVpnClientRevokedCertificate" + }, + "description": "VPN client revoked certificate of VpnServerConfiguration." + }, + "vpnClientRootCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigVpnClientRootCertificate" + }, + "description": "VPN client root certificate of VpnServerConfiguration." + }, + "vpnProtocols": { + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/types/azure-native:network:VpnGatewayTunnelingProtocol" + } + ] + }, + "description": "VPN protocols for the VpnServerConfiguration." + } + }, + "type": "object" + }, + "azure-native:network:VpnServerConfigurationPropertiesResponse": { + "description": "Parameters for VpnServerConfiguration.", + "properties": { + "aadAuthenticationParameters": { + "type": "object", + "$ref": "#/types/azure-native:network:AadAuthenticationParametersResponse", + "description": "The set of aad vpn authentication parameters." + }, + "configurationPolicyGroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigurationPolicyGroupResponse" + }, + "description": "List of all VpnServerConfigurationPolicyGroups." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "name": { + "type": "string", + "description": "The name of the VpnServerConfiguration that is unique within a resource group." + }, + "p2SVpnGateways": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:P2SVpnGatewayResponse" + }, + "description": "List of references to P2SVpnGateways." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + }, + "radiusClientRootCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigRadiusClientRootCertificateResponse" + }, + "description": "Radius client root certificate of VpnServerConfiguration." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServerRootCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigRadiusServerRootCertificateResponse" + }, + "description": "Radius Server root certificate of VpnServerConfiguration." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:RadiusServerResponse" + }, + "description": "Multiple Radius Server configuration for VpnServerConfiguration." + }, + "vpnAuthenticationTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "VPN authentication types for the VpnServerConfiguration." + }, + "vpnClientIpsecPolicies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:IpsecPolicyResponse" + }, + "description": "VpnClientIpsecPolicies for VpnServerConfiguration." + }, + "vpnClientRevokedCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigVpnClientRevokedCertificateResponse" + }, + "description": "VPN client revoked certificate of VpnServerConfiguration." + }, + "vpnClientRootCertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigVpnClientRootCertificateResponse" + }, + "description": "VPN client root certificate of VpnServerConfiguration." + }, + "vpnProtocols": { + "type": "array", + "items": { + "type": "string" + }, + "description": "VPN protocols for the VpnServerConfiguration." + } + }, + "type": "object", + "required": [ + "etag", + "p2SVpnGateways", + "provisioningState" + ] + }, "azure-native:network:VpnSiteLink": { "description": "VpnSiteLink Resource.", "properties": { @@ -384746,6 +385305,50 @@ "ports" ] }, + "azure-native:security:MalwareScanningProperties": { + "description": "Properties of Malware Scanning.", + "properties": { + "capGBPerMonth": { + "type": "integer", + "description": "Defines the max GB to be scanned per Month. Set to -1 if no capping is needed." + }, + "isEnabled": { + "type": "boolean", + "description": "Indicates whether On Upload malware scanning should be enabled." + }, + "scanResultsEventGridTopicResourceId": { + "type": "string", + "description": "Optional. Resource id of an Event Grid Topic to send scan results to." + } + }, + "type": "object" + }, + "azure-native:security:MalwareScanningPropertiesResponse": { + "description": "Properties of Malware Scanning.", + "properties": { + "capGBPerMonth": { + "type": "integer", + "description": "Defines the max GB to be scanned per Month. Set to -1 if no capping is needed." + }, + "isEnabled": { + "type": "boolean", + "description": "Indicates whether On Upload malware scanning should be enabled." + }, + "operationStatus": { + "type": "object", + "$ref": "#/types/azure-native:security:OperationStatusResponse", + "description": "Upon failure or partial success. Additional data describing Malware Scanning enable/disable operation." + }, + "scanResultsEventGridTopicResourceId": { + "type": "string", + "description": "Optional. Resource id of an Event Grid Topic to send scan results to." + } + }, + "type": "object", + "required": [ + "operationStatus" + ] + }, "azure-native:security:MinimalSeverity": { "description": "Defines the minimal alert severity which will be sent as email notifications", "type": "string", @@ -385937,6 +386540,34 @@ } ] }, + "azure-native:security:SensitiveDataDiscoveryProperties": { + "description": "Properties of Sensitive Data Discovery.", + "properties": { + "isEnabled": { + "type": "boolean", + "description": "Indicates whether Sensitive Data Discovery should be enabled." + } + }, + "type": "object" + }, + "azure-native:security:SensitiveDataDiscoveryPropertiesResponse": { + "description": "Properties of Sensitive Data Discovery.", + "properties": { + "isEnabled": { + "type": "boolean", + "description": "Indicates whether Sensitive Data Discovery should be enabled." + }, + "operationStatus": { + "type": "object", + "$ref": "#/types/azure-native:security:OperationStatusResponse", + "description": "Upon failure or partial success. Additional data describing Sensitive Data Discovery enable/disable operation." + } + }, + "type": "object", + "required": [ + "operationStatus" + ] + }, "azure-native:security:ServerVulnerabilityAssessmentsAzureSettingSelectedProvider": { "description": "The selected vulnerability assessments provider on Azure servers in the defined scope.", "type": "string", @@ -428067,6 +428698,89 @@ }, "type": "object" }, + "azure-native:vmwarecloudsimple:DedicatedCloudNodePropertiesResponse": { + "description": "Properties of dedicated cloud node", + "properties": { + "availabilityZoneId": { + "type": "string", + "description": "Availability Zone id, e.g. \"az1\"" + }, + "availabilityZoneName": { + "type": "string", + "description": "Availability Zone name, e.g. \"Availability Zone 1\"" + }, + "cloudRackName": { + "type": "string", + "description": "VMWare Cloud Rack Name" + }, + "created": { + "type": "string", + "description": "date time the resource was created" + }, + "id": { + "type": "string", + "description": "SKU's id" + }, + "name": { + "type": "string", + "description": "SKU's name" + }, + "nodesCount": { + "type": "integer", + "description": "count of nodes to create" + }, + "placementGroupId": { + "type": "string", + "description": "Placement Group id, e.g. \"n1\"" + }, + "placementGroupName": { + "type": "string", + "description": "Placement Name, e.g. \"Placement Group 1\"" + }, + "privateCloudId": { + "type": "string", + "description": "Private Cloud Id" + }, + "privateCloudName": { + "type": "string", + "description": "Resource Pool Name" + }, + "provisioningState": { + "type": "string", + "description": "The provisioning status of the resource" + }, + "purchaseId": { + "type": "string", + "description": "purchase id" + }, + "status": { + "type": "string", + "description": "Node status, indicates is private cloud set up on this node or not" + }, + "vmwareClusterName": { + "type": "string", + "description": "VMWare Cluster Name" + } + }, + "type": "object", + "required": [ + "availabilityZoneId", + "availabilityZoneName", + "cloudRackName", + "created", + "id", + "name", + "nodesCount", + "placementGroupId", + "placementGroupName", + "privateCloudId", + "privateCloudName", + "provisioningState", + "purchaseId", + "status", + "vmwareClusterName" + ] + }, "azure-native:vmwarecloudsimple:DiskIndependenceMode": { "description": "Disk's independence mode type", "type": "string", @@ -445396,7 +446110,7 @@ ] }, "azure-native:alertsmanagement:AlertProcessingRuleByName": { - "description": "Alert processing rule object containing target scopes, conditions and scheduling logic.\nAzure REST API version: 2021-08-08.\n\nOther available API versions: 2023-05-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create or update a rule that adds an action group to all alerts in a subscription\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alertProcessingRuleByName = new AzureNative.AlertsManagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", new()\n {\n AlertProcessingRuleName = \"AddActionGroupToSubscription\",\n Location = \"Global\",\n Properties = new AzureNative.AlertsManagement.Inputs.AlertProcessingRulePropertiesArgs\n {\n Actions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.AddActionGroupsArgs\n {\n ActionGroupIds = new[]\n {\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1\",\n },\n ActionType = \"AddActionGroups\",\n },\n },\n Description = \"Add ActionGroup1 to all alerts in the subscription\",\n Enabled = true,\n Scopes = new[]\n {\n \"/subscriptions/subId1\",\n },\n },\n ResourceGroupName = \"alertscorrelationrg\",\n Tags = null,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/alertsmanagement/v2\"\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 := alertsmanagement.NewAlertProcessingRuleByName(ctx, \"alertProcessingRuleByName\", \u0026alertsmanagement.AlertProcessingRuleByNameArgs{\n\t\t\tAlertProcessingRuleName: pulumi.String(\"AddActionGroupToSubscription\"),\n\t\t\tLocation: pulumi.String(\"Global\"),\n\t\t\tProperties: alertsmanagement.AlertProcessingRulePropertiesResponse{\n\t\t\t\tActions: pulumi.Array{\n\t\t\t\t\talertsmanagement.AddActionGroups{\n\t\t\t\t\t\tActionGroupIds: []string{\n\t\t\t\t\t\t\t\"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tActionType: \"AddActionGroups\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"Add ActionGroup1 to all alerts in the subscription\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/subscriptions/subId1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"alertscorrelationrg\"),\n\t\t\tTags: nil,\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.alertsmanagement.AlertProcessingRuleByName;\nimport com.pulumi.azurenative.alertsmanagement.AlertProcessingRuleByNameArgs;\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 alertProcessingRuleByName = new AlertProcessingRuleByName(\"alertProcessingRuleByName\", AlertProcessingRuleByNameArgs.builder() \n .alertProcessingRuleName(\"AddActionGroupToSubscription\")\n .location(\"Global\")\n .properties(Map.ofEntries(\n Map.entry(\"actions\", Map.ofEntries(\n Map.entry(\"actionGroupIds\", \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1\"),\n Map.entry(\"actionType\", \"AddActionGroups\")\n )),\n Map.entry(\"description\", \"Add ActionGroup1 to all alerts in the subscription\"),\n Map.entry(\"enabled\", true),\n Map.entry(\"scopes\", \"/subscriptions/subId1\")\n ))\n .resourceGroupName(\"alertscorrelationrg\")\n .tags()\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 alertProcessingRuleByName = new azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", {\n alertProcessingRuleName: \"AddActionGroupToSubscription\",\n location: \"Global\",\n properties: {\n actions: [{\n actionGroupIds: [\"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1\"],\n actionType: \"AddActionGroups\",\n }],\n description: \"Add ActionGroup1 to all alerts in the subscription\",\n enabled: true,\n scopes: [\"/subscriptions/subId1\"],\n },\n resourceGroupName: \"alertscorrelationrg\",\n tags: {},\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nalert_processing_rule_by_name = azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\",\n alert_processing_rule_name=\"AddActionGroupToSubscription\",\n location=\"Global\",\n properties=azure_native.alertsmanagement.AlertProcessingRulePropertiesResponseArgs(\n actions=[azure_native.alertsmanagement.AddActionGroupsArgs(\n action_group_ids=[\"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1\"],\n action_type=\"AddActionGroups\",\n )],\n description=\"Add ActionGroup1 to all alerts in the subscription\",\n enabled=True,\n scopes=[\"/subscriptions/subId1\"],\n ),\n resource_group_name=\"alertscorrelationrg\",\n tags={})\n\n```\n\n```yaml\nresources:\n alertProcessingRuleByName:\n type: azure-native:alertsmanagement:AlertProcessingRuleByName\n properties:\n alertProcessingRuleName: AddActionGroupToSubscription\n location: Global\n properties:\n actions:\n - actionGroupIds:\n - /subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1\n actionType: AddActionGroups\n description: Add ActionGroup1 to all alerts in the subscription\n enabled: true\n scopes:\n - /subscriptions/subId1\n resourceGroupName: alertscorrelationrg\n tags: {}\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a rule that adds two action groups to all Sev0 and Sev1 alerts in two resource groups\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alertProcessingRuleByName = new AzureNative.AlertsManagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", new()\n {\n AlertProcessingRuleName = \"AddActionGroupsBySeverity\",\n Location = \"Global\",\n Properties = new AzureNative.AlertsManagement.Inputs.AlertProcessingRulePropertiesArgs\n {\n Actions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.AddActionGroupsArgs\n {\n ActionGroupIds = new[]\n {\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1\",\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2\",\n },\n ActionType = \"AddActionGroups\",\n },\n },\n Conditions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.ConditionArgs\n {\n Field = \"Severity\",\n Operator = \"Equals\",\n Values = new[]\n {\n \"sev0\",\n \"sev1\",\n },\n },\n },\n Description = \"Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups\",\n Enabled = true,\n Scopes = new[]\n {\n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\",\n },\n },\n ResourceGroupName = \"alertscorrelationrg\",\n Tags = null,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/alertsmanagement/v2\"\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 := alertsmanagement.NewAlertProcessingRuleByName(ctx, \"alertProcessingRuleByName\", \u0026alertsmanagement.AlertProcessingRuleByNameArgs{\n\t\t\tAlertProcessingRuleName: pulumi.String(\"AddActionGroupsBySeverity\"),\n\t\t\tLocation: pulumi.String(\"Global\"),\n\t\t\tProperties: alertsmanagement.AlertProcessingRulePropertiesResponse{\n\t\t\t\tActions: pulumi.Array{\n\t\t\t\t\talertsmanagement.AddActionGroups{\n\t\t\t\t\t\tActionGroupIds: []string{\n\t\t\t\t\t\t\t\"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1\",\n\t\t\t\t\t\t\t\"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tActionType: \"AddActionGroups\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tConditions: alertsmanagement.ConditionArray{\n\t\t\t\t\t\u0026alertsmanagement.ConditionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"Severity\"),\n\t\t\t\t\t\tOperator: pulumi.String(\"Equals\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"sev0\"),\n\t\t\t\t\t\t\tpulumi.String(\"sev1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/subscriptions/subId1/resourceGroups/RGId1\"),\n\t\t\t\t\tpulumi.String(\"/subscriptions/subId1/resourceGroups/RGId2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"alertscorrelationrg\"),\n\t\t\tTags: nil,\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.alertsmanagement.AlertProcessingRuleByName;\nimport com.pulumi.azurenative.alertsmanagement.AlertProcessingRuleByNameArgs;\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 alertProcessingRuleByName = new AlertProcessingRuleByName(\"alertProcessingRuleByName\", AlertProcessingRuleByNameArgs.builder() \n .alertProcessingRuleName(\"AddActionGroupsBySeverity\")\n .location(\"Global\")\n .properties(Map.ofEntries(\n Map.entry(\"actions\", Map.ofEntries(\n Map.entry(\"actionGroupIds\", \n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1\",\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2\"),\n Map.entry(\"actionType\", \"AddActionGroups\")\n )),\n Map.entry(\"conditions\", Map.ofEntries(\n Map.entry(\"field\", \"Severity\"),\n Map.entry(\"operator\", \"Equals\"),\n Map.entry(\"values\", \n \"sev0\",\n \"sev1\")\n )),\n Map.entry(\"description\", \"Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups\"),\n Map.entry(\"enabled\", true),\n Map.entry(\"scopes\", \n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\")\n ))\n .resourceGroupName(\"alertscorrelationrg\")\n .tags()\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 alertProcessingRuleByName = new azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", {\n alertProcessingRuleName: \"AddActionGroupsBySeverity\",\n location: \"Global\",\n properties: {\n actions: [{\n actionGroupIds: [\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1\",\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2\",\n ],\n actionType: \"AddActionGroups\",\n }],\n conditions: [{\n field: \"Severity\",\n operator: \"Equals\",\n values: [\n \"sev0\",\n \"sev1\",\n ],\n }],\n description: \"Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups\",\n enabled: true,\n scopes: [\n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\",\n ],\n },\n resourceGroupName: \"alertscorrelationrg\",\n tags: {},\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nalert_processing_rule_by_name = azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\",\n alert_processing_rule_name=\"AddActionGroupsBySeverity\",\n location=\"Global\",\n properties=azure_native.alertsmanagement.AlertProcessingRulePropertiesResponseArgs(\n actions=[azure_native.alertsmanagement.AddActionGroupsArgs(\n action_group_ids=[\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1\",\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2\",\n ],\n action_type=\"AddActionGroups\",\n )],\n conditions=[azure_native.alertsmanagement.ConditionArgs(\n field=\"Severity\",\n operator=\"Equals\",\n values=[\n \"sev0\",\n \"sev1\",\n ],\n )],\n description=\"Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups\",\n enabled=True,\n scopes=[\n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\",\n ],\n ),\n resource_group_name=\"alertscorrelationrg\",\n tags={})\n\n```\n\n```yaml\nresources:\n alertProcessingRuleByName:\n type: azure-native:alertsmanagement:AlertProcessingRuleByName\n properties:\n alertProcessingRuleName: AddActionGroupsBySeverity\n location: Global\n properties:\n actions:\n - actionGroupIds:\n - /subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1\n - /subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2\n actionType: AddActionGroups\n conditions:\n - field: Severity\n operator: Equals\n values:\n - sev0\n - sev1\n description: Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups\n enabled: true\n scopes:\n - /subscriptions/subId1/resourceGroups/RGId1\n - /subscriptions/subId1/resourceGroups/RGId2\n resourceGroupName: alertscorrelationrg\n tags: {}\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a rule that removes all action groups from alerts on a specific VM during a one-off maintenance window (1800-2000 at a specific date, Pacific Standard Time)\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alertProcessingRuleByName = new AzureNative.AlertsManagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", new()\n {\n AlertProcessingRuleName = \"RemoveActionGroupsMaintenanceWindow\",\n Location = \"Global\",\n Properties = new AzureNative.AlertsManagement.Inputs.AlertProcessingRulePropertiesArgs\n {\n Actions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.RemoveAllActionGroupsArgs\n {\n ActionType = \"RemoveAllActionGroups\",\n },\n },\n Description = \"Removes all ActionGroups from all Alerts on VMName during the maintenance window\",\n Enabled = true,\n Schedule = new AzureNative.AlertsManagement.Inputs.ScheduleArgs\n {\n EffectiveFrom = \"2021-04-15T18:00:00\",\n EffectiveUntil = \"2021-04-15T20:00:00\",\n TimeZone = \"Pacific Standard Time\",\n },\n Scopes = new[]\n {\n \"/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName\",\n },\n },\n ResourceGroupName = \"alertscorrelationrg\",\n Tags = null,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/alertsmanagement/v2\"\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 := alertsmanagement.NewAlertProcessingRuleByName(ctx, \"alertProcessingRuleByName\", \u0026alertsmanagement.AlertProcessingRuleByNameArgs{\n\t\t\tAlertProcessingRuleName: pulumi.String(\"RemoveActionGroupsMaintenanceWindow\"),\n\t\t\tLocation: pulumi.String(\"Global\"),\n\t\t\tProperties: alertsmanagement.AlertProcessingRulePropertiesResponse{\n\t\t\t\tActions: pulumi.Array{\n\t\t\t\t\talertsmanagement.RemoveAllActionGroups{\n\t\t\t\t\t\tActionType: \"RemoveAllActionGroups\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"Removes all ActionGroups from all Alerts on VMName during the maintenance window\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tSchedule: \u0026alertsmanagement.ScheduleArgs{\n\t\t\t\t\tEffectiveFrom: pulumi.String(\"2021-04-15T18:00:00\"),\n\t\t\t\t\tEffectiveUntil: pulumi.String(\"2021-04-15T20:00:00\"),\n\t\t\t\t\tTimeZone: pulumi.String(\"Pacific Standard Time\"),\n\t\t\t\t},\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"alertscorrelationrg\"),\n\t\t\tTags: nil,\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.alertsmanagement.AlertProcessingRuleByName;\nimport com.pulumi.azurenative.alertsmanagement.AlertProcessingRuleByNameArgs;\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 alertProcessingRuleByName = new AlertProcessingRuleByName(\"alertProcessingRuleByName\", AlertProcessingRuleByNameArgs.builder() \n .alertProcessingRuleName(\"RemoveActionGroupsMaintenanceWindow\")\n .location(\"Global\")\n .properties(Map.ofEntries(\n Map.entry(\"actions\", Map.of(\"actionType\", \"RemoveAllActionGroups\")),\n Map.entry(\"description\", \"Removes all ActionGroups from all Alerts on VMName during the maintenance window\"),\n Map.entry(\"enabled\", true),\n Map.entry(\"schedule\", Map.ofEntries(\n Map.entry(\"effectiveFrom\", \"2021-04-15T18:00:00\"),\n Map.entry(\"effectiveUntil\", \"2021-04-15T20:00:00\"),\n Map.entry(\"timeZone\", \"Pacific Standard Time\")\n )),\n Map.entry(\"scopes\", \"/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName\")\n ))\n .resourceGroupName(\"alertscorrelationrg\")\n .tags()\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 alertProcessingRuleByName = new azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", {\n alertProcessingRuleName: \"RemoveActionGroupsMaintenanceWindow\",\n location: \"Global\",\n properties: {\n actions: [{\n actionType: \"RemoveAllActionGroups\",\n }],\n description: \"Removes all ActionGroups from all Alerts on VMName during the maintenance window\",\n enabled: true,\n schedule: {\n effectiveFrom: \"2021-04-15T18:00:00\",\n effectiveUntil: \"2021-04-15T20:00:00\",\n timeZone: \"Pacific Standard Time\",\n },\n scopes: [\"/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName\"],\n },\n resourceGroupName: \"alertscorrelationrg\",\n tags: {},\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nalert_processing_rule_by_name = azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\",\n alert_processing_rule_name=\"RemoveActionGroupsMaintenanceWindow\",\n location=\"Global\",\n properties=azure_native.alertsmanagement.AlertProcessingRulePropertiesResponseArgs(\n actions=[azure_native.alertsmanagement.RemoveAllActionGroupsArgs(\n action_type=\"RemoveAllActionGroups\",\n )],\n description=\"Removes all ActionGroups from all Alerts on VMName during the maintenance window\",\n enabled=True,\n schedule=azure_native.alertsmanagement.ScheduleArgs(\n effective_from=\"2021-04-15T18:00:00\",\n effective_until=\"2021-04-15T20:00:00\",\n time_zone=\"Pacific Standard Time\",\n ),\n scopes=[\"/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName\"],\n ),\n resource_group_name=\"alertscorrelationrg\",\n tags={})\n\n```\n\n```yaml\nresources:\n alertProcessingRuleByName:\n type: azure-native:alertsmanagement:AlertProcessingRuleByName\n properties:\n alertProcessingRuleName: RemoveActionGroupsMaintenanceWindow\n location: Global\n properties:\n actions:\n - actionType: RemoveAllActionGroups\n description: Removes all ActionGroups from all Alerts on VMName during the maintenance window\n enabled: true\n schedule:\n effectiveFrom: 2021-04-15T18:00:00\n effectiveUntil: 2021-04-15T20:00:00\n timeZone: Pacific Standard Time\n scopes:\n - /subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName\n resourceGroupName: alertscorrelationrg\n tags: {}\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a rule that removes all action groups from all alerts in a subscription coming from a specific alert rule\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alertProcessingRuleByName = new AzureNative.AlertsManagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", new()\n {\n AlertProcessingRuleName = \"RemoveActionGroupsSpecificAlertRule\",\n Location = \"Global\",\n Properties = new AzureNative.AlertsManagement.Inputs.AlertProcessingRulePropertiesArgs\n {\n Actions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.RemoveAllActionGroupsArgs\n {\n ActionType = \"RemoveAllActionGroups\",\n },\n },\n Conditions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.ConditionArgs\n {\n Field = \"AlertRuleId\",\n Operator = \"Equals\",\n Values = new[]\n {\n \"/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName\",\n },\n },\n },\n Description = \"Removes all ActionGroups from all Alerts that fire on above AlertRule\",\n Enabled = true,\n Scopes = new[]\n {\n \"/subscriptions/subId1\",\n },\n },\n ResourceGroupName = \"alertscorrelationrg\",\n Tags = null,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/alertsmanagement/v2\"\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 := alertsmanagement.NewAlertProcessingRuleByName(ctx, \"alertProcessingRuleByName\", \u0026alertsmanagement.AlertProcessingRuleByNameArgs{\n\t\t\tAlertProcessingRuleName: pulumi.String(\"RemoveActionGroupsSpecificAlertRule\"),\n\t\t\tLocation: pulumi.String(\"Global\"),\n\t\t\tProperties: alertsmanagement.AlertProcessingRulePropertiesResponse{\n\t\t\t\tActions: pulumi.Array{\n\t\t\t\t\talertsmanagement.RemoveAllActionGroups{\n\t\t\t\t\t\tActionType: \"RemoveAllActionGroups\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tConditions: alertsmanagement.ConditionArray{\n\t\t\t\t\t\u0026alertsmanagement.ConditionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"AlertRuleId\"),\n\t\t\t\t\t\tOperator: pulumi.String(\"Equals\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"Removes all ActionGroups from all Alerts that fire on above AlertRule\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/subscriptions/subId1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"alertscorrelationrg\"),\n\t\t\tTags: nil,\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.alertsmanagement.AlertProcessingRuleByName;\nimport com.pulumi.azurenative.alertsmanagement.AlertProcessingRuleByNameArgs;\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 alertProcessingRuleByName = new AlertProcessingRuleByName(\"alertProcessingRuleByName\", AlertProcessingRuleByNameArgs.builder() \n .alertProcessingRuleName(\"RemoveActionGroupsSpecificAlertRule\")\n .location(\"Global\")\n .properties(Map.ofEntries(\n Map.entry(\"actions\", Map.of(\"actionType\", \"RemoveAllActionGroups\")),\n Map.entry(\"conditions\", Map.ofEntries(\n Map.entry(\"field\", \"AlertRuleId\"),\n Map.entry(\"operator\", \"Equals\"),\n Map.entry(\"values\", \"/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName\")\n )),\n Map.entry(\"description\", \"Removes all ActionGroups from all Alerts that fire on above AlertRule\"),\n Map.entry(\"enabled\", true),\n Map.entry(\"scopes\", \"/subscriptions/subId1\")\n ))\n .resourceGroupName(\"alertscorrelationrg\")\n .tags()\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 alertProcessingRuleByName = new azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", {\n alertProcessingRuleName: \"RemoveActionGroupsSpecificAlertRule\",\n location: \"Global\",\n properties: {\n actions: [{\n actionType: \"RemoveAllActionGroups\",\n }],\n conditions: [{\n field: \"AlertRuleId\",\n operator: \"Equals\",\n values: [\"/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName\"],\n }],\n description: \"Removes all ActionGroups from all Alerts that fire on above AlertRule\",\n enabled: true,\n scopes: [\"/subscriptions/subId1\"],\n },\n resourceGroupName: \"alertscorrelationrg\",\n tags: {},\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nalert_processing_rule_by_name = azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\",\n alert_processing_rule_name=\"RemoveActionGroupsSpecificAlertRule\",\n location=\"Global\",\n properties=azure_native.alertsmanagement.AlertProcessingRulePropertiesResponseArgs(\n actions=[azure_native.alertsmanagement.RemoveAllActionGroupsArgs(\n action_type=\"RemoveAllActionGroups\",\n )],\n conditions=[azure_native.alertsmanagement.ConditionArgs(\n field=\"AlertRuleId\",\n operator=\"Equals\",\n values=[\"/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName\"],\n )],\n description=\"Removes all ActionGroups from all Alerts that fire on above AlertRule\",\n enabled=True,\n scopes=[\"/subscriptions/subId1\"],\n ),\n resource_group_name=\"alertscorrelationrg\",\n tags={})\n\n```\n\n```yaml\nresources:\n alertProcessingRuleByName:\n type: azure-native:alertsmanagement:AlertProcessingRuleByName\n properties:\n alertProcessingRuleName: RemoveActionGroupsSpecificAlertRule\n location: Global\n properties:\n actions:\n - actionType: RemoveAllActionGroups\n conditions:\n - field: AlertRuleId\n operator: Equals\n values:\n - /subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName\n description: Removes all ActionGroups from all Alerts that fire on above AlertRule\n enabled: true\n scopes:\n - /subscriptions/subId1\n resourceGroupName: alertscorrelationrg\n tags: {}\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a rule that removes all action groups from all alerts on any VM in two resource groups during a recurring maintenance window (2200-0400 every Sat and Sun, India Standard Time)\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alertProcessingRuleByName = new AzureNative.AlertsManagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", new()\n {\n AlertProcessingRuleName = \"RemoveActionGroupsRecurringMaintenance\",\n Location = \"Global\",\n Properties = new AzureNative.AlertsManagement.Inputs.AlertProcessingRulePropertiesArgs\n {\n Actions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.RemoveAllActionGroupsArgs\n {\n ActionType = \"RemoveAllActionGroups\",\n },\n },\n Conditions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.ConditionArgs\n {\n Field = \"TargetResourceType\",\n Operator = \"Equals\",\n Values = new[]\n {\n \"microsoft.compute/virtualmachines\",\n },\n },\n },\n Description = \"Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance\",\n Enabled = true,\n Schedule = new AzureNative.AlertsManagement.Inputs.ScheduleArgs\n {\n Recurrences = new[]\n {\n new AzureNative.AlertsManagement.Inputs.WeeklyRecurrenceArgs\n {\n DaysOfWeek = new[]\n {\n \"Saturday\",\n \"Sunday\",\n },\n EndTime = \"04:00:00\",\n RecurrenceType = \"Weekly\",\n StartTime = \"22:00:00\",\n },\n },\n TimeZone = \"India Standard Time\",\n },\n Scopes = new[]\n {\n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\",\n },\n },\n ResourceGroupName = \"alertscorrelationrg\",\n Tags = null,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/alertsmanagement/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := alertsmanagement.NewAlertProcessingRuleByName(ctx, \"alertProcessingRuleByName\", \u0026alertsmanagement.AlertProcessingRuleByNameArgs{\nAlertProcessingRuleName: pulumi.String(\"RemoveActionGroupsRecurringMaintenance\"),\nLocation: pulumi.String(\"Global\"),\nProperties: alertsmanagement.AlertProcessingRulePropertiesResponse{\nActions: pulumi.Array{\nalertsmanagement.RemoveAllActionGroups{\nActionType: \"RemoveAllActionGroups\",\n},\n},\nConditions: alertsmanagement.ConditionArray{\n\u0026alertsmanagement.ConditionArgs{\nField: pulumi.String(\"TargetResourceType\"),\nOperator: pulumi.String(\"Equals\"),\nValues: pulumi.StringArray{\npulumi.String(\"microsoft.compute/virtualmachines\"),\n},\n},\n},\nDescription: pulumi.String(\"Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance\"),\nEnabled: pulumi.Bool(true),\nSchedule: interface{}{\nRecurrences: pulumi.Array{\nalertsmanagement.WeeklyRecurrence{\nDaysOfWeek: []alertsmanagement.DaysOfWeek{\n\"Saturday\",\n\"Sunday\",\n},\nEndTime: \"04:00:00\",\nRecurrenceType: \"Weekly\",\nStartTime: \"22:00:00\",\n},\n},\nTimeZone: pulumi.String(\"India Standard Time\"),\n},\nScopes: pulumi.StringArray{\npulumi.String(\"/subscriptions/subId1/resourceGroups/RGId1\"),\npulumi.String(\"/subscriptions/subId1/resourceGroups/RGId2\"),\n},\n},\nResourceGroupName: pulumi.String(\"alertscorrelationrg\"),\nTags: nil,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.alertsmanagement.AlertProcessingRuleByName;\nimport com.pulumi.azurenative.alertsmanagement.AlertProcessingRuleByNameArgs;\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 alertProcessingRuleByName = new AlertProcessingRuleByName(\"alertProcessingRuleByName\", AlertProcessingRuleByNameArgs.builder() \n .alertProcessingRuleName(\"RemoveActionGroupsRecurringMaintenance\")\n .location(\"Global\")\n .properties(Map.ofEntries(\n Map.entry(\"actions\", Map.of(\"actionType\", \"RemoveAllActionGroups\")),\n Map.entry(\"conditions\", Map.ofEntries(\n Map.entry(\"field\", \"TargetResourceType\"),\n Map.entry(\"operator\", \"Equals\"),\n Map.entry(\"values\", \"microsoft.compute/virtualmachines\")\n )),\n Map.entry(\"description\", \"Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance\"),\n Map.entry(\"enabled\", true),\n Map.entry(\"schedule\", Map.ofEntries(\n Map.entry(\"recurrences\", Map.ofEntries(\n Map.entry(\"daysOfWeek\", \n \"Saturday\",\n \"Sunday\"),\n Map.entry(\"endTime\", \"04:00:00\"),\n Map.entry(\"recurrenceType\", \"Weekly\"),\n Map.entry(\"startTime\", \"22:00:00\")\n )),\n Map.entry(\"timeZone\", \"India Standard Time\")\n )),\n Map.entry(\"scopes\", \n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\")\n ))\n .resourceGroupName(\"alertscorrelationrg\")\n .tags()\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 alertProcessingRuleByName = new azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", {\n alertProcessingRuleName: \"RemoveActionGroupsRecurringMaintenance\",\n location: \"Global\",\n properties: {\n actions: [{\n actionType: \"RemoveAllActionGroups\",\n }],\n conditions: [{\n field: \"TargetResourceType\",\n operator: \"Equals\",\n values: [\"microsoft.compute/virtualmachines\"],\n }],\n description: \"Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance\",\n enabled: true,\n schedule: {\n recurrences: [{\n daysOfWeek: [\n \"Saturday\",\n \"Sunday\",\n ],\n endTime: \"04:00:00\",\n recurrenceType: \"Weekly\",\n startTime: \"22:00:00\",\n }],\n timeZone: \"India Standard Time\",\n },\n scopes: [\n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\",\n ],\n },\n resourceGroupName: \"alertscorrelationrg\",\n tags: {},\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nalert_processing_rule_by_name = azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\",\n alert_processing_rule_name=\"RemoveActionGroupsRecurringMaintenance\",\n location=\"Global\",\n properties=azure_native.alertsmanagement.AlertProcessingRulePropertiesResponseArgs(\n actions=[azure_native.alertsmanagement.RemoveAllActionGroupsArgs(\n action_type=\"RemoveAllActionGroups\",\n )],\n conditions=[azure_native.alertsmanagement.ConditionArgs(\n field=\"TargetResourceType\",\n operator=\"Equals\",\n values=[\"microsoft.compute/virtualmachines\"],\n )],\n description=\"Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance\",\n enabled=True,\n schedule={\n \"recurrences\": [azure_native.alertsmanagement.WeeklyRecurrenceArgs(\n days_of_week=[\n \"Saturday\",\n \"Sunday\",\n ],\n end_time=\"04:00:00\",\n recurrence_type=\"Weekly\",\n start_time=\"22:00:00\",\n )],\n \"timeZone\": \"India Standard Time\",\n },\n scopes=[\n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\",\n ],\n ),\n resource_group_name=\"alertscorrelationrg\",\n tags={})\n\n```\n\n```yaml\nresources:\n alertProcessingRuleByName:\n type: azure-native:alertsmanagement:AlertProcessingRuleByName\n properties:\n alertProcessingRuleName: RemoveActionGroupsRecurringMaintenance\n location: Global\n properties:\n actions:\n - actionType: RemoveAllActionGroups\n conditions:\n - field: TargetResourceType\n operator: Equals\n values:\n - microsoft.compute/virtualmachines\n description: Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance\n enabled: true\n schedule:\n recurrences:\n - daysOfWeek:\n - Saturday\n - Sunday\n endTime: 04:00:00\n recurrenceType: Weekly\n startTime: 22:00:00\n timeZone: India Standard Time\n scopes:\n - /subscriptions/subId1/resourceGroups/RGId1\n - /subscriptions/subId1/resourceGroups/RGId2\n resourceGroupName: alertscorrelationrg\n tags: {}\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a rule that removes all action groups outside business hours (Mon-Fri 09:00-17:00, Eastern Standard Time)\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alertProcessingRuleByName = new AzureNative.AlertsManagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", new()\n {\n AlertProcessingRuleName = \"RemoveActionGroupsOutsideBusinessHours\",\n Location = \"Global\",\n Properties = new AzureNative.AlertsManagement.Inputs.AlertProcessingRulePropertiesArgs\n {\n Actions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.RemoveAllActionGroupsArgs\n {\n ActionType = \"RemoveAllActionGroups\",\n },\n },\n Description = \"Remove all ActionGroups outside business hours\",\n Enabled = true,\n Schedule = new AzureNative.AlertsManagement.Inputs.ScheduleArgs\n {\n Recurrences = \n {\n new AzureNative.AlertsManagement.Inputs.DailyRecurrenceArgs\n {\n EndTime = \"09:00:00\",\n RecurrenceType = \"Daily\",\n StartTime = \"17:00:00\",\n },\n new AzureNative.AlertsManagement.Inputs.WeeklyRecurrenceArgs\n {\n DaysOfWeek = new[]\n {\n \"Saturday\",\n \"Sunday\",\n },\n RecurrenceType = \"Weekly\",\n },\n },\n TimeZone = \"Eastern Standard Time\",\n },\n Scopes = new[]\n {\n \"/subscriptions/subId1\",\n },\n },\n ResourceGroupName = \"alertscorrelationrg\",\n Tags = null,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/alertsmanagement/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := alertsmanagement.NewAlertProcessingRuleByName(ctx, \"alertProcessingRuleByName\", \u0026alertsmanagement.AlertProcessingRuleByNameArgs{\nAlertProcessingRuleName: pulumi.String(\"RemoveActionGroupsOutsideBusinessHours\"),\nLocation: pulumi.String(\"Global\"),\nProperties: alertsmanagement.AlertProcessingRulePropertiesResponse{\nActions: pulumi.Array{\nalertsmanagement.RemoveAllActionGroups{\nActionType: \"RemoveAllActionGroups\",\n},\n},\nDescription: pulumi.String(\"Remove all ActionGroups outside business hours\"),\nEnabled: pulumi.Bool(true),\nSchedule: interface{}{\nRecurrences: pulumi.Array{\nalertsmanagement.DailyRecurrence{\nEndTime: \"09:00:00\",\nRecurrenceType: \"Daily\",\nStartTime: \"17:00:00\",\n},\nalertsmanagement.WeeklyRecurrence{\nDaysOfWeek: []alertsmanagement.DaysOfWeek{\n\"Saturday\",\n\"Sunday\",\n},\nRecurrenceType: \"Weekly\",\n},\n},\nTimeZone: pulumi.String(\"Eastern Standard Time\"),\n},\nScopes: pulumi.StringArray{\npulumi.String(\"/subscriptions/subId1\"),\n},\n},\nResourceGroupName: pulumi.String(\"alertscorrelationrg\"),\nTags: nil,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.alertsmanagement.AlertProcessingRuleByName;\nimport com.pulumi.azurenative.alertsmanagement.AlertProcessingRuleByNameArgs;\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 alertProcessingRuleByName = new AlertProcessingRuleByName(\"alertProcessingRuleByName\", AlertProcessingRuleByNameArgs.builder() \n .alertProcessingRuleName(\"RemoveActionGroupsOutsideBusinessHours\")\n .location(\"Global\")\n .properties(Map.ofEntries(\n Map.entry(\"actions\", Map.of(\"actionType\", \"RemoveAllActionGroups\")),\n Map.entry(\"description\", \"Remove all ActionGroups outside business hours\"),\n Map.entry(\"enabled\", true),\n Map.entry(\"schedule\", Map.ofEntries(\n Map.entry(\"recurrences\", \n Map.ofEntries(\n Map.entry(\"endTime\", \"09:00:00\"),\n Map.entry(\"recurrenceType\", \"Daily\"),\n Map.entry(\"startTime\", \"17:00:00\")\n ),\n Map.ofEntries(\n Map.entry(\"daysOfWeek\", \n \"Saturday\",\n \"Sunday\"),\n Map.entry(\"recurrenceType\", \"Weekly\")\n )),\n Map.entry(\"timeZone\", \"Eastern Standard Time\")\n )),\n Map.entry(\"scopes\", \"/subscriptions/subId1\")\n ))\n .resourceGroupName(\"alertscorrelationrg\")\n .tags()\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 alertProcessingRuleByName = new azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", {\n alertProcessingRuleName: \"RemoveActionGroupsOutsideBusinessHours\",\n location: \"Global\",\n properties: {\n actions: [{\n actionType: \"RemoveAllActionGroups\",\n }],\n description: \"Remove all ActionGroups outside business hours\",\n enabled: true,\n schedule: {\n recurrences: [\n {\n endTime: \"09:00:00\",\n recurrenceType: \"Daily\",\n startTime: \"17:00:00\",\n },\n {\n daysOfWeek: [\n \"Saturday\",\n \"Sunday\",\n ],\n recurrenceType: \"Weekly\",\n },\n ],\n timeZone: \"Eastern Standard Time\",\n },\n scopes: [\"/subscriptions/subId1\"],\n },\n resourceGroupName: \"alertscorrelationrg\",\n tags: {},\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nalert_processing_rule_by_name = azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\",\n alert_processing_rule_name=\"RemoveActionGroupsOutsideBusinessHours\",\n location=\"Global\",\n properties=azure_native.alertsmanagement.AlertProcessingRulePropertiesResponseArgs(\n actions=[azure_native.alertsmanagement.RemoveAllActionGroupsArgs(\n action_type=\"RemoveAllActionGroups\",\n )],\n description=\"Remove all ActionGroups outside business hours\",\n enabled=True,\n schedule={\n \"recurrences\": [\n azure_native.alertsmanagement.DailyRecurrenceArgs(\n end_time=\"09:00:00\",\n recurrence_type=\"Daily\",\n start_time=\"17:00:00\",\n ),\n azure_native.alertsmanagement.WeeklyRecurrenceArgs(\n days_of_week=[\n \"Saturday\",\n \"Sunday\",\n ],\n recurrence_type=\"Weekly\",\n ),\n ],\n \"timeZone\": \"Eastern Standard Time\",\n },\n scopes=[\"/subscriptions/subId1\"],\n ),\n resource_group_name=\"alertscorrelationrg\",\n tags={})\n\n```\n\n```yaml\nresources:\n alertProcessingRuleByName:\n type: azure-native:alertsmanagement:AlertProcessingRuleByName\n properties:\n alertProcessingRuleName: RemoveActionGroupsOutsideBusinessHours\n location: Global\n properties:\n actions:\n - actionType: RemoveAllActionGroups\n description: Remove all ActionGroups outside business hours\n enabled: true\n schedule:\n recurrences:\n - endTime: 09:00:00\n recurrenceType: Daily\n startTime: 17:00:00\n - daysOfWeek:\n - Saturday\n - Sunday\n recurrenceType: Weekly\n timeZone: Eastern Standard Time\n scopes:\n - /subscriptions/subId1\n resourceGroupName: alertscorrelationrg\n tags: {}\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:alertsmanagement:AlertProcessingRuleByName RemoveActionGroupsOutsideBusinessHours /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{alertProcessingRuleName} \n```\n", + "description": "Alert processing rule object containing target scopes, conditions and scheduling logic.\nAzure REST API version: 2021-08-08.\n\nOther available API versions: 2023-05-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create or update a rule that adds an action group to all alerts in a subscription\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alertProcessingRuleByName = new AzureNative.AlertsManagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", new()\n {\n AlertProcessingRuleName = \"AddActionGroupToSubscription\",\n Location = \"Global\",\n Properties = new AzureNative.AlertsManagement.Inputs.AlertProcessingRulePropertiesArgs\n {\n Actions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.AddActionGroupsArgs\n {\n ActionGroupIds = new[]\n {\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1\",\n },\n ActionType = \"AddActionGroups\",\n },\n },\n Description = \"Add ActionGroup1 to all alerts in the subscription\",\n Enabled = true,\n Scopes = new[]\n {\n \"/subscriptions/subId1\",\n },\n },\n ResourceGroupName = \"alertscorrelationrg\",\n Tags = null,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/alertsmanagement/v2\"\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 := alertsmanagement.NewAlertProcessingRuleByName(ctx, \"alertProcessingRuleByName\", \u0026alertsmanagement.AlertProcessingRuleByNameArgs{\n\t\t\tAlertProcessingRuleName: pulumi.String(\"AddActionGroupToSubscription\"),\n\t\t\tLocation: pulumi.String(\"Global\"),\n\t\t\tProperties: alertsmanagement.AlertProcessingRulePropertiesResponse{\n\t\t\t\tActions: pulumi.Array{\n\t\t\t\t\talertsmanagement.AddActionGroups{\n\t\t\t\t\t\tActionGroupIds: []string{\n\t\t\t\t\t\t\t\"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tActionType: \"AddActionGroups\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"Add ActionGroup1 to all alerts in the subscription\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/subscriptions/subId1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"alertscorrelationrg\"),\n\t\t\tTags: nil,\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.alertsmanagement.AlertProcessingRuleByName;\nimport com.pulumi.azurenative.alertsmanagement.AlertProcessingRuleByNameArgs;\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 alertProcessingRuleByName = new AlertProcessingRuleByName(\"alertProcessingRuleByName\", AlertProcessingRuleByNameArgs.builder() \n .alertProcessingRuleName(\"AddActionGroupToSubscription\")\n .location(\"Global\")\n .properties(Map.ofEntries(\n Map.entry(\"actions\", Map.ofEntries(\n Map.entry(\"actionGroupIds\", \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1\"),\n Map.entry(\"actionType\", \"AddActionGroups\")\n )),\n Map.entry(\"description\", \"Add ActionGroup1 to all alerts in the subscription\"),\n Map.entry(\"enabled\", true),\n Map.entry(\"scopes\", \"/subscriptions/subId1\")\n ))\n .resourceGroupName(\"alertscorrelationrg\")\n .tags()\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 alertProcessingRuleByName = new azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", {\n alertProcessingRuleName: \"AddActionGroupToSubscription\",\n location: \"Global\",\n properties: {\n actions: [{\n actionGroupIds: [\"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1\"],\n actionType: \"AddActionGroups\",\n }],\n description: \"Add ActionGroup1 to all alerts in the subscription\",\n enabled: true,\n scopes: [\"/subscriptions/subId1\"],\n },\n resourceGroupName: \"alertscorrelationrg\",\n tags: {},\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nalert_processing_rule_by_name = azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\",\n alert_processing_rule_name=\"AddActionGroupToSubscription\",\n location=\"Global\",\n properties=azure_native.alertsmanagement.AlertProcessingRulePropertiesResponseArgs(\n actions=[azure_native.alertsmanagement.AddActionGroupsArgs(\n action_group_ids=[\"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1\"],\n action_type=\"AddActionGroups\",\n )],\n description=\"Add ActionGroup1 to all alerts in the subscription\",\n enabled=True,\n scopes=[\"/subscriptions/subId1\"],\n ),\n resource_group_name=\"alertscorrelationrg\",\n tags={})\n\n```\n\n```yaml\nresources:\n alertProcessingRuleByName:\n type: azure-native:alertsmanagement:AlertProcessingRuleByName\n properties:\n alertProcessingRuleName: AddActionGroupToSubscription\n location: Global\n properties:\n actions:\n - actionGroupIds:\n - /subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1\n actionType: AddActionGroups\n description: Add ActionGroup1 to all alerts in the subscription\n enabled: true\n scopes:\n - /subscriptions/subId1\n resourceGroupName: alertscorrelationrg\n tags: {}\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a rule that adds two action groups to all Sev0 and Sev1 alerts in two resource groups\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alertProcessingRuleByName = new AzureNative.AlertsManagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", new()\n {\n AlertProcessingRuleName = \"AddActionGroupsBySeverity\",\n Location = \"Global\",\n Properties = new AzureNative.AlertsManagement.Inputs.AlertProcessingRulePropertiesArgs\n {\n Actions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.AddActionGroupsArgs\n {\n ActionGroupIds = new[]\n {\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1\",\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2\",\n },\n ActionType = \"AddActionGroups\",\n },\n },\n Conditions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.ConditionArgs\n {\n Field = \"Severity\",\n Operator = \"Equals\",\n Values = new[]\n {\n \"sev0\",\n \"sev1\",\n },\n },\n },\n Description = \"Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups\",\n Enabled = true,\n Scopes = new[]\n {\n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\",\n },\n },\n ResourceGroupName = \"alertscorrelationrg\",\n Tags = null,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/alertsmanagement/v2\"\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 := alertsmanagement.NewAlertProcessingRuleByName(ctx, \"alertProcessingRuleByName\", \u0026alertsmanagement.AlertProcessingRuleByNameArgs{\n\t\t\tAlertProcessingRuleName: pulumi.String(\"AddActionGroupsBySeverity\"),\n\t\t\tLocation: pulumi.String(\"Global\"),\n\t\t\tProperties: alertsmanagement.AlertProcessingRulePropertiesResponse{\n\t\t\t\tActions: pulumi.Array{\n\t\t\t\t\talertsmanagement.AddActionGroups{\n\t\t\t\t\t\tActionGroupIds: []string{\n\t\t\t\t\t\t\t\"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1\",\n\t\t\t\t\t\t\t\"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tActionType: \"AddActionGroups\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tConditions: alertsmanagement.ConditionArray{\n\t\t\t\t\t\u0026alertsmanagement.ConditionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"Severity\"),\n\t\t\t\t\t\tOperator: pulumi.String(\"Equals\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"sev0\"),\n\t\t\t\t\t\t\tpulumi.String(\"sev1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/subscriptions/subId1/resourceGroups/RGId1\"),\n\t\t\t\t\tpulumi.String(\"/subscriptions/subId1/resourceGroups/RGId2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"alertscorrelationrg\"),\n\t\t\tTags: nil,\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.alertsmanagement.AlertProcessingRuleByName;\nimport com.pulumi.azurenative.alertsmanagement.AlertProcessingRuleByNameArgs;\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 alertProcessingRuleByName = new AlertProcessingRuleByName(\"alertProcessingRuleByName\", AlertProcessingRuleByNameArgs.builder() \n .alertProcessingRuleName(\"AddActionGroupsBySeverity\")\n .location(\"Global\")\n .properties(Map.ofEntries(\n Map.entry(\"actions\", Map.ofEntries(\n Map.entry(\"actionGroupIds\", \n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1\",\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2\"),\n Map.entry(\"actionType\", \"AddActionGroups\")\n )),\n Map.entry(\"conditions\", Map.ofEntries(\n Map.entry(\"field\", \"Severity\"),\n Map.entry(\"operator\", \"Equals\"),\n Map.entry(\"values\", \n \"sev0\",\n \"sev1\")\n )),\n Map.entry(\"description\", \"Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups\"),\n Map.entry(\"enabled\", true),\n Map.entry(\"scopes\", \n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\")\n ))\n .resourceGroupName(\"alertscorrelationrg\")\n .tags()\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 alertProcessingRuleByName = new azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", {\n alertProcessingRuleName: \"AddActionGroupsBySeverity\",\n location: \"Global\",\n properties: {\n actions: [{\n actionGroupIds: [\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1\",\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2\",\n ],\n actionType: \"AddActionGroups\",\n }],\n conditions: [{\n field: \"Severity\",\n operator: \"Equals\",\n values: [\n \"sev0\",\n \"sev1\",\n ],\n }],\n description: \"Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups\",\n enabled: true,\n scopes: [\n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\",\n ],\n },\n resourceGroupName: \"alertscorrelationrg\",\n tags: {},\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nalert_processing_rule_by_name = azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\",\n alert_processing_rule_name=\"AddActionGroupsBySeverity\",\n location=\"Global\",\n properties=azure_native.alertsmanagement.AlertProcessingRulePropertiesResponseArgs(\n actions=[azure_native.alertsmanagement.AddActionGroupsArgs(\n action_group_ids=[\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1\",\n \"/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2\",\n ],\n action_type=\"AddActionGroups\",\n )],\n conditions=[azure_native.alertsmanagement.ConditionArgs(\n field=\"Severity\",\n operator=\"Equals\",\n values=[\n \"sev0\",\n \"sev1\",\n ],\n )],\n description=\"Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups\",\n enabled=True,\n scopes=[\n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\",\n ],\n ),\n resource_group_name=\"alertscorrelationrg\",\n tags={})\n\n```\n\n```yaml\nresources:\n alertProcessingRuleByName:\n type: azure-native:alertsmanagement:AlertProcessingRuleByName\n properties:\n alertProcessingRuleName: AddActionGroupsBySeverity\n location: Global\n properties:\n actions:\n - actionGroupIds:\n - /subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1\n - /subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2\n actionType: AddActionGroups\n conditions:\n - field: Severity\n operator: Equals\n values:\n - sev0\n - sev1\n description: Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups\n enabled: true\n scopes:\n - /subscriptions/subId1/resourceGroups/RGId1\n - /subscriptions/subId1/resourceGroups/RGId2\n resourceGroupName: alertscorrelationrg\n tags: {}\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a rule that removes all action groups from alerts on a specific VM during a one-off maintenance window (1800-2000 at a specific date, Pacific Standard Time)\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alertProcessingRuleByName = new AzureNative.AlertsManagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", new()\n {\n AlertProcessingRuleName = \"RemoveActionGroupsMaintenanceWindow\",\n Location = \"Global\",\n Properties = new AzureNative.AlertsManagement.Inputs.AlertProcessingRulePropertiesArgs\n {\n Actions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.RemoveAllActionGroupsArgs\n {\n ActionType = \"RemoveAllActionGroups\",\n },\n },\n Description = \"Removes all ActionGroups from all Alerts on VMName during the maintenance window\",\n Enabled = true,\n Schedule = new AzureNative.AlertsManagement.Inputs.ScheduleArgs\n {\n EffectiveFrom = \"2021-04-15T18:00:00\",\n EffectiveUntil = \"2021-04-15T20:00:00\",\n TimeZone = \"Pacific Standard Time\",\n },\n Scopes = new[]\n {\n \"/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName\",\n },\n },\n ResourceGroupName = \"alertscorrelationrg\",\n Tags = null,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/alertsmanagement/v2\"\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 := alertsmanagement.NewAlertProcessingRuleByName(ctx, \"alertProcessingRuleByName\", \u0026alertsmanagement.AlertProcessingRuleByNameArgs{\n\t\t\tAlertProcessingRuleName: pulumi.String(\"RemoveActionGroupsMaintenanceWindow\"),\n\t\t\tLocation: pulumi.String(\"Global\"),\n\t\t\tProperties: alertsmanagement.AlertProcessingRulePropertiesResponse{\n\t\t\t\tActions: pulumi.Array{\n\t\t\t\t\talertsmanagement.RemoveAllActionGroups{\n\t\t\t\t\t\tActionType: \"RemoveAllActionGroups\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"Removes all ActionGroups from all Alerts on VMName during the maintenance window\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tSchedule: \u0026alertsmanagement.ScheduleArgs{\n\t\t\t\t\tEffectiveFrom: pulumi.String(\"2021-04-15T18:00:00\"),\n\t\t\t\t\tEffectiveUntil: pulumi.String(\"2021-04-15T20:00:00\"),\n\t\t\t\t\tTimeZone: pulumi.String(\"Pacific Standard Time\"),\n\t\t\t\t},\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"alertscorrelationrg\"),\n\t\t\tTags: nil,\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.alertsmanagement.AlertProcessingRuleByName;\nimport com.pulumi.azurenative.alertsmanagement.AlertProcessingRuleByNameArgs;\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 alertProcessingRuleByName = new AlertProcessingRuleByName(\"alertProcessingRuleByName\", AlertProcessingRuleByNameArgs.builder() \n .alertProcessingRuleName(\"RemoveActionGroupsMaintenanceWindow\")\n .location(\"Global\")\n .properties(Map.ofEntries(\n Map.entry(\"actions\", Map.of(\"actionType\", \"RemoveAllActionGroups\")),\n Map.entry(\"description\", \"Removes all ActionGroups from all Alerts on VMName during the maintenance window\"),\n Map.entry(\"enabled\", true),\n Map.entry(\"schedule\", Map.ofEntries(\n Map.entry(\"effectiveFrom\", \"2021-04-15T18:00:00\"),\n Map.entry(\"effectiveUntil\", \"2021-04-15T20:00:00\"),\n Map.entry(\"timeZone\", \"Pacific Standard Time\")\n )),\n Map.entry(\"scopes\", \"/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName\")\n ))\n .resourceGroupName(\"alertscorrelationrg\")\n .tags()\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 alertProcessingRuleByName = new azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", {\n alertProcessingRuleName: \"RemoveActionGroupsMaintenanceWindow\",\n location: \"Global\",\n properties: {\n actions: [{\n actionType: \"RemoveAllActionGroups\",\n }],\n description: \"Removes all ActionGroups from all Alerts on VMName during the maintenance window\",\n enabled: true,\n schedule: {\n effectiveFrom: \"2021-04-15T18:00:00\",\n effectiveUntil: \"2021-04-15T20:00:00\",\n timeZone: \"Pacific Standard Time\",\n },\n scopes: [\"/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName\"],\n },\n resourceGroupName: \"alertscorrelationrg\",\n tags: {},\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nalert_processing_rule_by_name = azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\",\n alert_processing_rule_name=\"RemoveActionGroupsMaintenanceWindow\",\n location=\"Global\",\n properties=azure_native.alertsmanagement.AlertProcessingRulePropertiesResponseArgs(\n actions=[azure_native.alertsmanagement.RemoveAllActionGroupsArgs(\n action_type=\"RemoveAllActionGroups\",\n )],\n description=\"Removes all ActionGroups from all Alerts on VMName during the maintenance window\",\n enabled=True,\n schedule=azure_native.alertsmanagement.ScheduleArgs(\n effective_from=\"2021-04-15T18:00:00\",\n effective_until=\"2021-04-15T20:00:00\",\n time_zone=\"Pacific Standard Time\",\n ),\n scopes=[\"/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName\"],\n ),\n resource_group_name=\"alertscorrelationrg\",\n tags={})\n\n```\n\n```yaml\nresources:\n alertProcessingRuleByName:\n type: azure-native:alertsmanagement:AlertProcessingRuleByName\n properties:\n alertProcessingRuleName: RemoveActionGroupsMaintenanceWindow\n location: Global\n properties:\n actions:\n - actionType: RemoveAllActionGroups\n description: Removes all ActionGroups from all Alerts on VMName during the maintenance window\n enabled: true\n schedule:\n effectiveFrom: 2021-04-15T18:00:00\n effectiveUntil: 2021-04-15T20:00:00\n timeZone: Pacific Standard Time\n scopes:\n - /subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName\n resourceGroupName: alertscorrelationrg\n tags: {}\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a rule that removes all action groups from all alerts in a subscription coming from a specific alert rule\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alertProcessingRuleByName = new AzureNative.AlertsManagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", new()\n {\n AlertProcessingRuleName = \"RemoveActionGroupsSpecificAlertRule\",\n Location = \"Global\",\n Properties = new AzureNative.AlertsManagement.Inputs.AlertProcessingRulePropertiesArgs\n {\n Actions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.RemoveAllActionGroupsArgs\n {\n ActionType = \"RemoveAllActionGroups\",\n },\n },\n Conditions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.ConditionArgs\n {\n Field = \"AlertRuleId\",\n Operator = \"Equals\",\n Values = new[]\n {\n \"/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName\",\n },\n },\n },\n Description = \"Removes all ActionGroups from all Alerts that fire on above AlertRule\",\n Enabled = true,\n Scopes = new[]\n {\n \"/subscriptions/subId1\",\n },\n },\n ResourceGroupName = \"alertscorrelationrg\",\n Tags = null,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/alertsmanagement/v2\"\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 := alertsmanagement.NewAlertProcessingRuleByName(ctx, \"alertProcessingRuleByName\", \u0026alertsmanagement.AlertProcessingRuleByNameArgs{\n\t\t\tAlertProcessingRuleName: pulumi.String(\"RemoveActionGroupsSpecificAlertRule\"),\n\t\t\tLocation: pulumi.String(\"Global\"),\n\t\t\tProperties: alertsmanagement.AlertProcessingRulePropertiesResponse{\n\t\t\t\tActions: pulumi.Array{\n\t\t\t\t\talertsmanagement.RemoveAllActionGroups{\n\t\t\t\t\t\tActionType: \"RemoveAllActionGroups\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tConditions: alertsmanagement.ConditionArray{\n\t\t\t\t\t\u0026alertsmanagement.ConditionArgs{\n\t\t\t\t\t\tField: pulumi.String(\"AlertRuleId\"),\n\t\t\t\t\t\tOperator: pulumi.String(\"Equals\"),\n\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDescription: pulumi.String(\"Removes all ActionGroups from all Alerts that fire on above AlertRule\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/subscriptions/subId1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"alertscorrelationrg\"),\n\t\t\tTags: nil,\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.alertsmanagement.AlertProcessingRuleByName;\nimport com.pulumi.azurenative.alertsmanagement.AlertProcessingRuleByNameArgs;\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 alertProcessingRuleByName = new AlertProcessingRuleByName(\"alertProcessingRuleByName\", AlertProcessingRuleByNameArgs.builder() \n .alertProcessingRuleName(\"RemoveActionGroupsSpecificAlertRule\")\n .location(\"Global\")\n .properties(Map.ofEntries(\n Map.entry(\"actions\", Map.of(\"actionType\", \"RemoveAllActionGroups\")),\n Map.entry(\"conditions\", Map.ofEntries(\n Map.entry(\"field\", \"AlertRuleId\"),\n Map.entry(\"operator\", \"Equals\"),\n Map.entry(\"values\", \"/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName\")\n )),\n Map.entry(\"description\", \"Removes all ActionGroups from all Alerts that fire on above AlertRule\"),\n Map.entry(\"enabled\", true),\n Map.entry(\"scopes\", \"/subscriptions/subId1\")\n ))\n .resourceGroupName(\"alertscorrelationrg\")\n .tags()\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 alertProcessingRuleByName = new azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", {\n alertProcessingRuleName: \"RemoveActionGroupsSpecificAlertRule\",\n location: \"Global\",\n properties: {\n actions: [{\n actionType: \"RemoveAllActionGroups\",\n }],\n conditions: [{\n field: \"AlertRuleId\",\n operator: \"Equals\",\n values: [\"/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName\"],\n }],\n description: \"Removes all ActionGroups from all Alerts that fire on above AlertRule\",\n enabled: true,\n scopes: [\"/subscriptions/subId1\"],\n },\n resourceGroupName: \"alertscorrelationrg\",\n tags: {},\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nalert_processing_rule_by_name = azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\",\n alert_processing_rule_name=\"RemoveActionGroupsSpecificAlertRule\",\n location=\"Global\",\n properties=azure_native.alertsmanagement.AlertProcessingRulePropertiesResponseArgs(\n actions=[azure_native.alertsmanagement.RemoveAllActionGroupsArgs(\n action_type=\"RemoveAllActionGroups\",\n )],\n conditions=[azure_native.alertsmanagement.ConditionArgs(\n field=\"AlertRuleId\",\n operator=\"Equals\",\n values=[\"/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName\"],\n )],\n description=\"Removes all ActionGroups from all Alerts that fire on above AlertRule\",\n enabled=True,\n scopes=[\"/subscriptions/subId1\"],\n ),\n resource_group_name=\"alertscorrelationrg\",\n tags={})\n\n```\n\n```yaml\nresources:\n alertProcessingRuleByName:\n type: azure-native:alertsmanagement:AlertProcessingRuleByName\n properties:\n alertProcessingRuleName: RemoveActionGroupsSpecificAlertRule\n location: Global\n properties:\n actions:\n - actionType: RemoveAllActionGroups\n conditions:\n - field: AlertRuleId\n operator: Equals\n values:\n - /subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName\n description: Removes all ActionGroups from all Alerts that fire on above AlertRule\n enabled: true\n scopes:\n - /subscriptions/subId1\n resourceGroupName: alertscorrelationrg\n tags: {}\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a rule that removes all action groups from all alerts on any VM in two resource groups during a recurring maintenance window (2200-0400 every Sat and Sun, India Standard Time)\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alertProcessingRuleByName = new AzureNative.AlertsManagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", new()\n {\n AlertProcessingRuleName = \"RemoveActionGroupsRecurringMaintenance\",\n Location = \"Global\",\n Properties = new AzureNative.AlertsManagement.Inputs.AlertProcessingRulePropertiesArgs\n {\n Actions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.RemoveAllActionGroupsArgs\n {\n ActionType = \"RemoveAllActionGroups\",\n },\n },\n Conditions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.ConditionArgs\n {\n Field = \"TargetResourceType\",\n Operator = \"Equals\",\n Values = new[]\n {\n \"microsoft.compute/virtualmachines\",\n },\n },\n },\n Description = \"Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance\",\n Enabled = true,\n Schedule = new AzureNative.AlertsManagement.Inputs.ScheduleArgs\n {\n Recurrences = new[]\n {\n new AzureNative.AlertsManagement.Inputs.WeeklyRecurrenceArgs\n {\n DaysOfWeek = new[]\n {\n \"Saturday\",\n \"Sunday\",\n },\n EndTime = \"04:00:00\",\n RecurrenceType = \"Weekly\",\n StartTime = \"22:00:00\",\n },\n },\n TimeZone = \"India Standard Time\",\n },\n Scopes = new[]\n {\n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\",\n },\n },\n ResourceGroupName = \"alertscorrelationrg\",\n Tags = null,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/alertsmanagement/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := alertsmanagement.NewAlertProcessingRuleByName(ctx, \"alertProcessingRuleByName\", \u0026alertsmanagement.AlertProcessingRuleByNameArgs{\nAlertProcessingRuleName: pulumi.String(\"RemoveActionGroupsRecurringMaintenance\"),\nLocation: pulumi.String(\"Global\"),\nProperties: interface{}{\nActions: pulumi.Array{\nalertsmanagement.RemoveAllActionGroups{\nActionType: \"RemoveAllActionGroups\",\n},\n},\nConditions: alertsmanagement.ConditionArray{\n\u0026alertsmanagement.ConditionArgs{\nField: pulumi.String(\"TargetResourceType\"),\nOperator: pulumi.String(\"Equals\"),\nValues: pulumi.StringArray{\npulumi.String(\"microsoft.compute/virtualmachines\"),\n},\n},\n},\nDescription: pulumi.String(\"Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance\"),\nEnabled: pulumi.Bool(true),\nSchedule: interface{}{\nRecurrences: pulumi.Array{\nalertsmanagement.WeeklyRecurrence{\nDaysOfWeek: []alertsmanagement.DaysOfWeek{\n\"Saturday\",\n\"Sunday\",\n},\nEndTime: \"04:00:00\",\nRecurrenceType: \"Weekly\",\nStartTime: \"22:00:00\",\n},\n},\nTimeZone: pulumi.String(\"India Standard Time\"),\n},\nScopes: pulumi.StringArray{\npulumi.String(\"/subscriptions/subId1/resourceGroups/RGId1\"),\npulumi.String(\"/subscriptions/subId1/resourceGroups/RGId2\"),\n},\n},\nResourceGroupName: pulumi.String(\"alertscorrelationrg\"),\nTags: nil,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.alertsmanagement.AlertProcessingRuleByName;\nimport com.pulumi.azurenative.alertsmanagement.AlertProcessingRuleByNameArgs;\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 alertProcessingRuleByName = new AlertProcessingRuleByName(\"alertProcessingRuleByName\", AlertProcessingRuleByNameArgs.builder() \n .alertProcessingRuleName(\"RemoveActionGroupsRecurringMaintenance\")\n .location(\"Global\")\n .properties(Map.ofEntries(\n Map.entry(\"actions\", Map.of(\"actionType\", \"RemoveAllActionGroups\")),\n Map.entry(\"conditions\", Map.ofEntries(\n Map.entry(\"field\", \"TargetResourceType\"),\n Map.entry(\"operator\", \"Equals\"),\n Map.entry(\"values\", \"microsoft.compute/virtualmachines\")\n )),\n Map.entry(\"description\", \"Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance\"),\n Map.entry(\"enabled\", true),\n Map.entry(\"schedule\", Map.ofEntries(\n Map.entry(\"recurrences\", Map.ofEntries(\n Map.entry(\"daysOfWeek\", \n \"Saturday\",\n \"Sunday\"),\n Map.entry(\"endTime\", \"04:00:00\"),\n Map.entry(\"recurrenceType\", \"Weekly\"),\n Map.entry(\"startTime\", \"22:00:00\")\n )),\n Map.entry(\"timeZone\", \"India Standard Time\")\n )),\n Map.entry(\"scopes\", \n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\")\n ))\n .resourceGroupName(\"alertscorrelationrg\")\n .tags()\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 alertProcessingRuleByName = new azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", {\n alertProcessingRuleName: \"RemoveActionGroupsRecurringMaintenance\",\n location: \"Global\",\n properties: {\n actions: [{\n actionType: \"RemoveAllActionGroups\",\n }],\n conditions: [{\n field: \"TargetResourceType\",\n operator: \"Equals\",\n values: [\"microsoft.compute/virtualmachines\"],\n }],\n description: \"Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance\",\n enabled: true,\n schedule: {\n recurrences: [{\n daysOfWeek: [\n \"Saturday\",\n \"Sunday\",\n ],\n endTime: \"04:00:00\",\n recurrenceType: \"Weekly\",\n startTime: \"22:00:00\",\n }],\n timeZone: \"India Standard Time\",\n },\n scopes: [\n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\",\n ],\n },\n resourceGroupName: \"alertscorrelationrg\",\n tags: {},\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nalert_processing_rule_by_name = azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\",\n alert_processing_rule_name=\"RemoveActionGroupsRecurringMaintenance\",\n location=\"Global\",\n properties=azure_native.alertsmanagement.AlertProcessingRulePropertiesResponseArgs(\n actions=[azure_native.alertsmanagement.RemoveAllActionGroupsArgs(\n action_type=\"RemoveAllActionGroups\",\n )],\n conditions=[azure_native.alertsmanagement.ConditionArgs(\n field=\"TargetResourceType\",\n operator=\"Equals\",\n values=[\"microsoft.compute/virtualmachines\"],\n )],\n description=\"Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance\",\n enabled=True,\n schedule={\n \"recurrences\": [azure_native.alertsmanagement.WeeklyRecurrenceArgs(\n days_of_week=[\n \"Saturday\",\n \"Sunday\",\n ],\n end_time=\"04:00:00\",\n recurrence_type=\"Weekly\",\n start_time=\"22:00:00\",\n )],\n \"timeZone\": \"India Standard Time\",\n },\n scopes=[\n \"/subscriptions/subId1/resourceGroups/RGId1\",\n \"/subscriptions/subId1/resourceGroups/RGId2\",\n ],\n ),\n resource_group_name=\"alertscorrelationrg\",\n tags={})\n\n```\n\n```yaml\nresources:\n alertProcessingRuleByName:\n type: azure-native:alertsmanagement:AlertProcessingRuleByName\n properties:\n alertProcessingRuleName: RemoveActionGroupsRecurringMaintenance\n location: Global\n properties:\n actions:\n - actionType: RemoveAllActionGroups\n conditions:\n - field: TargetResourceType\n operator: Equals\n values:\n - microsoft.compute/virtualmachines\n description: Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance\n enabled: true\n schedule:\n recurrences:\n - daysOfWeek:\n - Saturday\n - Sunday\n endTime: 04:00:00\n recurrenceType: Weekly\n startTime: 22:00:00\n timeZone: India Standard Time\n scopes:\n - /subscriptions/subId1/resourceGroups/RGId1\n - /subscriptions/subId1/resourceGroups/RGId2\n resourceGroupName: alertscorrelationrg\n tags: {}\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create or update a rule that removes all action groups outside business hours (Mon-Fri 09:00-17:00, Eastern Standard Time)\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var alertProcessingRuleByName = new AzureNative.AlertsManagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", new()\n {\n AlertProcessingRuleName = \"RemoveActionGroupsOutsideBusinessHours\",\n Location = \"Global\",\n Properties = new AzureNative.AlertsManagement.Inputs.AlertProcessingRulePropertiesArgs\n {\n Actions = new[]\n {\n new AzureNative.AlertsManagement.Inputs.RemoveAllActionGroupsArgs\n {\n ActionType = \"RemoveAllActionGroups\",\n },\n },\n Description = \"Remove all ActionGroups outside business hours\",\n Enabled = true,\n Schedule = new AzureNative.AlertsManagement.Inputs.ScheduleArgs\n {\n Recurrences = \n {\n new AzureNative.AlertsManagement.Inputs.DailyRecurrenceArgs\n {\n EndTime = \"09:00:00\",\n RecurrenceType = \"Daily\",\n StartTime = \"17:00:00\",\n },\n new AzureNative.AlertsManagement.Inputs.WeeklyRecurrenceArgs\n {\n DaysOfWeek = new[]\n {\n \"Saturday\",\n \"Sunday\",\n },\n RecurrenceType = \"Weekly\",\n },\n },\n TimeZone = \"Eastern Standard Time\",\n },\n Scopes = new[]\n {\n \"/subscriptions/subId1\",\n },\n },\n ResourceGroupName = \"alertscorrelationrg\",\n Tags = null,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/alertsmanagement/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := alertsmanagement.NewAlertProcessingRuleByName(ctx, \"alertProcessingRuleByName\", \u0026alertsmanagement.AlertProcessingRuleByNameArgs{\nAlertProcessingRuleName: pulumi.String(\"RemoveActionGroupsOutsideBusinessHours\"),\nLocation: pulumi.String(\"Global\"),\nProperties: alertsmanagement.AlertProcessingRulePropertiesResponse{\nActions: pulumi.Array{\nalertsmanagement.RemoveAllActionGroups{\nActionType: \"RemoveAllActionGroups\",\n},\n},\nDescription: pulumi.String(\"Remove all ActionGroups outside business hours\"),\nEnabled: pulumi.Bool(true),\nSchedule: interface{}{\nRecurrences: pulumi.Array{\nalertsmanagement.DailyRecurrence{\nEndTime: \"09:00:00\",\nRecurrenceType: \"Daily\",\nStartTime: \"17:00:00\",\n},\nalertsmanagement.WeeklyRecurrence{\nDaysOfWeek: []alertsmanagement.DaysOfWeek{\n\"Saturday\",\n\"Sunday\",\n},\nRecurrenceType: \"Weekly\",\n},\n},\nTimeZone: pulumi.String(\"Eastern Standard Time\"),\n},\nScopes: pulumi.StringArray{\npulumi.String(\"/subscriptions/subId1\"),\n},\n},\nResourceGroupName: pulumi.String(\"alertscorrelationrg\"),\nTags: nil,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.alertsmanagement.AlertProcessingRuleByName;\nimport com.pulumi.azurenative.alertsmanagement.AlertProcessingRuleByNameArgs;\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 alertProcessingRuleByName = new AlertProcessingRuleByName(\"alertProcessingRuleByName\", AlertProcessingRuleByNameArgs.builder() \n .alertProcessingRuleName(\"RemoveActionGroupsOutsideBusinessHours\")\n .location(\"Global\")\n .properties(Map.ofEntries(\n Map.entry(\"actions\", Map.of(\"actionType\", \"RemoveAllActionGroups\")),\n Map.entry(\"description\", \"Remove all ActionGroups outside business hours\"),\n Map.entry(\"enabled\", true),\n Map.entry(\"schedule\", Map.ofEntries(\n Map.entry(\"recurrences\", \n Map.ofEntries(\n Map.entry(\"endTime\", \"09:00:00\"),\n Map.entry(\"recurrenceType\", \"Daily\"),\n Map.entry(\"startTime\", \"17:00:00\")\n ),\n Map.ofEntries(\n Map.entry(\"daysOfWeek\", \n \"Saturday\",\n \"Sunday\"),\n Map.entry(\"recurrenceType\", \"Weekly\")\n )),\n Map.entry(\"timeZone\", \"Eastern Standard Time\")\n )),\n Map.entry(\"scopes\", \"/subscriptions/subId1\")\n ))\n .resourceGroupName(\"alertscorrelationrg\")\n .tags()\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 alertProcessingRuleByName = new azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\", {\n alertProcessingRuleName: \"RemoveActionGroupsOutsideBusinessHours\",\n location: \"Global\",\n properties: {\n actions: [{\n actionType: \"RemoveAllActionGroups\",\n }],\n description: \"Remove all ActionGroups outside business hours\",\n enabled: true,\n schedule: {\n recurrences: [\n {\n endTime: \"09:00:00\",\n recurrenceType: \"Daily\",\n startTime: \"17:00:00\",\n },\n {\n daysOfWeek: [\n \"Saturday\",\n \"Sunday\",\n ],\n recurrenceType: \"Weekly\",\n },\n ],\n timeZone: \"Eastern Standard Time\",\n },\n scopes: [\"/subscriptions/subId1\"],\n },\n resourceGroupName: \"alertscorrelationrg\",\n tags: {},\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nalert_processing_rule_by_name = azure_native.alertsmanagement.AlertProcessingRuleByName(\"alertProcessingRuleByName\",\n alert_processing_rule_name=\"RemoveActionGroupsOutsideBusinessHours\",\n location=\"Global\",\n properties=azure_native.alertsmanagement.AlertProcessingRulePropertiesResponseArgs(\n actions=[azure_native.alertsmanagement.RemoveAllActionGroupsArgs(\n action_type=\"RemoveAllActionGroups\",\n )],\n description=\"Remove all ActionGroups outside business hours\",\n enabled=True,\n schedule={\n \"recurrences\": [\n azure_native.alertsmanagement.DailyRecurrenceArgs(\n end_time=\"09:00:00\",\n recurrence_type=\"Daily\",\n start_time=\"17:00:00\",\n ),\n azure_native.alertsmanagement.WeeklyRecurrenceArgs(\n days_of_week=[\n \"Saturday\",\n \"Sunday\",\n ],\n recurrence_type=\"Weekly\",\n ),\n ],\n \"timeZone\": \"Eastern Standard Time\",\n },\n scopes=[\"/subscriptions/subId1\"],\n ),\n resource_group_name=\"alertscorrelationrg\",\n tags={})\n\n```\n\n```yaml\nresources:\n alertProcessingRuleByName:\n type: azure-native:alertsmanagement:AlertProcessingRuleByName\n properties:\n alertProcessingRuleName: RemoveActionGroupsOutsideBusinessHours\n location: Global\n properties:\n actions:\n - actionType: RemoveAllActionGroups\n description: Remove all ActionGroups outside business hours\n enabled: true\n schedule:\n recurrences:\n - endTime: 09:00:00\n recurrenceType: Daily\n startTime: 17:00:00\n - daysOfWeek:\n - Saturday\n - Sunday\n recurrenceType: Weekly\n timeZone: Eastern Standard Time\n scopes:\n - /subscriptions/subId1\n resourceGroupName: alertscorrelationrg\n tags: {}\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:alertsmanagement:AlertProcessingRuleByName RemoveActionGroupsOutsideBusinessHours /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{alertProcessingRuleName} \n```\n", "properties": { "location": { "type": "string", @@ -462019,7 +462733,7 @@ ] }, "azure-native:appplatform:Deployment": { - "description": "Deployment resource payload\nAzure REST API version: 2023-05-01-preview. Prior API version in Azure Native 1.x: 2020-07-01.\n\nOther available API versions: 2023-07-01-preview, 2023-09-01-preview, 2023-11-01-preview, 2023-12-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Deployments_CreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var deployment = new AzureNative.AppPlatform.Deployment(\"deployment\", new()\n {\n AppName = \"myapp\",\n DeploymentName = \"mydeployment\",\n Properties = new AzureNative.AppPlatform.Inputs.DeploymentResourcePropertiesArgs\n {\n DeploymentSettings = new AzureNative.AppPlatform.Inputs.DeploymentSettingsArgs\n {\n AddonConfigs = \n {\n { \"ApplicationConfigurationService\", \n {\n { \"patterns\", new[]\n {\n \"mypattern\",\n } },\n } },\n },\n Apms = new[]\n {\n new AzureNative.AppPlatform.Inputs.ApmReferenceArgs\n {\n ResourceId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\",\n },\n },\n EnvironmentVariables = \n {\n { \"env\", \"test\" },\n },\n LivenessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ReadinessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ResourceRequests = new AzureNative.AppPlatform.Inputs.ResourceRequestsArgs\n {\n Cpu = \"1000m\",\n Memory = \"3Gi\",\n },\n TerminationGracePeriodSeconds = 30,\n },\n Source = new AzureNative.AppPlatform.Inputs.SourceUploadedUserSourceInfoArgs\n {\n ArtifactSelector = \"sub-module-1\",\n RelativePath = \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n Type = \"Source\",\n Version = \"1.0\",\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n ServiceName = \"myservice\",\n Sku = new AzureNative.AppPlatform.Inputs.SkuArgs\n {\n Capacity = 1,\n Name = \"S0\",\n Tier = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/appplatform/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := appplatform.NewDeployment(ctx, \"deployment\", \u0026appplatform.DeploymentArgs{\nAppName: pulumi.String(\"myapp\"),\nDeploymentName: pulumi.String(\"mydeployment\"),\nProperties: appplatform.DeploymentResourcePropertiesResponse{\nDeploymentSettings: interface{}{\nAddonConfigs: pulumi.Map{\n\"ApplicationConfigurationService\": pulumi.Any{\nPatterns: []string{\n\"mypattern\",\n},\n},\n},\nApms: appplatform.ApmReferenceArray{\n\u0026appplatform.ApmReferenceArgs{\nResourceId: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\"),\n},\n},\nEnvironmentVariables: pulumi.StringMap{\n\"env\": pulumi.String(\"test\"),\n},\nLivenessProbe: \u0026appplatform.ProbeArgs{\nDisableProbe: pulumi.Bool(false),\nFailureThreshold: pulumi.Int(3),\nInitialDelaySeconds: pulumi.Int(30),\nPeriodSeconds: pulumi.Int(10),\nProbeAction: appplatform.HTTPGetAction{\nPath: \"/health\",\nScheme: \"HTTP\",\nType: \"HTTPGetAction\",\n},\n},\nReadinessProbe: \u0026appplatform.ProbeArgs{\nDisableProbe: pulumi.Bool(false),\nFailureThreshold: pulumi.Int(3),\nInitialDelaySeconds: pulumi.Int(30),\nPeriodSeconds: pulumi.Int(10),\nProbeAction: appplatform.HTTPGetAction{\nPath: \"/health\",\nScheme: \"HTTP\",\nType: \"HTTPGetAction\",\n},\n},\nResourceRequests: \u0026appplatform.ResourceRequestsArgs{\nCpu: pulumi.String(\"1000m\"),\nMemory: pulumi.String(\"3Gi\"),\n},\nTerminationGracePeriodSeconds: pulumi.Int(30),\n},\nSource: appplatform.SourceUploadedUserSourceInfo{\nArtifactSelector: \"sub-module-1\",\nRelativePath: \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\nType: \"Source\",\nVersion: \"1.0\",\n},\n},\nResourceGroupName: pulumi.String(\"myResourceGroup\"),\nServiceName: pulumi.String(\"myservice\"),\nSku: \u0026appplatform.SkuArgs{\nCapacity: pulumi.Int(1),\nName: pulumi.String(\"S0\"),\nTier: pulumi.String(\"Standard\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.appplatform.Deployment;\nimport com.pulumi.azurenative.appplatform.DeploymentArgs;\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 deployment = new Deployment(\"deployment\", DeploymentArgs.builder() \n .appName(\"myapp\")\n .deploymentName(\"mydeployment\")\n .properties(Map.ofEntries(\n Map.entry(\"deploymentSettings\", Map.ofEntries(\n Map.entry(\"addonConfigs\", Map.of(\"ApplicationConfigurationService\", Map.of(\"patterns\", \"mypattern\"))),\n Map.entry(\"apms\", Map.of(\"resourceId\", \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\")),\n Map.entry(\"environmentVariables\", Map.of(\"env\", \"test\")),\n Map.entry(\"livenessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"readinessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"resourceRequests\", Map.ofEntries(\n Map.entry(\"cpu\", \"1000m\"),\n Map.entry(\"memory\", \"3Gi\")\n )),\n Map.entry(\"terminationGracePeriodSeconds\", 30)\n )),\n Map.entry(\"source\", Map.ofEntries(\n Map.entry(\"artifactSelector\", \"sub-module-1\"),\n Map.entry(\"relativePath\", \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\"),\n Map.entry(\"type\", \"Source\"),\n Map.entry(\"version\", \"1.0\")\n ))\n ))\n .resourceGroupName(\"myResourceGroup\")\n .serviceName(\"myservice\")\n .sku(Map.ofEntries(\n Map.entry(\"capacity\", 1),\n Map.entry(\"name\", \"S0\"),\n Map.entry(\"tier\", \"Standard\")\n ))\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 deployment = new azure_native.appplatform.Deployment(\"deployment\", {\n appName: \"myapp\",\n deploymentName: \"mydeployment\",\n properties: {\n deploymentSettings: {\n addonConfigs: {\n ApplicationConfigurationService: {\n patterns: [\"mypattern\"],\n },\n },\n apms: [{\n resourceId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\",\n }],\n environmentVariables: {\n env: \"test\",\n },\n livenessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n readinessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n resourceRequests: {\n cpu: \"1000m\",\n memory: \"3Gi\",\n },\n terminationGracePeriodSeconds: 30,\n },\n source: {\n artifactSelector: \"sub-module-1\",\n relativePath: \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n type: \"Source\",\n version: \"1.0\",\n },\n },\n resourceGroupName: \"myResourceGroup\",\n serviceName: \"myservice\",\n sku: {\n capacity: 1,\n name: \"S0\",\n tier: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndeployment = azure_native.appplatform.Deployment(\"deployment\",\n app_name=\"myapp\",\n deployment_name=\"mydeployment\",\n properties=azure_native.appplatform.DeploymentResourcePropertiesResponseArgs(\n deployment_settings={\n \"addonConfigs\": {\n \"ApplicationConfigurationService\": {\n \"patterns\": [\"mypattern\"],\n },\n },\n \"apms\": [azure_native.appplatform.ApmReferenceArgs(\n resource_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\",\n )],\n \"environmentVariables\": {\n \"env\": \"test\",\n },\n \"livenessProbe\": azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n \"readinessProbe\": azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n \"resourceRequests\": azure_native.appplatform.ResourceRequestsArgs(\n cpu=\"1000m\",\n memory=\"3Gi\",\n ),\n \"terminationGracePeriodSeconds\": 30,\n },\n source=azure_native.appplatform.SourceUploadedUserSourceInfoArgs(\n artifact_selector=\"sub-module-1\",\n relative_path=\"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n type=\"Source\",\n version=\"1.0\",\n ),\n ),\n resource_group_name=\"myResourceGroup\",\n service_name=\"myservice\",\n sku=azure_native.appplatform.SkuArgs(\n capacity=1,\n name=\"S0\",\n tier=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n deployment:\n type: azure-native:appplatform:Deployment\n properties:\n appName: myapp\n deploymentName: mydeployment\n properties:\n deploymentSettings:\n addonConfigs:\n ApplicationConfigurationService:\n patterns:\n - mypattern\n apms:\n - resourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\n environmentVariables:\n env: test\n livenessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n readinessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n resourceRequests:\n cpu: 1000m\n memory: 3Gi\n terminationGracePeriodSeconds: 30\n source:\n artifactSelector: sub-module-1\n relativePath: resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\n type: Source\n version: '1.0'\n resourceGroupName: myResourceGroup\n serviceName: myservice\n sku:\n capacity: 1\n name: S0\n tier: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Deployments_CreateOrUpdate_CustomContainer\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var deployment = new AzureNative.AppPlatform.Deployment(\"deployment\", new()\n {\n AppName = \"myapp\",\n DeploymentName = \"mydeployment\",\n Properties = new AzureNative.AppPlatform.Inputs.DeploymentResourcePropertiesArgs\n {\n DeploymentSettings = new AzureNative.AppPlatform.Inputs.DeploymentSettingsArgs\n {\n EnvironmentVariables = \n {\n { \"env\", \"test\" },\n },\n LivenessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ReadinessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ResourceRequests = new AzureNative.AppPlatform.Inputs.ResourceRequestsArgs\n {\n Cpu = \"1000m\",\n Memory = \"3Gi\",\n },\n TerminationGracePeriodSeconds = 30,\n },\n Source = new AzureNative.AppPlatform.Inputs.CustomContainerUserSourceInfoArgs\n {\n CustomContainer = new AzureNative.AppPlatform.Inputs.CustomContainerArgs\n {\n Args = new[]\n {\n \"-c\",\n \"while true; do echo hello; sleep 10;done\",\n },\n Command = new[]\n {\n \"/bin/sh\",\n },\n ContainerImage = \"myContainerImage:v1\",\n ImageRegistryCredential = new AzureNative.AppPlatform.Inputs.ImageRegistryCredentialArgs\n {\n Password = \"myPassword\",\n Username = \"myUsername\",\n },\n LanguageFramework = \"springboot\",\n Server = \"myacr.azurecr.io\",\n },\n Type = \"Container\",\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n ServiceName = \"myservice\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/appplatform/v2\"\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 := appplatform.NewDeployment(ctx, \"deployment\", \u0026appplatform.DeploymentArgs{\n\t\t\tAppName: pulumi.String(\"myapp\"),\n\t\t\tDeploymentName: pulumi.String(\"mydeployment\"),\n\t\t\tProperties: appplatform.DeploymentResourcePropertiesResponse{\n\t\t\t\tDeploymentSettings: \u0026appplatform.DeploymentSettingsArgs{\n\t\t\t\t\tEnvironmentVariables: pulumi.StringMap{\n\t\t\t\t\t\t\"env\": pulumi.String(\"test\"),\n\t\t\t\t\t},\n\t\t\t\t\tLivenessProbe: \u0026appplatform.ProbeArgs{\n\t\t\t\t\t\tDisableProbe: pulumi.Bool(false),\n\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(30),\n\t\t\t\t\t\tPeriodSeconds: pulumi.Int(10),\n\t\t\t\t\t\tProbeAction: appplatform.HTTPGetAction{\n\t\t\t\t\t\t\tPath: \"/health\",\n\t\t\t\t\t\t\tScheme: \"HTTP\",\n\t\t\t\t\t\t\tType: \"HTTPGetAction\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tReadinessProbe: \u0026appplatform.ProbeArgs{\n\t\t\t\t\t\tDisableProbe: pulumi.Bool(false),\n\t\t\t\t\t\tFailureThreshold: pulumi.Int(3),\n\t\t\t\t\t\tInitialDelaySeconds: pulumi.Int(30),\n\t\t\t\t\t\tPeriodSeconds: pulumi.Int(10),\n\t\t\t\t\t\tProbeAction: appplatform.HTTPGetAction{\n\t\t\t\t\t\t\tPath: \"/health\",\n\t\t\t\t\t\t\tScheme: \"HTTP\",\n\t\t\t\t\t\t\tType: \"HTTPGetAction\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tResourceRequests: \u0026appplatform.ResourceRequestsArgs{\n\t\t\t\t\t\tCpu: pulumi.String(\"1000m\"),\n\t\t\t\t\t\tMemory: pulumi.String(\"3Gi\"),\n\t\t\t\t\t},\n\t\t\t\t\tTerminationGracePeriodSeconds: pulumi.Int(30),\n\t\t\t\t},\n\t\t\t\tSource: appplatform.CustomContainerUserSourceInfo{\n\t\t\t\t\tCustomContainer: appplatform.CustomContainer{\n\t\t\t\t\t\tArgs: []string{\n\t\t\t\t\t\t\t\"-c\",\n\t\t\t\t\t\t\t\"while true; do echo hello; sleep 10;done\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCommand: []string{\n\t\t\t\t\t\t\t\"/bin/sh\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tContainerImage: \"myContainerImage:v1\",\n\t\t\t\t\t\tImageRegistryCredential: appplatform.ImageRegistryCredential{\n\t\t\t\t\t\t\tPassword: \"myPassword\",\n\t\t\t\t\t\t\tUsername: \"myUsername\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLanguageFramework: \"springboot\",\n\t\t\t\t\t\tServer: \"myacr.azurecr.io\",\n\t\t\t\t\t},\n\t\t\t\t\tType: \"Container\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t\tServiceName: pulumi.String(\"myservice\"),\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.appplatform.Deployment;\nimport com.pulumi.azurenative.appplatform.DeploymentArgs;\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 deployment = new Deployment(\"deployment\", DeploymentArgs.builder() \n .appName(\"myapp\")\n .deploymentName(\"mydeployment\")\n .properties(Map.ofEntries(\n Map.entry(\"deploymentSettings\", Map.ofEntries(\n Map.entry(\"environmentVariables\", Map.of(\"env\", \"test\")),\n Map.entry(\"livenessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"readinessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"resourceRequests\", Map.ofEntries(\n Map.entry(\"cpu\", \"1000m\"),\n Map.entry(\"memory\", \"3Gi\")\n )),\n Map.entry(\"terminationGracePeriodSeconds\", 30)\n )),\n Map.entry(\"source\", Map.ofEntries(\n Map.entry(\"customContainer\", Map.ofEntries(\n Map.entry(\"args\", \n \"-c\",\n \"while true; do echo hello; sleep 10;done\"),\n Map.entry(\"command\", \"/bin/sh\"),\n Map.entry(\"containerImage\", \"myContainerImage:v1\"),\n Map.entry(\"imageRegistryCredential\", Map.ofEntries(\n Map.entry(\"password\", \"myPassword\"),\n Map.entry(\"username\", \"myUsername\")\n )),\n Map.entry(\"languageFramework\", \"springboot\"),\n Map.entry(\"server\", \"myacr.azurecr.io\")\n )),\n Map.entry(\"type\", \"Container\")\n ))\n ))\n .resourceGroupName(\"myResourceGroup\")\n .serviceName(\"myservice\")\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 deployment = new azure_native.appplatform.Deployment(\"deployment\", {\n appName: \"myapp\",\n deploymentName: \"mydeployment\",\n properties: {\n deploymentSettings: {\n environmentVariables: {\n env: \"test\",\n },\n livenessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n readinessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n resourceRequests: {\n cpu: \"1000m\",\n memory: \"3Gi\",\n },\n terminationGracePeriodSeconds: 30,\n },\n source: {\n customContainer: {\n args: [\n \"-c\",\n \"while true; do echo hello; sleep 10;done\",\n ],\n command: [\"/bin/sh\"],\n containerImage: \"myContainerImage:v1\",\n imageRegistryCredential: {\n password: \"myPassword\",\n username: \"myUsername\",\n },\n languageFramework: \"springboot\",\n server: \"myacr.azurecr.io\",\n },\n type: \"Container\",\n },\n },\n resourceGroupName: \"myResourceGroup\",\n serviceName: \"myservice\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndeployment = azure_native.appplatform.Deployment(\"deployment\",\n app_name=\"myapp\",\n deployment_name=\"mydeployment\",\n properties=azure_native.appplatform.DeploymentResourcePropertiesResponseArgs(\n deployment_settings=azure_native.appplatform.DeploymentSettingsArgs(\n environment_variables={\n \"env\": \"test\",\n },\n liveness_probe=azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n readiness_probe=azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n resource_requests=azure_native.appplatform.ResourceRequestsArgs(\n cpu=\"1000m\",\n memory=\"3Gi\",\n ),\n termination_grace_period_seconds=30,\n ),\n source=azure_native.appplatform.CustomContainerUserSourceInfoArgs(\n custom_container=azure_native.appplatform.CustomContainerArgs(\n args=[\n \"-c\",\n \"while true; do echo hello; sleep 10;done\",\n ],\n command=[\"/bin/sh\"],\n container_image=\"myContainerImage:v1\",\n image_registry_credential=azure_native.appplatform.ImageRegistryCredentialArgs(\n password=\"myPassword\",\n username=\"myUsername\",\n ),\n language_framework=\"springboot\",\n server=\"myacr.azurecr.io\",\n ),\n type=\"Container\",\n ),\n ),\n resource_group_name=\"myResourceGroup\",\n service_name=\"myservice\")\n\n```\n\n```yaml\nresources:\n deployment:\n type: azure-native:appplatform:Deployment\n properties:\n appName: myapp\n deploymentName: mydeployment\n properties:\n deploymentSettings:\n environmentVariables:\n env: test\n livenessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n readinessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n resourceRequests:\n cpu: 1000m\n memory: 3Gi\n terminationGracePeriodSeconds: 30\n source:\n customContainer:\n args:\n - -c\n - while true; do echo hello; sleep 10;done\n command:\n - /bin/sh\n containerImage: myContainerImage:v1\n imageRegistryCredential:\n password: myPassword\n username: myUsername\n languageFramework: springboot\n server: myacr.azurecr.io\n type: Container\n resourceGroupName: myResourceGroup\n serviceName: myservice\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:appplatform:Deployment mydeployment /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName} \n```\n", + "description": "Deployment resource payload\nAzure REST API version: 2023-05-01-preview. Prior API version in Azure Native 1.x: 2020-07-01.\n\nOther available API versions: 2023-07-01-preview, 2023-09-01-preview, 2023-11-01-preview, 2023-12-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Deployments_CreateOrUpdate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var deployment = new AzureNative.AppPlatform.Deployment(\"deployment\", new()\n {\n AppName = \"myapp\",\n DeploymentName = \"mydeployment\",\n Properties = new AzureNative.AppPlatform.Inputs.DeploymentResourcePropertiesArgs\n {\n DeploymentSettings = new AzureNative.AppPlatform.Inputs.DeploymentSettingsArgs\n {\n AddonConfigs = \n {\n { \"ApplicationConfigurationService\", \n {\n { \"patterns\", new[]\n {\n \"mypattern\",\n } },\n } },\n },\n Apms = new[]\n {\n new AzureNative.AppPlatform.Inputs.ApmReferenceArgs\n {\n ResourceId = \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\",\n },\n },\n EnvironmentVariables = \n {\n { \"env\", \"test\" },\n },\n LivenessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ReadinessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ResourceRequests = new AzureNative.AppPlatform.Inputs.ResourceRequestsArgs\n {\n Cpu = \"1000m\",\n Memory = \"3Gi\",\n },\n TerminationGracePeriodSeconds = 30,\n },\n Source = new AzureNative.AppPlatform.Inputs.SourceUploadedUserSourceInfoArgs\n {\n ArtifactSelector = \"sub-module-1\",\n RelativePath = \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n Type = \"Source\",\n Version = \"1.0\",\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n ServiceName = \"myservice\",\n Sku = new AzureNative.AppPlatform.Inputs.SkuArgs\n {\n Capacity = 1,\n Name = \"S0\",\n Tier = \"Standard\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/appplatform/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := appplatform.NewDeployment(ctx, \"deployment\", \u0026appplatform.DeploymentArgs{\nAppName: pulumi.String(\"myapp\"),\nDeploymentName: pulumi.String(\"mydeployment\"),\nProperties: appplatform.DeploymentResourcePropertiesResponse{\nDeploymentSettings: interface{}{\nAddonConfigs: pulumi.Map{\n\"ApplicationConfigurationService\": pulumi.Any{\nPatterns: []string{\n\"mypattern\",\n},\n},\n},\nApms: appplatform.ApmReferenceArray{\n\u0026appplatform.ApmReferenceArgs{\nResourceId: pulumi.String(\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\"),\n},\n},\nEnvironmentVariables: pulumi.StringMap{\n\"env\": pulumi.String(\"test\"),\n},\nLivenessProbe: \u0026appplatform.ProbeArgs{\nDisableProbe: pulumi.Bool(false),\nFailureThreshold: pulumi.Int(3),\nInitialDelaySeconds: pulumi.Int(30),\nPeriodSeconds: pulumi.Int(10),\nProbeAction: appplatform.HTTPGetAction{\nPath: \"/health\",\nScheme: \"HTTP\",\nType: \"HTTPGetAction\",\n},\n},\nReadinessProbe: \u0026appplatform.ProbeArgs{\nDisableProbe: pulumi.Bool(false),\nFailureThreshold: pulumi.Int(3),\nInitialDelaySeconds: pulumi.Int(30),\nPeriodSeconds: pulumi.Int(10),\nProbeAction: appplatform.HTTPGetAction{\nPath: \"/health\",\nScheme: \"HTTP\",\nType: \"HTTPGetAction\",\n},\n},\nResourceRequests: \u0026appplatform.ResourceRequestsArgs{\nCpu: pulumi.String(\"1000m\"),\nMemory: pulumi.String(\"3Gi\"),\n},\nTerminationGracePeriodSeconds: pulumi.Int(30),\n},\nSource: appplatform.SourceUploadedUserSourceInfo{\nArtifactSelector: \"sub-module-1\",\nRelativePath: \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\nType: \"Source\",\nVersion: \"1.0\",\n},\n},\nResourceGroupName: pulumi.String(\"myResourceGroup\"),\nServiceName: pulumi.String(\"myservice\"),\nSku: \u0026appplatform.SkuArgs{\nCapacity: pulumi.Int(1),\nName: pulumi.String(\"S0\"),\nTier: pulumi.String(\"Standard\"),\n},\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.appplatform.Deployment;\nimport com.pulumi.azurenative.appplatform.DeploymentArgs;\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 deployment = new Deployment(\"deployment\", DeploymentArgs.builder() \n .appName(\"myapp\")\n .deploymentName(\"mydeployment\")\n .properties(Map.ofEntries(\n Map.entry(\"deploymentSettings\", Map.ofEntries(\n Map.entry(\"addonConfigs\", Map.of(\"ApplicationConfigurationService\", Map.of(\"patterns\", \"mypattern\"))),\n Map.entry(\"apms\", Map.of(\"resourceId\", \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\")),\n Map.entry(\"environmentVariables\", Map.of(\"env\", \"test\")),\n Map.entry(\"livenessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"readinessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"resourceRequests\", Map.ofEntries(\n Map.entry(\"cpu\", \"1000m\"),\n Map.entry(\"memory\", \"3Gi\")\n )),\n Map.entry(\"terminationGracePeriodSeconds\", 30)\n )),\n Map.entry(\"source\", Map.ofEntries(\n Map.entry(\"artifactSelector\", \"sub-module-1\"),\n Map.entry(\"relativePath\", \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\"),\n Map.entry(\"type\", \"Source\"),\n Map.entry(\"version\", \"1.0\")\n ))\n ))\n .resourceGroupName(\"myResourceGroup\")\n .serviceName(\"myservice\")\n .sku(Map.ofEntries(\n Map.entry(\"capacity\", 1),\n Map.entry(\"name\", \"S0\"),\n Map.entry(\"tier\", \"Standard\")\n ))\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 deployment = new azure_native.appplatform.Deployment(\"deployment\", {\n appName: \"myapp\",\n deploymentName: \"mydeployment\",\n properties: {\n deploymentSettings: {\n addonConfigs: {\n ApplicationConfigurationService: {\n patterns: [\"mypattern\"],\n },\n },\n apms: [{\n resourceId: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\",\n }],\n environmentVariables: {\n env: \"test\",\n },\n livenessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n readinessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n resourceRequests: {\n cpu: \"1000m\",\n memory: \"3Gi\",\n },\n terminationGracePeriodSeconds: 30,\n },\n source: {\n artifactSelector: \"sub-module-1\",\n relativePath: \"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n type: \"Source\",\n version: \"1.0\",\n },\n },\n resourceGroupName: \"myResourceGroup\",\n serviceName: \"myservice\",\n sku: {\n capacity: 1,\n name: \"S0\",\n tier: \"Standard\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndeployment = azure_native.appplatform.Deployment(\"deployment\",\n app_name=\"myapp\",\n deployment_name=\"mydeployment\",\n properties=azure_native.appplatform.DeploymentResourcePropertiesResponseArgs(\n deployment_settings={\n \"addonConfigs\": {\n \"ApplicationConfigurationService\": {\n \"patterns\": [\"mypattern\"],\n },\n },\n \"apms\": [azure_native.appplatform.ApmReferenceArgs(\n resource_id=\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\",\n )],\n \"environmentVariables\": {\n \"env\": \"test\",\n },\n \"livenessProbe\": azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n \"readinessProbe\": azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n \"resourceRequests\": azure_native.appplatform.ResourceRequestsArgs(\n cpu=\"1000m\",\n memory=\"3Gi\",\n ),\n \"terminationGracePeriodSeconds\": 30,\n },\n source=azure_native.appplatform.SourceUploadedUserSourceInfoArgs(\n artifact_selector=\"sub-module-1\",\n relative_path=\"resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\",\n type=\"Source\",\n version=\"1.0\",\n ),\n ),\n resource_group_name=\"myResourceGroup\",\n service_name=\"myservice\",\n sku=azure_native.appplatform.SkuArgs(\n capacity=1,\n name=\"S0\",\n tier=\"Standard\",\n ))\n\n```\n\n```yaml\nresources:\n deployment:\n type: azure-native:appplatform:Deployment\n properties:\n appName: myapp\n deploymentName: mydeployment\n properties:\n deploymentSettings:\n addonConfigs:\n ApplicationConfigurationService:\n patterns:\n - mypattern\n apms:\n - resourceId: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apms/myappinsights\n environmentVariables:\n env: test\n livenessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n readinessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n resourceRequests:\n cpu: 1000m\n memory: 3Gi\n terminationGracePeriodSeconds: 30\n source:\n artifactSelector: sub-module-1\n relativePath: resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc\n type: Source\n version: '1.0'\n resourceGroupName: myResourceGroup\n serviceName: myservice\n sku:\n capacity: 1\n name: S0\n tier: Standard\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Deployments_CreateOrUpdate_CustomContainer\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var deployment = new AzureNative.AppPlatform.Deployment(\"deployment\", new()\n {\n AppName = \"myapp\",\n DeploymentName = \"mydeployment\",\n Properties = new AzureNative.AppPlatform.Inputs.DeploymentResourcePropertiesArgs\n {\n DeploymentSettings = new AzureNative.AppPlatform.Inputs.DeploymentSettingsArgs\n {\n EnvironmentVariables = \n {\n { \"env\", \"test\" },\n },\n LivenessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ReadinessProbe = new AzureNative.AppPlatform.Inputs.ProbeArgs\n {\n DisableProbe = false,\n FailureThreshold = 3,\n InitialDelaySeconds = 30,\n PeriodSeconds = 10,\n ProbeAction = new AzureNative.AppPlatform.Inputs.HTTPGetActionArgs\n {\n Path = \"/health\",\n Scheme = \"HTTP\",\n Type = \"HTTPGetAction\",\n },\n },\n ResourceRequests = new AzureNative.AppPlatform.Inputs.ResourceRequestsArgs\n {\n Cpu = \"1000m\",\n Memory = \"3Gi\",\n },\n TerminationGracePeriodSeconds = 30,\n },\n Source = new AzureNative.AppPlatform.Inputs.CustomContainerUserSourceInfoArgs\n {\n CustomContainer = new AzureNative.AppPlatform.Inputs.CustomContainerArgs\n {\n Args = new[]\n {\n \"-c\",\n \"while true; do echo hello; sleep 10;done\",\n },\n Command = new[]\n {\n \"/bin/sh\",\n },\n ContainerImage = \"myContainerImage:v1\",\n ImageRegistryCredential = new AzureNative.AppPlatform.Inputs.ImageRegistryCredentialArgs\n {\n Password = \"myPassword\",\n Username = \"myUsername\",\n },\n LanguageFramework = \"springboot\",\n Server = \"myacr.azurecr.io\",\n },\n Type = \"Container\",\n },\n },\n ResourceGroupName = \"myResourceGroup\",\n ServiceName = \"myservice\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/appplatform/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := appplatform.NewDeployment(ctx, \"deployment\", \u0026appplatform.DeploymentArgs{\nAppName: pulumi.String(\"myapp\"),\nDeploymentName: pulumi.String(\"mydeployment\"),\nProperties: appplatform.DeploymentResourcePropertiesResponse{\nDeploymentSettings: interface{}{\nEnvironmentVariables: pulumi.StringMap{\n\"env\": pulumi.String(\"test\"),\n},\nLivenessProbe: \u0026appplatform.ProbeArgs{\nDisableProbe: pulumi.Bool(false),\nFailureThreshold: pulumi.Int(3),\nInitialDelaySeconds: pulumi.Int(30),\nPeriodSeconds: pulumi.Int(10),\nProbeAction: appplatform.HTTPGetAction{\nPath: \"/health\",\nScheme: \"HTTP\",\nType: \"HTTPGetAction\",\n},\n},\nReadinessProbe: \u0026appplatform.ProbeArgs{\nDisableProbe: pulumi.Bool(false),\nFailureThreshold: pulumi.Int(3),\nInitialDelaySeconds: pulumi.Int(30),\nPeriodSeconds: pulumi.Int(10),\nProbeAction: appplatform.HTTPGetAction{\nPath: \"/health\",\nScheme: \"HTTP\",\nType: \"HTTPGetAction\",\n},\n},\nResourceRequests: \u0026appplatform.ResourceRequestsArgs{\nCpu: pulumi.String(\"1000m\"),\nMemory: pulumi.String(\"3Gi\"),\n},\nTerminationGracePeriodSeconds: pulumi.Int(30),\n},\nSource: appplatform.CustomContainerUserSourceInfo{\nCustomContainer: appplatform.CustomContainer{\nArgs: []string{\n\"-c\",\n\"while true; do echo hello; sleep 10;done\",\n},\nCommand: []string{\n\"/bin/sh\",\n},\nContainerImage: \"myContainerImage:v1\",\nImageRegistryCredential: appplatform.ImageRegistryCredential{\nPassword: \"myPassword\",\nUsername: \"myUsername\",\n},\nLanguageFramework: \"springboot\",\nServer: \"myacr.azurecr.io\",\n},\nType: \"Container\",\n},\n},\nResourceGroupName: pulumi.String(\"myResourceGroup\"),\nServiceName: pulumi.String(\"myservice\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.appplatform.Deployment;\nimport com.pulumi.azurenative.appplatform.DeploymentArgs;\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 deployment = new Deployment(\"deployment\", DeploymentArgs.builder() \n .appName(\"myapp\")\n .deploymentName(\"mydeployment\")\n .properties(Map.ofEntries(\n Map.entry(\"deploymentSettings\", Map.ofEntries(\n Map.entry(\"environmentVariables\", Map.of(\"env\", \"test\")),\n Map.entry(\"livenessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"readinessProbe\", Map.ofEntries(\n Map.entry(\"disableProbe\", false),\n Map.entry(\"failureThreshold\", 3),\n Map.entry(\"initialDelaySeconds\", 30),\n Map.entry(\"periodSeconds\", 10),\n Map.entry(\"probeAction\", Map.ofEntries(\n Map.entry(\"path\", \"/health\"),\n Map.entry(\"scheme\", \"HTTP\"),\n Map.entry(\"type\", \"HTTPGetAction\")\n ))\n )),\n Map.entry(\"resourceRequests\", Map.ofEntries(\n Map.entry(\"cpu\", \"1000m\"),\n Map.entry(\"memory\", \"3Gi\")\n )),\n Map.entry(\"terminationGracePeriodSeconds\", 30)\n )),\n Map.entry(\"source\", Map.ofEntries(\n Map.entry(\"customContainer\", Map.ofEntries(\n Map.entry(\"args\", \n \"-c\",\n \"while true; do echo hello; sleep 10;done\"),\n Map.entry(\"command\", \"/bin/sh\"),\n Map.entry(\"containerImage\", \"myContainerImage:v1\"),\n Map.entry(\"imageRegistryCredential\", Map.ofEntries(\n Map.entry(\"password\", \"myPassword\"),\n Map.entry(\"username\", \"myUsername\")\n )),\n Map.entry(\"languageFramework\", \"springboot\"),\n Map.entry(\"server\", \"myacr.azurecr.io\")\n )),\n Map.entry(\"type\", \"Container\")\n ))\n ))\n .resourceGroupName(\"myResourceGroup\")\n .serviceName(\"myservice\")\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 deployment = new azure_native.appplatform.Deployment(\"deployment\", {\n appName: \"myapp\",\n deploymentName: \"mydeployment\",\n properties: {\n deploymentSettings: {\n environmentVariables: {\n env: \"test\",\n },\n livenessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n readinessProbe: {\n disableProbe: false,\n failureThreshold: 3,\n initialDelaySeconds: 30,\n periodSeconds: 10,\n probeAction: {\n path: \"/health\",\n scheme: \"HTTP\",\n type: \"HTTPGetAction\",\n },\n },\n resourceRequests: {\n cpu: \"1000m\",\n memory: \"3Gi\",\n },\n terminationGracePeriodSeconds: 30,\n },\n source: {\n customContainer: {\n args: [\n \"-c\",\n \"while true; do echo hello; sleep 10;done\",\n ],\n command: [\"/bin/sh\"],\n containerImage: \"myContainerImage:v1\",\n imageRegistryCredential: {\n password: \"myPassword\",\n username: \"myUsername\",\n },\n languageFramework: \"springboot\",\n server: \"myacr.azurecr.io\",\n },\n type: \"Container\",\n },\n },\n resourceGroupName: \"myResourceGroup\",\n serviceName: \"myservice\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndeployment = azure_native.appplatform.Deployment(\"deployment\",\n app_name=\"myapp\",\n deployment_name=\"mydeployment\",\n properties=azure_native.appplatform.DeploymentResourcePropertiesResponseArgs(\n deployment_settings={\n \"environmentVariables\": {\n \"env\": \"test\",\n },\n \"livenessProbe\": azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n \"readinessProbe\": azure_native.appplatform.ProbeArgs(\n disable_probe=False,\n failure_threshold=3,\n initial_delay_seconds=30,\n period_seconds=10,\n probe_action=azure_native.appplatform.HTTPGetActionArgs(\n path=\"/health\",\n scheme=\"HTTP\",\n type=\"HTTPGetAction\",\n ),\n ),\n \"resourceRequests\": azure_native.appplatform.ResourceRequestsArgs(\n cpu=\"1000m\",\n memory=\"3Gi\",\n ),\n \"terminationGracePeriodSeconds\": 30,\n },\n source=azure_native.appplatform.CustomContainerUserSourceInfoArgs(\n custom_container=azure_native.appplatform.CustomContainerArgs(\n args=[\n \"-c\",\n \"while true; do echo hello; sleep 10;done\",\n ],\n command=[\"/bin/sh\"],\n container_image=\"myContainerImage:v1\",\n image_registry_credential=azure_native.appplatform.ImageRegistryCredentialArgs(\n password=\"myPassword\",\n username=\"myUsername\",\n ),\n language_framework=\"springboot\",\n server=\"myacr.azurecr.io\",\n ),\n type=\"Container\",\n ),\n ),\n resource_group_name=\"myResourceGroup\",\n service_name=\"myservice\")\n\n```\n\n```yaml\nresources:\n deployment:\n type: azure-native:appplatform:Deployment\n properties:\n appName: myapp\n deploymentName: mydeployment\n properties:\n deploymentSettings:\n environmentVariables:\n env: test\n livenessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n readinessProbe:\n disableProbe: false\n failureThreshold: 3\n initialDelaySeconds: 30\n periodSeconds: 10\n probeAction:\n path: /health\n scheme: HTTP\n type: HTTPGetAction\n resourceRequests:\n cpu: 1000m\n memory: 3Gi\n terminationGracePeriodSeconds: 30\n source:\n customContainer:\n args:\n - -c\n - while true; do echo hello; sleep 10;done\n command:\n - /bin/sh\n containerImage: myContainerImage:v1\n imageRegistryCredential:\n password: myPassword\n username: myUsername\n languageFramework: springboot\n server: myacr.azurecr.io\n type: Container\n resourceGroupName: myResourceGroup\n serviceName: myservice\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:appplatform:Deployment mydeployment /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName} \n```\n", "properties": { "name": { "type": "string", @@ -463182,10 +463896,6 @@ "type": "string", "description": "The display name for the history definition." }, - "endDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to end. Required if type is endDate" - }, "instances": { "type": "array", "items": { @@ -463202,10 +463912,6 @@ "type": "string", "description": "The access review history definition unique id." }, - "numberOfOccurrences": { - "type": "integer", - "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." - }, "principalId": { "type": "string", "description": "The identity id" @@ -463218,6 +463924,11 @@ "type": "string", "description": "The identity type : user/servicePrincipal" }, + "range": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeResponse", + "description": "Access Review History Definition recurrence settings." + }, "reviewHistoryPeriodEndDateTime": { "type": "string", "description": "Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports." @@ -463234,10 +463945,6 @@ }, "description": "A collection of scopes used when selecting review history data" }, - "startDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." - }, "status": { "type": "string", "description": "This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error." @@ -463283,10 +463990,6 @@ "type": "string", "description": "The display name for the history definition." }, - "endDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to end. Required if type is endDate" - }, "historyDefinitionId": { "type": "string", "description": "The id of the access review history definition.", @@ -463304,9 +464007,10 @@ "type": "integer", "description": "The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly." }, - "numberOfOccurrences": { - "type": "integer", - "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." + "range": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRange", + "description": "Access Review History Definition recurrence settings." }, "scopes": { "type": "array", @@ -463316,20 +464020,16 @@ }, "description": "A collection of scopes used when selecting review history data" }, - "startDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." - }, "type": { "oneOf": [ { "type": "string" }, { - "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeType" + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrencePatternType" } ], - "description": "The recurrence range type. The possible values are: endDate, noEnd, numbered." + "description": "The recurrence type : weekly, monthly, etc." } }, "aliases": [ @@ -463344,10 +464044,6 @@ "azure-native:authorization:AccessReviewScheduleDefinitionById": { "description": "Access Review Schedule Definition.\nAzure REST API version: 2021-12-01-preview. Prior API version in Azure Native 1.x: 2021-03-01-preview.\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:authorization:AccessReviewScheduleDefinitionById myresource1 /subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId} \n```\n", "properties": { - "assignmentState": { - "type": "string", - "description": "The role assignment state eligible/active to review" - }, "autoApplyDecisionsEnabled": { "type": "boolean", "description": "Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review." @@ -463380,34 +464076,6 @@ "type": "string", "description": "The display name for the schedule definition." }, - "endDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to end. Required if type is endDate" - }, - "excludeResourceId": { - "type": "string", - "description": "This is used to indicate the resource id(s) to exclude" - }, - "excludeRoleDefinitionId": { - "type": "string", - "description": "This is used to indicate the role definition id(s) to exclude" - }, - "expandNestedMemberships": { - "type": "boolean", - "description": "Flag to indicate whether to expand nested memberships or not." - }, - "inactiveDuration": { - "type": "string", - "description": "Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))" - }, - "includeAccessBelowResource": { - "type": "boolean", - "description": "Flag to indicate whether to expand nested memberships or not." - }, - "includeInheritedAccess": { - "type": "boolean", - "description": "Flag to indicate whether to expand nested memberships or not." - }, "instanceDurationInDays": { "type": "integer", "description": "The duration in days for an instance." @@ -463436,10 +464104,6 @@ "type": "string", "description": "The access review schedule definition unique id." }, - "numberOfOccurrences": { - "type": "integer", - "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." - }, "principalId": { "type": "string", "description": "The identity id" @@ -463450,7 +464114,12 @@ }, "principalType": { "type": "string", - "description": "The identity type user/servicePrincipal to review" + "description": "The identity type : user/servicePrincipal" + }, + "range": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeResponse", + "description": "Access Review schedule definition recurrence range." }, "recommendationLookBackDuration": { "type": "string", @@ -463464,10 +464133,6 @@ "type": "boolean", "description": "Flag to indicate whether sending reminder emails to reviewers are enabled." }, - "resourceId": { - "type": "string", - "description": "ResourceId in which this review is getting created" - }, "reviewers": { "type": "array", "items": { @@ -463480,13 +464145,10 @@ "type": "string", "description": "This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For example managers review or self review." }, - "roleDefinitionId": { - "type": "string", - "description": "This is used to indicate the role being reviewed" - }, - "startDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." + "scope": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewScopeResponse", + "description": "This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId." }, "status": { "type": "string", @@ -463503,14 +464165,12 @@ }, "type": "object", "required": [ - "assignmentState", "name", "principalId", "principalName", "principalType", - "resourceId", "reviewersType", - "roleDefinitionId", + "scope", "status", "type", "userPrincipalName" @@ -463555,10 +464215,6 @@ "type": "string", "description": "The display name for the schedule definition." }, - "endDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to end. Required if type is endDate" - }, "excludeResourceId": { "type": "string", "description": "This is used to indicate the resource id(s) to exclude" @@ -463607,9 +464263,10 @@ "type": "boolean", "description": "Flag to indicate whether sending mails to reviewers and the review creator is enabled." }, - "numberOfOccurrences": { - "type": "integer", - "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." + "range": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRange", + "description": "Access Review schedule definition recurrence range." }, "recommendationLookBackDuration": { "type": "string", @@ -463636,20 +464293,16 @@ "description": "The id of the access review schedule definition.", "willReplaceOnChanges": true }, - "startDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." - }, "type": { "oneOf": [ { "type": "string" }, { - "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeType" + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrencePatternType" } ], - "description": "The recurrence range type. The possible values are: endDate, noEnd, numbered." + "description": "The recurrence type : weekly, monthly, etc." } }, "aliases": [ @@ -466089,10 +466742,6 @@ "type": "string", "description": "The display name for the history definition." }, - "endDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to end. Required if type is endDate" - }, "instances": { "type": "array", "items": { @@ -466109,10 +466758,6 @@ "type": "string", "description": "The access review history definition unique id." }, - "numberOfOccurrences": { - "type": "integer", - "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." - }, "principalId": { "type": "string", "description": "The identity id" @@ -466125,6 +466770,11 @@ "type": "string", "description": "The identity type : user/servicePrincipal" }, + "range": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeResponse", + "description": "Access Review History Definition recurrence settings." + }, "reviewHistoryPeriodEndDateTime": { "type": "string", "description": "Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports." @@ -466141,10 +466791,6 @@ }, "description": "A collection of scopes used when selecting review history data" }, - "startDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." - }, "status": { "type": "string", "description": "This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error." @@ -466190,10 +466836,6 @@ "type": "string", "description": "The display name for the history definition." }, - "endDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to end. Required if type is endDate" - }, "historyDefinitionId": { "type": "string", "description": "The id of the access review history definition.", @@ -466211,9 +466853,10 @@ "type": "integer", "description": "The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly." }, - "numberOfOccurrences": { - "type": "integer", - "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." + "range": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRange", + "description": "Access Review History Definition recurrence settings." }, "scope": { "type": "string", @@ -466228,20 +466871,16 @@ }, "description": "A collection of scopes used when selecting review history data" }, - "startDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." - }, "type": { "oneOf": [ { "type": "string" }, { - "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeType" + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrencePatternType" } ], - "description": "The recurrence range type. The possible values are: endDate, noEnd, numbered." + "description": "The recurrence type : weekly, monthly, etc." } }, "requiredInputs": [ @@ -466256,10 +466895,6 @@ "azure-native:authorization:ScopeAccessReviewScheduleDefinitionById": { "description": "Access Review Schedule Definition.\nAzure REST API version: 2021-12-01-preview. Prior API version in Azure Native 1.x: 2021-12-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### PutAccessReview\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var scopeAccessReviewScheduleDefinitionById = new AzureNative.Authorization.ScopeAccessReviewScheduleDefinitionById(\"scopeAccessReviewScheduleDefinitionById\", new()\n {\n ScheduleDefinitionId = \"fa73e90b-5bf1-45fd-a182-35ce5fc0674d\",\n Scope = \"subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/authorization/v2\"\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 := authorization.NewScopeAccessReviewScheduleDefinitionById(ctx, \"scopeAccessReviewScheduleDefinitionById\", \u0026authorization.ScopeAccessReviewScheduleDefinitionByIdArgs{\n\t\t\tScheduleDefinitionId: pulumi.String(\"fa73e90b-5bf1-45fd-a182-35ce5fc0674d\"),\n\t\t\tScope: pulumi.String(\"subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d\"),\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.authorization.ScopeAccessReviewScheduleDefinitionById;\nimport com.pulumi.azurenative.authorization.ScopeAccessReviewScheduleDefinitionByIdArgs;\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 scopeAccessReviewScheduleDefinitionById = new ScopeAccessReviewScheduleDefinitionById(\"scopeAccessReviewScheduleDefinitionById\", ScopeAccessReviewScheduleDefinitionByIdArgs.builder() \n .scheduleDefinitionId(\"fa73e90b-5bf1-45fd-a182-35ce5fc0674d\")\n .scope(\"subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d\")\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 scopeAccessReviewScheduleDefinitionById = new azure_native.authorization.ScopeAccessReviewScheduleDefinitionById(\"scopeAccessReviewScheduleDefinitionById\", {\n scheduleDefinitionId: \"fa73e90b-5bf1-45fd-a182-35ce5fc0674d\",\n scope: \"subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nscope_access_review_schedule_definition_by_id = azure_native.authorization.ScopeAccessReviewScheduleDefinitionById(\"scopeAccessReviewScheduleDefinitionById\",\n schedule_definition_id=\"fa73e90b-5bf1-45fd-a182-35ce5fc0674d\",\n scope=\"subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d\")\n\n```\n\n```yaml\nresources:\n scopeAccessReviewScheduleDefinitionById:\n type: azure-native:authorization:ScopeAccessReviewScheduleDefinitionById\n properties:\n scheduleDefinitionId: fa73e90b-5bf1-45fd-a182-35ce5fc0674d\n scope: subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d\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:authorization:ScopeAccessReviewScheduleDefinitionById fa73e90b-5bf1-45fd-a182-35ce5fc0674d /{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId} \n```\n", "properties": { - "assignmentState": { - "type": "string", - "description": "The role assignment state eligible/active to review" - }, "autoApplyDecisionsEnabled": { "type": "boolean", "description": "Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review." @@ -466292,34 +466927,6 @@ "type": "string", "description": "The display name for the schedule definition." }, - "endDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to end. Required if type is endDate" - }, - "excludeResourceId": { - "type": "string", - "description": "This is used to indicate the resource id(s) to exclude" - }, - "excludeRoleDefinitionId": { - "type": "string", - "description": "This is used to indicate the role definition id(s) to exclude" - }, - "expandNestedMemberships": { - "type": "boolean", - "description": "Flag to indicate whether to expand nested memberships or not." - }, - "inactiveDuration": { - "type": "string", - "description": "Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))" - }, - "includeAccessBelowResource": { - "type": "boolean", - "description": "Flag to indicate whether to expand nested memberships or not." - }, - "includeInheritedAccess": { - "type": "boolean", - "description": "Flag to indicate whether to expand nested memberships or not." - }, "instanceDurationInDays": { "type": "integer", "description": "The duration in days for an instance." @@ -466348,10 +466955,6 @@ "type": "string", "description": "The access review schedule definition unique id." }, - "numberOfOccurrences": { - "type": "integer", - "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." - }, "principalId": { "type": "string", "description": "The identity id" @@ -466362,7 +466965,12 @@ }, "principalType": { "type": "string", - "description": "The identity type user/servicePrincipal to review" + "description": "The identity type : user/servicePrincipal" + }, + "range": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeResponse", + "description": "Access Review schedule definition recurrence range." }, "recommendationLookBackDuration": { "type": "string", @@ -466376,10 +466984,6 @@ "type": "boolean", "description": "Flag to indicate whether sending reminder emails to reviewers are enabled." }, - "resourceId": { - "type": "string", - "description": "ResourceId in which this review is getting created" - }, "reviewers": { "type": "array", "items": { @@ -466392,13 +466996,10 @@ "type": "string", "description": "This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For example managers review or self review." }, - "roleDefinitionId": { - "type": "string", - "description": "This is used to indicate the role being reviewed" - }, - "startDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." + "scope": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewScopeResponse", + "description": "This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId." }, "status": { "type": "string", @@ -466415,14 +467016,12 @@ }, "type": "object", "required": [ - "assignmentState", "name", "principalId", "principalName", "principalType", - "resourceId", "reviewersType", - "roleDefinitionId", + "scope", "status", "type", "userPrincipalName" @@ -466467,10 +467066,6 @@ "type": "string", "description": "The display name for the schedule definition." }, - "endDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to end. Required if type is endDate" - }, "excludeResourceId": { "type": "string", "description": "This is used to indicate the resource id(s) to exclude" @@ -466519,9 +467114,10 @@ "type": "boolean", "description": "Flag to indicate whether sending mails to reviewers and the review creator is enabled." }, - "numberOfOccurrences": { - "type": "integer", - "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." + "range": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRange", + "description": "Access Review schedule definition recurrence range." }, "recommendationLookBackDuration": { "type": "string", @@ -466553,20 +467149,16 @@ "description": "The scope of the resource.", "willReplaceOnChanges": true }, - "startDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." - }, "type": { "oneOf": [ { "type": "string" }, { - "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeType" + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrencePatternType" } ], - "description": "The recurrence range type. The possible values are: endDate, noEnd, numbered." + "description": "The recurrence type : weekly, monthly, etc." } }, "requiredInputs": [ @@ -530201,45 +530793,16 @@ ] }, "azure-native:devhub:Workflow": { - "description": "Resource representation of a workflow\nAzure REST API version: 2022-10-11-preview. Prior API version in Azure Native 1.x: 2022-04-01-preview.\n\nOther available API versions: 2023-08-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create Workflow\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var workflow = new AzureNative.DevHub.Workflow(\"workflow\", new()\n {\n Acr = new AzureNative.DevHub.Inputs.ACRArgs\n {\n AcrRegistryName = \"registry1\",\n AcrRepositoryName = \"repo1\",\n AcrResourceGroup = \"resourceGroup1\",\n AcrSubscriptionId = \"subscriptionId1\",\n },\n AksResourceId = \"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\",\n BranchName = \"branch1\",\n DeploymentProperties = new AzureNative.DevHub.Inputs.DeploymentPropertiesArgs\n {\n KubeManifestLocations = new[]\n {\n \"/src/manifests/\",\n },\n ManifestType = \"kube\",\n Overrides = \n {\n { \"key1\", \"value1\" },\n },\n },\n DockerBuildContext = \"repo1/src/\",\n Dockerfile = \"repo1/images/Dockerfile\",\n Location = \"location1\",\n Namespace = \"namespace1\",\n OidcCredentials = new AzureNative.DevHub.Inputs.GitHubWorkflowProfileOidcCredentialsArgs\n {\n AzureClientId = \"12345678-3456-7890-5678-012345678901\",\n AzureTenantId = \"66666666-3456-7890-5678-012345678901\",\n },\n RepositoryName = \"repo1\",\n RepositoryOwner = \"owner1\",\n ResourceGroupName = \"resourceGroup1\",\n Tags = \n {\n { \"appname\", \"testApp\" },\n },\n WorkflowName = \"workflow1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/devhub/v2\"\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 := devhub.NewWorkflow(ctx, \"workflow\", \u0026devhub.WorkflowArgs{\n\t\t\tAcr: \u0026devhub.ACRArgs{\n\t\t\t\tAcrRegistryName: pulumi.String(\"registry1\"),\n\t\t\t\tAcrRepositoryName: pulumi.String(\"repo1\"),\n\t\t\t\tAcrResourceGroup: pulumi.String(\"resourceGroup1\"),\n\t\t\t\tAcrSubscriptionId: pulumi.String(\"subscriptionId1\"),\n\t\t\t},\n\t\t\tAksResourceId: pulumi.String(\"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\"),\n\t\t\tBranchName: pulumi.String(\"branch1\"),\n\t\t\tDeploymentProperties: \u0026devhub.DeploymentPropertiesArgs{\n\t\t\t\tKubeManifestLocations: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/src/manifests/\"),\n\t\t\t\t},\n\t\t\t\tManifestType: pulumi.String(\"kube\"),\n\t\t\t\tOverrides: pulumi.StringMap{\n\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDockerBuildContext: pulumi.String(\"repo1/src/\"),\n\t\t\tDockerfile: pulumi.String(\"repo1/images/Dockerfile\"),\n\t\t\tLocation: pulumi.String(\"location1\"),\n\t\t\tNamespace: pulumi.String(\"namespace1\"),\n\t\t\tOidcCredentials: \u0026devhub.GitHubWorkflowProfileOidcCredentialsArgs{\n\t\t\t\tAzureClientId: pulumi.String(\"12345678-3456-7890-5678-012345678901\"),\n\t\t\t\tAzureTenantId: pulumi.String(\"66666666-3456-7890-5678-012345678901\"),\n\t\t\t},\n\t\t\tRepositoryName: pulumi.String(\"repo1\"),\n\t\t\tRepositoryOwner: pulumi.String(\"owner1\"),\n\t\t\tResourceGroupName: pulumi.String(\"resourceGroup1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"appname\": pulumi.String(\"testApp\"),\n\t\t\t},\n\t\t\tWorkflowName: pulumi.String(\"workflow1\"),\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.devhub.Workflow;\nimport com.pulumi.azurenative.devhub.WorkflowArgs;\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 workflow = new Workflow(\"workflow\", WorkflowArgs.builder() \n .acr(Map.ofEntries(\n Map.entry(\"acrRegistryName\", \"registry1\"),\n Map.entry(\"acrRepositoryName\", \"repo1\"),\n Map.entry(\"acrResourceGroup\", \"resourceGroup1\"),\n Map.entry(\"acrSubscriptionId\", \"subscriptionId1\")\n ))\n .aksResourceId(\"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\")\n .branchName(\"branch1\")\n .deploymentProperties(Map.ofEntries(\n Map.entry(\"kubeManifestLocations\", \"/src/manifests/\"),\n Map.entry(\"manifestType\", \"kube\"),\n Map.entry(\"overrides\", Map.of(\"key1\", \"value1\"))\n ))\n .dockerBuildContext(\"repo1/src/\")\n .dockerfile(\"repo1/images/Dockerfile\")\n .location(\"location1\")\n .namespace(\"namespace1\")\n .oidcCredentials(Map.ofEntries(\n Map.entry(\"azureClientId\", \"12345678-3456-7890-5678-012345678901\"),\n Map.entry(\"azureTenantId\", \"66666666-3456-7890-5678-012345678901\")\n ))\n .repositoryName(\"repo1\")\n .repositoryOwner(\"owner1\")\n .resourceGroupName(\"resourceGroup1\")\n .tags(Map.of(\"appname\", \"testApp\"))\n .workflowName(\"workflow1\")\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 workflow = new azure_native.devhub.Workflow(\"workflow\", {\n acr: {\n acrRegistryName: \"registry1\",\n acrRepositoryName: \"repo1\",\n acrResourceGroup: \"resourceGroup1\",\n acrSubscriptionId: \"subscriptionId1\",\n },\n aksResourceId: \"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\",\n branchName: \"branch1\",\n deploymentProperties: {\n kubeManifestLocations: [\"/src/manifests/\"],\n manifestType: \"kube\",\n overrides: {\n key1: \"value1\",\n },\n },\n dockerBuildContext: \"repo1/src/\",\n dockerfile: \"repo1/images/Dockerfile\",\n location: \"location1\",\n namespace: \"namespace1\",\n oidcCredentials: {\n azureClientId: \"12345678-3456-7890-5678-012345678901\",\n azureTenantId: \"66666666-3456-7890-5678-012345678901\",\n },\n repositoryName: \"repo1\",\n repositoryOwner: \"owner1\",\n resourceGroupName: \"resourceGroup1\",\n tags: {\n appname: \"testApp\",\n },\n workflowName: \"workflow1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nworkflow = azure_native.devhub.Workflow(\"workflow\",\n acr=azure_native.devhub.ACRArgs(\n acr_registry_name=\"registry1\",\n acr_repository_name=\"repo1\",\n acr_resource_group=\"resourceGroup1\",\n acr_subscription_id=\"subscriptionId1\",\n ),\n aks_resource_id=\"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\",\n branch_name=\"branch1\",\n deployment_properties=azure_native.devhub.DeploymentPropertiesArgs(\n kube_manifest_locations=[\"/src/manifests/\"],\n manifest_type=\"kube\",\n overrides={\n \"key1\": \"value1\",\n },\n ),\n docker_build_context=\"repo1/src/\",\n dockerfile=\"repo1/images/Dockerfile\",\n location=\"location1\",\n namespace=\"namespace1\",\n oidc_credentials=azure_native.devhub.GitHubWorkflowProfileOidcCredentialsArgs(\n azure_client_id=\"12345678-3456-7890-5678-012345678901\",\n azure_tenant_id=\"66666666-3456-7890-5678-012345678901\",\n ),\n repository_name=\"repo1\",\n repository_owner=\"owner1\",\n resource_group_name=\"resourceGroup1\",\n tags={\n \"appname\": \"testApp\",\n },\n workflow_name=\"workflow1\")\n\n```\n\n```yaml\nresources:\n workflow:\n type: azure-native:devhub:Workflow\n properties:\n acr:\n acrRegistryName: registry1\n acrRepositoryName: repo1\n acrResourceGroup: resourceGroup1\n acrSubscriptionId: subscriptionId1\n aksResourceId: /subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\n branchName: branch1\n deploymentProperties:\n kubeManifestLocations:\n - /src/manifests/\n manifestType: kube\n overrides:\n key1: value1\n dockerBuildContext: repo1/src/\n dockerfile: repo1/images/Dockerfile\n location: location1\n namespace: namespace1\n oidcCredentials:\n azureClientId: 12345678-3456-7890-5678-012345678901\n azureTenantId: 66666666-3456-7890-5678-012345678901\n repositoryName: repo1\n repositoryOwner: owner1\n resourceGroupName: resourceGroup1\n tags:\n appname: testApp\n workflowName: workflow1\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create Workflow With Artifact Generation\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var workflow = new AzureNative.DevHub.Workflow(\"workflow\", new()\n {\n Acr = new AzureNative.DevHub.Inputs.ACRArgs\n {\n AcrRegistryName = \"registry1\",\n AcrRepositoryName = \"repo1\",\n AcrResourceGroup = \"resourceGroup1\",\n AcrSubscriptionId = \"subscriptionId1\",\n },\n AksResourceId = \"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\",\n AppName = \"my-app\",\n BranchName = \"branch1\",\n DeploymentProperties = new AzureNative.DevHub.Inputs.DeploymentPropertiesArgs\n {\n KubeManifestLocations = new[]\n {\n \"/src/manifests/\",\n },\n ManifestType = \"kube\",\n Overrides = \n {\n { \"key1\", \"value1\" },\n },\n },\n DockerBuildContext = \"repo1/src/\",\n Dockerfile = \"repo1/images/Dockerfile\",\n DockerfileGenerationMode = \"enabled\",\n DockerfileOutputDirectory = \"./\",\n GenerationLanguage = \"javascript\",\n ImageName = \"myimage\",\n ImageTag = \"latest\",\n LanguageVersion = \"14\",\n Location = \"location1\",\n ManifestGenerationMode = \"enabled\",\n ManifestOutputDirectory = \"./\",\n ManifestType = \"kube\",\n OidcCredentials = new AzureNative.DevHub.Inputs.GitHubWorkflowProfileOidcCredentialsArgs\n {\n AzureClientId = \"12345678-3456-7890-5678-012345678901\",\n AzureTenantId = \"66666666-3456-7890-5678-012345678901\",\n },\n Port = \"80\",\n RepositoryName = \"repo1\",\n RepositoryOwner = \"owner1\",\n ResourceGroupName = \"resourceGroup1\",\n Tags = \n {\n { \"appname\", \"testApp\" },\n },\n WorkflowName = \"workflow1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/devhub/v2\"\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 := devhub.NewWorkflow(ctx, \"workflow\", \u0026devhub.WorkflowArgs{\n\t\t\tAcr: \u0026devhub.ACRArgs{\n\t\t\t\tAcrRegistryName: pulumi.String(\"registry1\"),\n\t\t\t\tAcrRepositoryName: pulumi.String(\"repo1\"),\n\t\t\t\tAcrResourceGroup: pulumi.String(\"resourceGroup1\"),\n\t\t\t\tAcrSubscriptionId: pulumi.String(\"subscriptionId1\"),\n\t\t\t},\n\t\t\tAksResourceId: pulumi.String(\"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\"),\n\t\t\tAppName: pulumi.String(\"my-app\"),\n\t\t\tBranchName: pulumi.String(\"branch1\"),\n\t\t\tDeploymentProperties: \u0026devhub.DeploymentPropertiesArgs{\n\t\t\t\tKubeManifestLocations: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/src/manifests/\"),\n\t\t\t\t},\n\t\t\t\tManifestType: pulumi.String(\"kube\"),\n\t\t\t\tOverrides: pulumi.StringMap{\n\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDockerBuildContext: pulumi.String(\"repo1/src/\"),\n\t\t\tDockerfile: pulumi.String(\"repo1/images/Dockerfile\"),\n\t\t\tDockerfileGenerationMode: pulumi.String(\"enabled\"),\n\t\t\tDockerfileOutputDirectory: pulumi.String(\"./\"),\n\t\t\tGenerationLanguage: pulumi.String(\"javascript\"),\n\t\t\tImageName: pulumi.String(\"myimage\"),\n\t\t\tImageTag: pulumi.String(\"latest\"),\n\t\t\tLanguageVersion: pulumi.String(\"14\"),\n\t\t\tLocation: pulumi.String(\"location1\"),\n\t\t\tManifestGenerationMode: pulumi.String(\"enabled\"),\n\t\t\tManifestOutputDirectory: pulumi.String(\"./\"),\n\t\t\tManifestType: pulumi.String(\"kube\"),\n\t\t\tOidcCredentials: \u0026devhub.GitHubWorkflowProfileOidcCredentialsArgs{\n\t\t\t\tAzureClientId: pulumi.String(\"12345678-3456-7890-5678-012345678901\"),\n\t\t\t\tAzureTenantId: pulumi.String(\"66666666-3456-7890-5678-012345678901\"),\n\t\t\t},\n\t\t\tPort: pulumi.String(\"80\"),\n\t\t\tRepositoryName: pulumi.String(\"repo1\"),\n\t\t\tRepositoryOwner: pulumi.String(\"owner1\"),\n\t\t\tResourceGroupName: pulumi.String(\"resourceGroup1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"appname\": pulumi.String(\"testApp\"),\n\t\t\t},\n\t\t\tWorkflowName: pulumi.String(\"workflow1\"),\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.devhub.Workflow;\nimport com.pulumi.azurenative.devhub.WorkflowArgs;\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 workflow = new Workflow(\"workflow\", WorkflowArgs.builder() \n .acr(Map.ofEntries(\n Map.entry(\"acrRegistryName\", \"registry1\"),\n Map.entry(\"acrRepositoryName\", \"repo1\"),\n Map.entry(\"acrResourceGroup\", \"resourceGroup1\"),\n Map.entry(\"acrSubscriptionId\", \"subscriptionId1\")\n ))\n .aksResourceId(\"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\")\n .appName(\"my-app\")\n .branchName(\"branch1\")\n .deploymentProperties(Map.ofEntries(\n Map.entry(\"kubeManifestLocations\", \"/src/manifests/\"),\n Map.entry(\"manifestType\", \"kube\"),\n Map.entry(\"overrides\", Map.of(\"key1\", \"value1\"))\n ))\n .dockerBuildContext(\"repo1/src/\")\n .dockerfile(\"repo1/images/Dockerfile\")\n .dockerfileGenerationMode(\"enabled\")\n .dockerfileOutputDirectory(\"./\")\n .generationLanguage(\"javascript\")\n .imageName(\"myimage\")\n .imageTag(\"latest\")\n .languageVersion(\"14\")\n .location(\"location1\")\n .manifestGenerationMode(\"enabled\")\n .manifestOutputDirectory(\"./\")\n .manifestType(\"kube\")\n .oidcCredentials(Map.ofEntries(\n Map.entry(\"azureClientId\", \"12345678-3456-7890-5678-012345678901\"),\n Map.entry(\"azureTenantId\", \"66666666-3456-7890-5678-012345678901\")\n ))\n .port(\"80\")\n .repositoryName(\"repo1\")\n .repositoryOwner(\"owner1\")\n .resourceGroupName(\"resourceGroup1\")\n .tags(Map.of(\"appname\", \"testApp\"))\n .workflowName(\"workflow1\")\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 workflow = new azure_native.devhub.Workflow(\"workflow\", {\n acr: {\n acrRegistryName: \"registry1\",\n acrRepositoryName: \"repo1\",\n acrResourceGroup: \"resourceGroup1\",\n acrSubscriptionId: \"subscriptionId1\",\n },\n aksResourceId: \"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\",\n appName: \"my-app\",\n branchName: \"branch1\",\n deploymentProperties: {\n kubeManifestLocations: [\"/src/manifests/\"],\n manifestType: \"kube\",\n overrides: {\n key1: \"value1\",\n },\n },\n dockerBuildContext: \"repo1/src/\",\n dockerfile: \"repo1/images/Dockerfile\",\n dockerfileGenerationMode: \"enabled\",\n dockerfileOutputDirectory: \"./\",\n generationLanguage: \"javascript\",\n imageName: \"myimage\",\n imageTag: \"latest\",\n languageVersion: \"14\",\n location: \"location1\",\n manifestGenerationMode: \"enabled\",\n manifestOutputDirectory: \"./\",\n manifestType: \"kube\",\n oidcCredentials: {\n azureClientId: \"12345678-3456-7890-5678-012345678901\",\n azureTenantId: \"66666666-3456-7890-5678-012345678901\",\n },\n port: \"80\",\n repositoryName: \"repo1\",\n repositoryOwner: \"owner1\",\n resourceGroupName: \"resourceGroup1\",\n tags: {\n appname: \"testApp\",\n },\n workflowName: \"workflow1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nworkflow = azure_native.devhub.Workflow(\"workflow\",\n acr=azure_native.devhub.ACRArgs(\n acr_registry_name=\"registry1\",\n acr_repository_name=\"repo1\",\n acr_resource_group=\"resourceGroup1\",\n acr_subscription_id=\"subscriptionId1\",\n ),\n aks_resource_id=\"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\",\n app_name=\"my-app\",\n branch_name=\"branch1\",\n deployment_properties=azure_native.devhub.DeploymentPropertiesArgs(\n kube_manifest_locations=[\"/src/manifests/\"],\n manifest_type=\"kube\",\n overrides={\n \"key1\": \"value1\",\n },\n ),\n docker_build_context=\"repo1/src/\",\n dockerfile=\"repo1/images/Dockerfile\",\n dockerfile_generation_mode=\"enabled\",\n dockerfile_output_directory=\"./\",\n generation_language=\"javascript\",\n image_name=\"myimage\",\n image_tag=\"latest\",\n language_version=\"14\",\n location=\"location1\",\n manifest_generation_mode=\"enabled\",\n manifest_output_directory=\"./\",\n manifest_type=\"kube\",\n oidc_credentials=azure_native.devhub.GitHubWorkflowProfileOidcCredentialsArgs(\n azure_client_id=\"12345678-3456-7890-5678-012345678901\",\n azure_tenant_id=\"66666666-3456-7890-5678-012345678901\",\n ),\n port=\"80\",\n repository_name=\"repo1\",\n repository_owner=\"owner1\",\n resource_group_name=\"resourceGroup1\",\n tags={\n \"appname\": \"testApp\",\n },\n workflow_name=\"workflow1\")\n\n```\n\n```yaml\nresources:\n workflow:\n type: azure-native:devhub:Workflow\n properties:\n acr:\n acrRegistryName: registry1\n acrRepositoryName: repo1\n acrResourceGroup: resourceGroup1\n acrSubscriptionId: subscriptionId1\n aksResourceId: /subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\n appName: my-app\n branchName: branch1\n deploymentProperties:\n kubeManifestLocations:\n - /src/manifests/\n manifestType: kube\n overrides:\n key1: value1\n dockerBuildContext: repo1/src/\n dockerfile: repo1/images/Dockerfile\n dockerfileGenerationMode: enabled\n dockerfileOutputDirectory: ./\n generationLanguage: javascript\n imageName: myimage\n imageTag: latest\n languageVersion: '14'\n location: location1\n manifestGenerationMode: enabled\n manifestOutputDirectory: ./\n manifestType: kube\n oidcCredentials:\n azureClientId: 12345678-3456-7890-5678-012345678901\n azureTenantId: 66666666-3456-7890-5678-012345678901\n port: '80'\n repositoryName: repo1\n repositoryOwner: owner1\n resourceGroupName: resourceGroup1\n tags:\n appname: testApp\n workflowName: workflow1\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:devhub:Workflow workflow1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevHub/workflows/{workflowName} \n```\n", + "description": "Resource representation of a workflow\nAzure REST API version: 2022-10-11-preview. Prior API version in Azure Native 1.x: 2022-04-01-preview.\n\nOther available API versions: 2023-08-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Create Workflow\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var workflow = new AzureNative.DevHub.Workflow(\"workflow\", new()\n {\n GithubWorkflowProfile = new AzureNative.DevHub.Inputs.GitHubWorkflowProfileArgs\n {\n Acr = new AzureNative.DevHub.Inputs.ACRArgs\n {\n AcrRegistryName = \"registry1\",\n AcrRepositoryName = \"repo1\",\n AcrResourceGroup = \"resourceGroup1\",\n AcrSubscriptionId = \"subscriptionId1\",\n },\n AksResourceId = \"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\",\n BranchName = \"branch1\",\n DeploymentProperties = new AzureNative.DevHub.Inputs.DeploymentPropertiesArgs\n {\n KubeManifestLocations = new[]\n {\n \"/src/manifests/\",\n },\n ManifestType = \"kube\",\n Overrides = \n {\n { \"key1\", \"value1\" },\n },\n },\n DockerBuildContext = \"repo1/src/\",\n Dockerfile = \"repo1/images/Dockerfile\",\n Namespace = \"namespace1\",\n OidcCredentials = new AzureNative.DevHub.Inputs.GitHubWorkflowProfileOidcCredentialsArgs\n {\n AzureClientId = \"12345678-3456-7890-5678-012345678901\",\n AzureTenantId = \"66666666-3456-7890-5678-012345678901\",\n },\n RepositoryName = \"repo1\",\n RepositoryOwner = \"owner1\",\n },\n Location = \"location1\",\n ResourceGroupName = \"resourceGroup1\",\n Tags = \n {\n { \"appname\", \"testApp\" },\n },\n WorkflowName = \"workflow1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/devhub/v2\"\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 := devhub.NewWorkflow(ctx, \"workflow\", \u0026devhub.WorkflowArgs{\n\t\t\tGithubWorkflowProfile: devhub.GitHubWorkflowProfileResponse{\n\t\t\t\tAcr: \u0026devhub.ACRArgs{\n\t\t\t\t\tAcrRegistryName: pulumi.String(\"registry1\"),\n\t\t\t\t\tAcrRepositoryName: pulumi.String(\"repo1\"),\n\t\t\t\t\tAcrResourceGroup: pulumi.String(\"resourceGroup1\"),\n\t\t\t\t\tAcrSubscriptionId: pulumi.String(\"subscriptionId1\"),\n\t\t\t\t},\n\t\t\t\tAksResourceId: pulumi.String(\"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\"),\n\t\t\t\tBranchName: pulumi.String(\"branch1\"),\n\t\t\t\tDeploymentProperties: \u0026devhub.DeploymentPropertiesArgs{\n\t\t\t\t\tKubeManifestLocations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/src/manifests/\"),\n\t\t\t\t\t},\n\t\t\t\t\tManifestType: pulumi.String(\"kube\"),\n\t\t\t\t\tOverrides: pulumi.StringMap{\n\t\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDockerBuildContext: pulumi.String(\"repo1/src/\"),\n\t\t\t\tDockerfile: pulumi.String(\"repo1/images/Dockerfile\"),\n\t\t\t\tNamespace: pulumi.String(\"namespace1\"),\n\t\t\t\tOidcCredentials: \u0026devhub.GitHubWorkflowProfileOidcCredentialsArgs{\n\t\t\t\t\tAzureClientId: pulumi.String(\"12345678-3456-7890-5678-012345678901\"),\n\t\t\t\t\tAzureTenantId: pulumi.String(\"66666666-3456-7890-5678-012345678901\"),\n\t\t\t\t},\n\t\t\t\tRepositoryName: pulumi.String(\"repo1\"),\n\t\t\t\tRepositoryOwner: pulumi.String(\"owner1\"),\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"location1\"),\n\t\t\tResourceGroupName: pulumi.String(\"resourceGroup1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"appname\": pulumi.String(\"testApp\"),\n\t\t\t},\n\t\t\tWorkflowName: pulumi.String(\"workflow1\"),\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.devhub.Workflow;\nimport com.pulumi.azurenative.devhub.WorkflowArgs;\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 workflow = new Workflow(\"workflow\", WorkflowArgs.builder() \n .githubWorkflowProfile(Map.ofEntries(\n Map.entry(\"acr\", Map.ofEntries(\n Map.entry(\"acrRegistryName\", \"registry1\"),\n Map.entry(\"acrRepositoryName\", \"repo1\"),\n Map.entry(\"acrResourceGroup\", \"resourceGroup1\"),\n Map.entry(\"acrSubscriptionId\", \"subscriptionId1\")\n )),\n Map.entry(\"aksResourceId\", \"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\"),\n Map.entry(\"branchName\", \"branch1\"),\n Map.entry(\"deploymentProperties\", Map.ofEntries(\n Map.entry(\"kubeManifestLocations\", \"/src/manifests/\"),\n Map.entry(\"manifestType\", \"kube\"),\n Map.entry(\"overrides\", Map.of(\"key1\", \"value1\"))\n )),\n Map.entry(\"dockerBuildContext\", \"repo1/src/\"),\n Map.entry(\"dockerfile\", \"repo1/images/Dockerfile\"),\n Map.entry(\"namespace\", \"namespace1\"),\n Map.entry(\"oidcCredentials\", Map.ofEntries(\n Map.entry(\"azureClientId\", \"12345678-3456-7890-5678-012345678901\"),\n Map.entry(\"azureTenantId\", \"66666666-3456-7890-5678-012345678901\")\n )),\n Map.entry(\"repositoryName\", \"repo1\"),\n Map.entry(\"repositoryOwner\", \"owner1\")\n ))\n .location(\"location1\")\n .resourceGroupName(\"resourceGroup1\")\n .tags(Map.of(\"appname\", \"testApp\"))\n .workflowName(\"workflow1\")\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 workflow = new azure_native.devhub.Workflow(\"workflow\", {\n githubWorkflowProfile: {\n acr: {\n acrRegistryName: \"registry1\",\n acrRepositoryName: \"repo1\",\n acrResourceGroup: \"resourceGroup1\",\n acrSubscriptionId: \"subscriptionId1\",\n },\n aksResourceId: \"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\",\n branchName: \"branch1\",\n deploymentProperties: {\n kubeManifestLocations: [\"/src/manifests/\"],\n manifestType: \"kube\",\n overrides: {\n key1: \"value1\",\n },\n },\n dockerBuildContext: \"repo1/src/\",\n dockerfile: \"repo1/images/Dockerfile\",\n namespace: \"namespace1\",\n oidcCredentials: {\n azureClientId: \"12345678-3456-7890-5678-012345678901\",\n azureTenantId: \"66666666-3456-7890-5678-012345678901\",\n },\n repositoryName: \"repo1\",\n repositoryOwner: \"owner1\",\n },\n location: \"location1\",\n resourceGroupName: \"resourceGroup1\",\n tags: {\n appname: \"testApp\",\n },\n workflowName: \"workflow1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nworkflow = azure_native.devhub.Workflow(\"workflow\",\n github_workflow_profile=azure_native.devhub.GitHubWorkflowProfileResponseArgs(\n acr=azure_native.devhub.ACRArgs(\n acr_registry_name=\"registry1\",\n acr_repository_name=\"repo1\",\n acr_resource_group=\"resourceGroup1\",\n acr_subscription_id=\"subscriptionId1\",\n ),\n aks_resource_id=\"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\",\n branch_name=\"branch1\",\n deployment_properties=azure_native.devhub.DeploymentPropertiesArgs(\n kube_manifest_locations=[\"/src/manifests/\"],\n manifest_type=\"kube\",\n overrides={\n \"key1\": \"value1\",\n },\n ),\n docker_build_context=\"repo1/src/\",\n dockerfile=\"repo1/images/Dockerfile\",\n namespace=\"namespace1\",\n oidc_credentials=azure_native.devhub.GitHubWorkflowProfileOidcCredentialsArgs(\n azure_client_id=\"12345678-3456-7890-5678-012345678901\",\n azure_tenant_id=\"66666666-3456-7890-5678-012345678901\",\n ),\n repository_name=\"repo1\",\n repository_owner=\"owner1\",\n ),\n location=\"location1\",\n resource_group_name=\"resourceGroup1\",\n tags={\n \"appname\": \"testApp\",\n },\n workflow_name=\"workflow1\")\n\n```\n\n```yaml\nresources:\n workflow:\n type: azure-native:devhub:Workflow\n properties:\n githubWorkflowProfile:\n acr:\n acrRegistryName: registry1\n acrRepositoryName: repo1\n acrResourceGroup: resourceGroup1\n acrSubscriptionId: subscriptionId1\n aksResourceId: /subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\n branchName: branch1\n deploymentProperties:\n kubeManifestLocations:\n - /src/manifests/\n manifestType: kube\n overrides:\n key1: value1\n dockerBuildContext: repo1/src/\n dockerfile: repo1/images/Dockerfile\n namespace: namespace1\n oidcCredentials:\n azureClientId: 12345678-3456-7890-5678-012345678901\n azureTenantId: 66666666-3456-7890-5678-012345678901\n repositoryName: repo1\n repositoryOwner: owner1\n location: location1\n resourceGroupName: resourceGroup1\n tags:\n appname: testApp\n workflowName: workflow1\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Create Workflow With Artifact Generation\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var workflow = new AzureNative.DevHub.Workflow(\"workflow\", new()\n {\n AppName = \"my-app\",\n DockerfileGenerationMode = \"enabled\",\n DockerfileOutputDirectory = \"./\",\n GenerationLanguage = \"javascript\",\n GithubWorkflowProfile = new AzureNative.DevHub.Inputs.GitHubWorkflowProfileArgs\n {\n Acr = new AzureNative.DevHub.Inputs.ACRArgs\n {\n AcrRegistryName = \"registry1\",\n AcrRepositoryName = \"repo1\",\n AcrResourceGroup = \"resourceGroup1\",\n AcrSubscriptionId = \"subscriptionId1\",\n },\n AksResourceId = \"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\",\n BranchName = \"branch1\",\n DeploymentProperties = new AzureNative.DevHub.Inputs.DeploymentPropertiesArgs\n {\n KubeManifestLocations = new[]\n {\n \"/src/manifests/\",\n },\n ManifestType = \"kube\",\n Overrides = \n {\n { \"key1\", \"value1\" },\n },\n },\n DockerBuildContext = \"repo1/src/\",\n Dockerfile = \"repo1/images/Dockerfile\",\n OidcCredentials = new AzureNative.DevHub.Inputs.GitHubWorkflowProfileOidcCredentialsArgs\n {\n AzureClientId = \"12345678-3456-7890-5678-012345678901\",\n AzureTenantId = \"66666666-3456-7890-5678-012345678901\",\n },\n RepositoryName = \"repo1\",\n RepositoryOwner = \"owner1\",\n },\n ImageName = \"myimage\",\n ImageTag = \"latest\",\n LanguageVersion = \"14\",\n Location = \"location1\",\n ManifestGenerationMode = \"enabled\",\n ManifestOutputDirectory = \"./\",\n ManifestType = \"kube\",\n Namespace = \"my-namespace\",\n Port = \"80\",\n ResourceGroupName = \"resourceGroup1\",\n Tags = \n {\n { \"appname\", \"testApp\" },\n },\n WorkflowName = \"workflow1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/devhub/v2\"\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 := devhub.NewWorkflow(ctx, \"workflow\", \u0026devhub.WorkflowArgs{\n\t\t\tAppName: pulumi.String(\"my-app\"),\n\t\t\tDockerfileGenerationMode: pulumi.String(\"enabled\"),\n\t\t\tDockerfileOutputDirectory: pulumi.String(\"./\"),\n\t\t\tGenerationLanguage: pulumi.String(\"javascript\"),\n\t\t\tGithubWorkflowProfile: devhub.GitHubWorkflowProfileResponse{\n\t\t\t\tAcr: \u0026devhub.ACRArgs{\n\t\t\t\t\tAcrRegistryName: pulumi.String(\"registry1\"),\n\t\t\t\t\tAcrRepositoryName: pulumi.String(\"repo1\"),\n\t\t\t\t\tAcrResourceGroup: pulumi.String(\"resourceGroup1\"),\n\t\t\t\t\tAcrSubscriptionId: pulumi.String(\"subscriptionId1\"),\n\t\t\t\t},\n\t\t\t\tAksResourceId: pulumi.String(\"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\"),\n\t\t\t\tBranchName: pulumi.String(\"branch1\"),\n\t\t\t\tDeploymentProperties: \u0026devhub.DeploymentPropertiesArgs{\n\t\t\t\t\tKubeManifestLocations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"/src/manifests/\"),\n\t\t\t\t\t},\n\t\t\t\t\tManifestType: pulumi.String(\"kube\"),\n\t\t\t\t\tOverrides: pulumi.StringMap{\n\t\t\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDockerBuildContext: pulumi.String(\"repo1/src/\"),\n\t\t\t\tDockerfile: pulumi.String(\"repo1/images/Dockerfile\"),\n\t\t\t\tOidcCredentials: \u0026devhub.GitHubWorkflowProfileOidcCredentialsArgs{\n\t\t\t\t\tAzureClientId: pulumi.String(\"12345678-3456-7890-5678-012345678901\"),\n\t\t\t\t\tAzureTenantId: pulumi.String(\"66666666-3456-7890-5678-012345678901\"),\n\t\t\t\t},\n\t\t\t\tRepositoryName: pulumi.String(\"repo1\"),\n\t\t\t\tRepositoryOwner: pulumi.String(\"owner1\"),\n\t\t\t},\n\t\t\tImageName: pulumi.String(\"myimage\"),\n\t\t\tImageTag: pulumi.String(\"latest\"),\n\t\t\tLanguageVersion: pulumi.String(\"14\"),\n\t\t\tLocation: pulumi.String(\"location1\"),\n\t\t\tManifestGenerationMode: pulumi.String(\"enabled\"),\n\t\t\tManifestOutputDirectory: pulumi.String(\"./\"),\n\t\t\tManifestType: pulumi.String(\"kube\"),\n\t\t\tNamespace: pulumi.String(\"my-namespace\"),\n\t\t\tPort: pulumi.String(\"80\"),\n\t\t\tResourceGroupName: pulumi.String(\"resourceGroup1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"appname\": pulumi.String(\"testApp\"),\n\t\t\t},\n\t\t\tWorkflowName: pulumi.String(\"workflow1\"),\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.devhub.Workflow;\nimport com.pulumi.azurenative.devhub.WorkflowArgs;\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 workflow = new Workflow(\"workflow\", WorkflowArgs.builder() \n .appName(\"my-app\")\n .dockerfileGenerationMode(\"enabled\")\n .dockerfileOutputDirectory(\"./\")\n .generationLanguage(\"javascript\")\n .githubWorkflowProfile(Map.ofEntries(\n Map.entry(\"acr\", Map.ofEntries(\n Map.entry(\"acrRegistryName\", \"registry1\"),\n Map.entry(\"acrRepositoryName\", \"repo1\"),\n Map.entry(\"acrResourceGroup\", \"resourceGroup1\"),\n Map.entry(\"acrSubscriptionId\", \"subscriptionId1\")\n )),\n Map.entry(\"aksResourceId\", \"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\"),\n Map.entry(\"branchName\", \"branch1\"),\n Map.entry(\"deploymentProperties\", Map.ofEntries(\n Map.entry(\"kubeManifestLocations\", \"/src/manifests/\"),\n Map.entry(\"manifestType\", \"kube\"),\n Map.entry(\"overrides\", Map.of(\"key1\", \"value1\"))\n )),\n Map.entry(\"dockerBuildContext\", \"repo1/src/\"),\n Map.entry(\"dockerfile\", \"repo1/images/Dockerfile\"),\n Map.entry(\"oidcCredentials\", Map.ofEntries(\n Map.entry(\"azureClientId\", \"12345678-3456-7890-5678-012345678901\"),\n Map.entry(\"azureTenantId\", \"66666666-3456-7890-5678-012345678901\")\n )),\n Map.entry(\"repositoryName\", \"repo1\"),\n Map.entry(\"repositoryOwner\", \"owner1\")\n ))\n .imageName(\"myimage\")\n .imageTag(\"latest\")\n .languageVersion(\"14\")\n .location(\"location1\")\n .manifestGenerationMode(\"enabled\")\n .manifestOutputDirectory(\"./\")\n .manifestType(\"kube\")\n .namespace(\"my-namespace\")\n .port(\"80\")\n .resourceGroupName(\"resourceGroup1\")\n .tags(Map.of(\"appname\", \"testApp\"))\n .workflowName(\"workflow1\")\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 workflow = new azure_native.devhub.Workflow(\"workflow\", {\n appName: \"my-app\",\n dockerfileGenerationMode: \"enabled\",\n dockerfileOutputDirectory: \"./\",\n generationLanguage: \"javascript\",\n githubWorkflowProfile: {\n acr: {\n acrRegistryName: \"registry1\",\n acrRepositoryName: \"repo1\",\n acrResourceGroup: \"resourceGroup1\",\n acrSubscriptionId: \"subscriptionId1\",\n },\n aksResourceId: \"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\",\n branchName: \"branch1\",\n deploymentProperties: {\n kubeManifestLocations: [\"/src/manifests/\"],\n manifestType: \"kube\",\n overrides: {\n key1: \"value1\",\n },\n },\n dockerBuildContext: \"repo1/src/\",\n dockerfile: \"repo1/images/Dockerfile\",\n oidcCredentials: {\n azureClientId: \"12345678-3456-7890-5678-012345678901\",\n azureTenantId: \"66666666-3456-7890-5678-012345678901\",\n },\n repositoryName: \"repo1\",\n repositoryOwner: \"owner1\",\n },\n imageName: \"myimage\",\n imageTag: \"latest\",\n languageVersion: \"14\",\n location: \"location1\",\n manifestGenerationMode: \"enabled\",\n manifestOutputDirectory: \"./\",\n manifestType: \"kube\",\n namespace: \"my-namespace\",\n port: \"80\",\n resourceGroupName: \"resourceGroup1\",\n tags: {\n appname: \"testApp\",\n },\n workflowName: \"workflow1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nworkflow = azure_native.devhub.Workflow(\"workflow\",\n app_name=\"my-app\",\n dockerfile_generation_mode=\"enabled\",\n dockerfile_output_directory=\"./\",\n generation_language=\"javascript\",\n github_workflow_profile=azure_native.devhub.GitHubWorkflowProfileResponseArgs(\n acr=azure_native.devhub.ACRArgs(\n acr_registry_name=\"registry1\",\n acr_repository_name=\"repo1\",\n acr_resource_group=\"resourceGroup1\",\n acr_subscription_id=\"subscriptionId1\",\n ),\n aks_resource_id=\"/subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\",\n branch_name=\"branch1\",\n deployment_properties=azure_native.devhub.DeploymentPropertiesArgs(\n kube_manifest_locations=[\"/src/manifests/\"],\n manifest_type=\"kube\",\n overrides={\n \"key1\": \"value1\",\n },\n ),\n docker_build_context=\"repo1/src/\",\n dockerfile=\"repo1/images/Dockerfile\",\n oidc_credentials=azure_native.devhub.GitHubWorkflowProfileOidcCredentialsArgs(\n azure_client_id=\"12345678-3456-7890-5678-012345678901\",\n azure_tenant_id=\"66666666-3456-7890-5678-012345678901\",\n ),\n repository_name=\"repo1\",\n repository_owner=\"owner1\",\n ),\n image_name=\"myimage\",\n image_tag=\"latest\",\n language_version=\"14\",\n location=\"location1\",\n manifest_generation_mode=\"enabled\",\n manifest_output_directory=\"./\",\n manifest_type=\"kube\",\n namespace=\"my-namespace\",\n port=\"80\",\n resource_group_name=\"resourceGroup1\",\n tags={\n \"appname\": \"testApp\",\n },\n workflow_name=\"workflow1\")\n\n```\n\n```yaml\nresources:\n workflow:\n type: azure-native:devhub:Workflow\n properties:\n appName: my-app\n dockerfileGenerationMode: enabled\n dockerfileOutputDirectory: ./\n generationLanguage: javascript\n githubWorkflowProfile:\n acr:\n acrRegistryName: registry1\n acrRepositoryName: repo1\n acrResourceGroup: resourceGroup1\n acrSubscriptionId: subscriptionId1\n aksResourceId: /subscriptions/subscriptionId1/resourcegroups/resourceGroup1/providers/Microsoft.ContainerService/managedClusters/cluster1\n branchName: branch1\n deploymentProperties:\n kubeManifestLocations:\n - /src/manifests/\n manifestType: kube\n overrides:\n key1: value1\n dockerBuildContext: repo1/src/\n dockerfile: repo1/images/Dockerfile\n oidcCredentials:\n azureClientId: 12345678-3456-7890-5678-012345678901\n azureTenantId: 66666666-3456-7890-5678-012345678901\n repositoryName: repo1\n repositoryOwner: owner1\n imageName: myimage\n imageTag: latest\n languageVersion: '14'\n location: location1\n manifestGenerationMode: enabled\n manifestOutputDirectory: ./\n manifestType: kube\n namespace: my-namespace\n port: '80'\n resourceGroupName: resourceGroup1\n tags:\n appname: testApp\n workflowName: workflow1\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:devhub:Workflow workflow1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevHub/workflows/{workflowName} \n```\n", "properties": { - "acr": { - "type": "object", - "$ref": "#/types/azure-native:devhub:ACRResponse", - "description": "Information on the azure container registry" - }, - "aksResourceId": { - "type": "string", - "description": "The Azure Kubernetes Cluster Resource the application will be deployed to." - }, "appName": { "type": "string", "description": "The name of the app." }, - "authStatus": { - "type": "string", - "description": "Determines the authorization status of requests." - }, - "branchName": { - "type": "string", - "description": "Repository Branch Name" - }, "builderVersion": { "type": "string", "description": "The version of the language image used for building the code in the generated dockerfile." }, - "deploymentProperties": { - "type": "object", - "$ref": "#/types/azure-native:devhub:DeploymentPropertiesResponse" - }, - "dockerBuildContext": { - "type": "string", - "description": "Path to Dockerfile Build Context within the repository." - }, - "dockerfile": { - "type": "string", - "description": "Path to the Dockerfile within the repository." - }, "dockerfileGenerationMode": { "type": "string", "description": "The mode of generation to be used for generating Dockerfiles." @@ -530252,6 +530815,11 @@ "type": "string", "description": "The programming language used." }, + "githubWorkflowProfile": { + "type": "object", + "$ref": "#/types/azure-native:devhub:GitHubWorkflowProfileResponse", + "description": "Profile of a github workflow." + }, "imageName": { "type": "string", "description": "The name of the image to be generated." @@ -530264,10 +530832,6 @@ "type": "string", "description": "The version of the language image used for execution in the generated dockerfile." }, - "lastWorkflowRun": { - "type": "object", - "$ref": "#/types/azure-native:devhub:WorkflowRunResponse" - }, "location": { "type": "string", "description": "The geo-location where the resource lives" @@ -530290,37 +530854,12 @@ }, "namespace": { "type": "string", - "description": "Kubernetes namespace the application is deployed to." - }, - "oidcCredentials": { - "type": "object", - "$ref": "#/types/azure-native:devhub:GitHubWorkflowProfileResponseOidcCredentials", - "description": "The fields needed for OIDC with GitHub." + "description": "The namespace to deploy the application to." }, "port": { "type": "string", "description": "The port the application is exposed on." }, - "prStatus": { - "type": "string", - "description": "The status of the Pull Request submitted against the users repository." - }, - "prURL": { - "type": "string", - "description": "The URL to the Pull Request submitted against the users repository." - }, - "pullNumber": { - "type": "integer", - "description": "The number associated with the submitted pull request." - }, - "repositoryName": { - "type": "string", - "description": "Repository Name" - }, - "repositoryOwner": { - "type": "string", - "description": "Repository Owner" - }, "systemData": { "type": "object", "$ref": "#/types/azure-native:devhub:SystemDataResponse", @@ -530340,49 +530879,20 @@ }, "type": "object", "required": [ - "authStatus", "location", "name", - "prStatus", - "prURL", - "pullNumber", "systemData", "type" ], "inputProperties": { - "acr": { - "type": "object", - "$ref": "#/types/azure-native:devhub:ACR", - "description": "Information on the azure container registry" - }, - "aksResourceId": { - "type": "string", - "description": "The Azure Kubernetes Cluster Resource the application will be deployed to." - }, "appName": { "type": "string", "description": "The name of the app." }, - "branchName": { - "type": "string", - "description": "Repository Branch Name" - }, "builderVersion": { "type": "string", "description": "The version of the language image used for building the code in the generated dockerfile." }, - "deploymentProperties": { - "type": "object", - "$ref": "#/types/azure-native:devhub:DeploymentProperties" - }, - "dockerBuildContext": { - "type": "string", - "description": "Path to Dockerfile Build Context within the repository." - }, - "dockerfile": { - "type": "string", - "description": "Path to the Dockerfile within the repository." - }, "dockerfileGenerationMode": { "oneOf": [ { @@ -530409,6 +530919,11 @@ ], "description": "The programming language used." }, + "githubWorkflowProfile": { + "type": "object", + "$ref": "#/types/azure-native:devhub:GitHubWorkflowProfile", + "description": "Profile of a github workflow." + }, "imageName": { "type": "string", "description": "The name of the image to be generated." @@ -530421,10 +530936,6 @@ "type": "string", "description": "The version of the language image used for execution in the generated dockerfile." }, - "lastWorkflowRun": { - "type": "object", - "$ref": "#/types/azure-native:devhub:WorkflowRun" - }, "location": { "type": "string", "description": "The geo-location where the resource lives", @@ -530458,25 +530969,12 @@ }, "namespace": { "type": "string", - "description": "Kubernetes namespace the application is deployed to." - }, - "oidcCredentials": { - "type": "object", - "$ref": "#/types/azure-native:devhub:GitHubWorkflowProfileOidcCredentials", - "description": "The fields needed for OIDC with GitHub." + "description": "The namespace to deploy the application to." }, "port": { "type": "string", "description": "The port the application is exposed on." }, - "repositoryName": { - "type": "string", - "description": "Repository Name" - }, - "repositoryOwner": { - "type": "string", - "description": "Repository Owner" - }, "resourceGroupName": { "type": "string", "description": "The name of the resource group. The name is case insensitive.", @@ -541528,6 +542026,11 @@ "$ref": "#/types/azure-native:education:SystemDataResponse", "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." }, + "totalBudget": { + "type": "object", + "$ref": "#/types/azure-native:education:AmountResponse", + "description": "Total budget" + }, "type": { "type": "string", "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" @@ -541549,6 +542052,7 @@ "name", "status", "systemData", + "totalBudget", "type" ], "inputProperties": { @@ -573221,7 +573725,7 @@ ] }, "azure-native:machinelearning:WebService": { - "description": "Instance of an Azure ML web service resource.\nAzure REST API version: 2017-01-01. Prior API version in Azure Native 1.x: 2017-01-01.\n\nOther available API versions: 2016-05-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### PUT WebService\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var webService = new AzureNative.MachineLearning.WebService(\"webService\", new()\n {\n Location = \"West US\",\n Properties = new AzureNative.MachineLearning.Inputs.WebServicePropertiesForGraphArgs\n {\n Assets = \n {\n { \"asset1\", new AzureNative.MachineLearning.Inputs.AssetItemArgs\n {\n LocationInfo = new AzureNative.MachineLearning.Inputs.BlobLocationArgs\n {\n Credentials = \"\",\n Uri = \"aml://module/moduleId-1\",\n },\n Name = \"Execute R Script\",\n Type = \"Module\",\n } },\n { \"asset2\", new AzureNative.MachineLearning.Inputs.AssetItemArgs\n {\n LocationInfo = new AzureNative.MachineLearning.Inputs.BlobLocationArgs\n {\n Credentials = \"\",\n Uri = \"aml://module/moduleId-2\",\n },\n Name = \"Import Data\",\n Type = \"Module\",\n } },\n },\n CommitmentPlan = new AzureNative.MachineLearning.Inputs.CommitmentPlanArgs\n {\n Id = \"/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.MachineLearning/commitmentPlans/commitmentPlanName\",\n },\n Description = \"Web Service Description\",\n Diagnostics = new AzureNative.MachineLearning.Inputs.DiagnosticsConfigurationArgs\n {\n Level = \"None\",\n },\n ExampleRequest = new AzureNative.MachineLearning.Inputs.ExampleRequestArgs\n {\n Inputs = \n {\n { \"input1\", new[]\n {\n new[]\n {\n \"age\",\n },\n new[]\n {\n \"workclass\",\n },\n new[]\n {\n \"fnlwgt\",\n },\n new[]\n {\n \"education\",\n },\n new[]\n {\n \"education-num\",\n },\n } },\n },\n },\n ExposeSampleData = true,\n Input = new AzureNative.MachineLearning.Inputs.ServiceInputOutputSpecificationArgs\n {\n Description = \"\",\n Properties = \n {\n { \"input1\", new AzureNative.MachineLearning.Inputs.TableSpecificationArgs\n {\n Description = \"\",\n Properties = \n {\n { \"column_name\", new AzureNative.MachineLearning.Inputs.ColumnSpecificationArgs\n {\n Type = \"String\",\n XMsIsnullable = false,\n } },\n },\n Title = \"\",\n Type = \"object\",\n } },\n },\n Title = \"\",\n Type = \"object\",\n },\n MachineLearningWorkspace = new AzureNative.MachineLearning.Inputs.MachineLearningWorkspaceArgs\n {\n Id = \"workspaceId\",\n },\n Output = new AzureNative.MachineLearning.Inputs.ServiceInputOutputSpecificationArgs\n {\n Description = \"\",\n Properties = \n {\n { \"output1\", new AzureNative.MachineLearning.Inputs.TableSpecificationArgs\n {\n Description = \"\",\n Properties = \n {\n { \"age\", new AzureNative.MachineLearning.Inputs.ColumnSpecificationArgs\n {\n Format = \"Int32\",\n Type = \"Integer\",\n XMsIsnullable = true,\n } },\n { \"workclass\", new AzureNative.MachineLearning.Inputs.ColumnSpecificationArgs\n {\n Type = \"String\",\n XMsIsnullable = false,\n } },\n },\n Title = \"\",\n Type = \"object\",\n } },\n },\n Title = \"\",\n Type = \"object\",\n },\n Package = new AzureNative.MachineLearning.Inputs.GraphPackageArgs\n {\n Edges = new[]\n {\n new AzureNative.MachineLearning.Inputs.GraphEdgeArgs\n {\n SourceNodeId = \"node2\",\n SourcePortId = \"Results dataset\",\n TargetNodeId = \"node1\",\n TargetPortId = \"Dataset2\",\n },\n new AzureNative.MachineLearning.Inputs.GraphEdgeArgs\n {\n SourceNodeId = \"node3\",\n TargetNodeId = \"node1\",\n TargetPortId = \"Dataset1\",\n },\n new AzureNative.MachineLearning.Inputs.GraphEdgeArgs\n {\n SourceNodeId = \"node1\",\n SourcePortId = \"Result Dataset\",\n TargetNodeId = \"node4\",\n },\n },\n GraphParameters = null,\n Nodes = \n {\n { \"node1\", new AzureNative.MachineLearning.Inputs.GraphNodeArgs\n {\n AssetId = \"asset1\",\n Parameters = \n {\n { \"R Script\", new AzureNative.MachineLearning.Inputs.WebServiceParameterArgs\n {\n CertificateThumbprint = \"\",\n Value = \"The R Script\",\n } },\n { \"R Version\", new AzureNative.MachineLearning.Inputs.WebServiceParameterArgs\n {\n CertificateThumbprint = \"\",\n Value = \"CRAN R 3.1.0\",\n } },\n },\n } },\n { \"node2\", new AzureNative.MachineLearning.Inputs.GraphNodeArgs\n {\n AssetId = \"asset2\",\n Parameters = \n {\n { \"Account Key\", new AzureNative.MachineLearning.Inputs.WebServiceParameterArgs\n {\n CertificateThumbprint = \"TheThumbprint\",\n Value = \"Encrypted Key\",\n } },\n { \"Account Name\", new AzureNative.MachineLearning.Inputs.WebServiceParameterArgs\n {\n CertificateThumbprint = \"\",\n Value = \"accountName\",\n } },\n { \"Please Specify Authentication Type\", new AzureNative.MachineLearning.Inputs.WebServiceParameterArgs\n {\n CertificateThumbprint = \"\",\n Value = \"Account\",\n } },\n { \"Please Specify Data Source\", new AzureNative.MachineLearning.Inputs.WebServiceParameterArgs\n {\n CertificateThumbprint = \"\",\n Value = \"AzureBlobStorage\",\n } },\n },\n } },\n { \"node3\", new AzureNative.MachineLearning.Inputs.GraphNodeArgs\n {\n InputId = \"input1\",\n } },\n { \"node4\", new AzureNative.MachineLearning.Inputs.GraphNodeArgs\n {\n OutputId = \"output1\",\n } },\n },\n },\n PackageType = \"Graph\",\n Parameters = null,\n PayloadsInBlobStorage = false,\n ReadOnly = false,\n RealtimeConfiguration = new AzureNative.MachineLearning.Inputs.RealtimeConfigurationArgs\n {\n MaxConcurrentCalls = 4,\n },\n StorageAccount = new AzureNative.MachineLearning.Inputs.StorageAccountArgs\n {\n Key = \"Storage_Key\",\n Name = \"Storage_Name\",\n },\n Title = \"Web Service Title\",\n },\n ResourceGroupName = \"OneResourceGroupName\",\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value2\" },\n },\n WebServiceName = \"TargetWebServiceName\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/machinelearning/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := machinelearning.NewWebService(ctx, \"webService\", \u0026machinelearning.WebServiceArgs{\nLocation: pulumi.String(\"West US\"),\nProperties: interface{}{\nAssets: interface{}{\nAsset1: \u0026machinelearning.AssetItemArgs{\nLocationInfo: \u0026machinelearning.BlobLocationArgs{\nCredentials: pulumi.String(\"\"),\nUri: pulumi.String(\"aml://module/moduleId-1\"),\n},\nName: pulumi.String(\"Execute R Script\"),\nType: pulumi.String(\"Module\"),\n},\nAsset2: \u0026machinelearning.AssetItemArgs{\nLocationInfo: \u0026machinelearning.BlobLocationArgs{\nCredentials: pulumi.String(\"\"),\nUri: pulumi.String(\"aml://module/moduleId-2\"),\n},\nName: pulumi.String(\"Import Data\"),\nType: pulumi.String(\"Module\"),\n},\n},\nCommitmentPlan: \u0026machinelearning.CommitmentPlanTypeArgs{\nId: pulumi.String(\"/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.MachineLearning/commitmentPlans/commitmentPlanName\"),\n},\nDescription: pulumi.String(\"Web Service Description\"),\nDiagnostics: \u0026machinelearning.DiagnosticsConfigurationArgs{\nLevel: pulumi.String(\"None\"),\n},\nExampleRequest: \u0026machinelearning.ExampleRequestArgs{\nInputs: pulumi.ArrayArrayMap{\n\"input1\": pulumi.ArrayArray{\npulumi.Array{\npulumi.Any(\"age\"),\n},\npulumi.Array{\npulumi.Any(\"workclass\"),\n},\npulumi.Array{\npulumi.Any(\"fnlwgt\"),\n},\npulumi.Array{\npulumi.Any(\"education\"),\n},\npulumi.Array{\npulumi.Any(\"education-num\"),\n},\n},\n},\n},\nExposeSampleData: pulumi.Bool(true),\nInput: interface{}{\nDescription: pulumi.String(\"\"),\nProperties: machinelearning.TableSpecificationMap{\n\"input1\": \u0026machinelearning.TableSpecificationArgs{\nDescription: pulumi.String(\"\"),\nProperties: machinelearning.ColumnSpecificationMap{\n\"column_name\": \u0026machinelearning.ColumnSpecificationArgs{\nType: pulumi.String(\"String\"),\nXMsIsnullable: pulumi.Bool(false),\n},\n},\nTitle: pulumi.String(\"\"),\nType: pulumi.String(\"object\"),\n},\n},\nTitle: pulumi.String(\"\"),\nType: pulumi.String(\"object\"),\n},\nMachineLearningWorkspace: \u0026machinelearning.MachineLearningWorkspaceArgs{\nId: pulumi.String(\"workspaceId\"),\n},\nOutput: interface{}{\nDescription: pulumi.String(\"\"),\nProperties: machinelearning.TableSpecificationMap{\n\"output1\": \u0026machinelearning.TableSpecificationArgs{\nDescription: pulumi.String(\"\"),\nProperties: machinelearning.ColumnSpecificationMap{\n\"age\": \u0026machinelearning.ColumnSpecificationArgs{\nFormat: pulumi.String(\"Int32\"),\nType: pulumi.String(\"Integer\"),\nXMsIsnullable: pulumi.Bool(true),\n},\n\"workclass\": \u0026machinelearning.ColumnSpecificationArgs{\nType: pulumi.String(\"String\"),\nXMsIsnullable: pulumi.Bool(false),\n},\n},\nTitle: pulumi.String(\"\"),\nType: pulumi.String(\"object\"),\n},\n},\nTitle: pulumi.String(\"\"),\nType: pulumi.String(\"object\"),\n},\nPackage: interface{}{\nEdges: machinelearning.GraphEdgeArray{\n\u0026machinelearning.GraphEdgeArgs{\nSourceNodeId: pulumi.String(\"node2\"),\nSourcePortId: pulumi.String(\"Results dataset\"),\nTargetNodeId: pulumi.String(\"node1\"),\nTargetPortId: pulumi.String(\"Dataset2\"),\n},\n\u0026machinelearning.GraphEdgeArgs{\nSourceNodeId: pulumi.String(\"node3\"),\nTargetNodeId: pulumi.String(\"node1\"),\nTargetPortId: pulumi.String(\"Dataset1\"),\n},\n\u0026machinelearning.GraphEdgeArgs{\nSourceNodeId: pulumi.String(\"node1\"),\nSourcePortId: pulumi.String(\"Result Dataset\"),\nTargetNodeId: pulumi.String(\"node4\"),\n},\n},\nGraphParameters: nil,\nNodes: machinelearning.GraphNodeMap{\n\"node1\": \u0026machinelearning.GraphNodeArgs{\nAssetId: pulumi.String(\"asset1\"),\nParameters: machinelearning.WebServiceParameterMap{\n\"R Script\": \u0026machinelearning.WebServiceParameterArgs{\nCertificateThumbprint: pulumi.String(\"\"),\nValue: pulumi.Any(\"The R Script\"),\n},\n\"R Version\": \u0026machinelearning.WebServiceParameterArgs{\nCertificateThumbprint: pulumi.String(\"\"),\nValue: pulumi.Any(\"CRAN R 3.1.0\"),\n},\n},\n},\n\"node2\": \u0026machinelearning.GraphNodeArgs{\nAssetId: pulumi.String(\"asset2\"),\nParameters: machinelearning.WebServiceParameterMap{\n\"Account Key\": \u0026machinelearning.WebServiceParameterArgs{\nCertificateThumbprint: pulumi.String(\"TheThumbprint\"),\nValue: pulumi.Any(\"Encrypted Key\"),\n},\n\"Account Name\": \u0026machinelearning.WebServiceParameterArgs{\nCertificateThumbprint: pulumi.String(\"\"),\nValue: pulumi.Any(\"accountName\"),\n},\n\"Please Specify Authentication Type\": \u0026machinelearning.WebServiceParameterArgs{\nCertificateThumbprint: pulumi.String(\"\"),\nValue: pulumi.Any(\"Account\"),\n},\n\"Please Specify Data Source\": \u0026machinelearning.WebServiceParameterArgs{\nCertificateThumbprint: pulumi.String(\"\"),\nValue: pulumi.Any(\"AzureBlobStorage\"),\n},\n},\n},\n\"node3\": \u0026machinelearning.GraphNodeArgs{\nInputId: pulumi.String(\"input1\"),\n},\n\"node4\": \u0026machinelearning.GraphNodeArgs{\nOutputId: pulumi.String(\"output1\"),\n},\n},\n},\nPackageType: pulumi.String(\"Graph\"),\nParameters: nil,\nPayloadsInBlobStorage: pulumi.Bool(false),\nReadOnly: pulumi.Bool(false),\nRealtimeConfiguration: \u0026machinelearning.RealtimeConfigurationArgs{\nMaxConcurrentCalls: pulumi.Int(4),\n},\nStorageAccount: \u0026machinelearning.StorageAccountArgs{\nKey: pulumi.String(\"Storage_Key\"),\nName: pulumi.String(\"Storage_Name\"),\n},\nTitle: pulumi.String(\"Web Service Title\"),\n},\nResourceGroupName: pulumi.String(\"OneResourceGroupName\"),\nTags: pulumi.StringMap{\n\"tag1\": pulumi.String(\"value1\"),\n\"tag2\": pulumi.String(\"value2\"),\n},\nWebServiceName: pulumi.String(\"TargetWebServiceName\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.machinelearning.WebService;\nimport com.pulumi.azurenative.machinelearning.WebServiceArgs;\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 webService = new WebService(\"webService\", WebServiceArgs.builder() \n .location(\"West US\")\n .properties(Map.ofEntries(\n Map.entry(\"assets\", Map.ofEntries(\n Map.entry(\"asset1\", Map.ofEntries(\n Map.entry(\"locationInfo\", Map.ofEntries(\n Map.entry(\"credentials\", \"\"),\n Map.entry(\"uri\", \"aml://module/moduleId-1\")\n )),\n Map.entry(\"name\", \"Execute R Script\"),\n Map.entry(\"type\", \"Module\")\n )),\n Map.entry(\"asset2\", Map.ofEntries(\n Map.entry(\"locationInfo\", Map.ofEntries(\n Map.entry(\"credentials\", \"\"),\n Map.entry(\"uri\", \"aml://module/moduleId-2\")\n )),\n Map.entry(\"name\", \"Import Data\"),\n Map.entry(\"type\", \"Module\")\n ))\n )),\n Map.entry(\"commitmentPlan\", Map.of(\"id\", \"/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.MachineLearning/commitmentPlans/commitmentPlanName\")),\n Map.entry(\"description\", \"Web Service Description\"),\n Map.entry(\"diagnostics\", Map.of(\"level\", \"None\")),\n Map.entry(\"exampleRequest\", Map.of(\"inputs\", Map.of(\"input1\", \n \"age\",\n \"workclass\",\n \"fnlwgt\",\n \"education\",\n \"education-num\"))),\n Map.entry(\"exposeSampleData\", true),\n Map.entry(\"input\", Map.ofEntries(\n Map.entry(\"description\", \"\"),\n Map.entry(\"properties\", Map.of(\"input1\", Map.ofEntries(\n Map.entry(\"description\", \"\"),\n Map.entry(\"properties\", Map.of(\"column_name\", Map.ofEntries(\n Map.entry(\"type\", \"String\"),\n Map.entry(\"xMsIsnullable\", false)\n ))),\n Map.entry(\"title\", \"\"),\n Map.entry(\"type\", \"object\")\n ))),\n Map.entry(\"title\", \"\"),\n Map.entry(\"type\", \"object\")\n )),\n Map.entry(\"machineLearningWorkspace\", Map.of(\"id\", \"workspaceId\")),\n Map.entry(\"output\", Map.ofEntries(\n Map.entry(\"description\", \"\"),\n Map.entry(\"properties\", Map.of(\"output1\", Map.ofEntries(\n Map.entry(\"description\", \"\"),\n Map.entry(\"properties\", Map.ofEntries(\n Map.entry(\"age\", Map.ofEntries(\n Map.entry(\"format\", \"Int32\"),\n Map.entry(\"type\", \"Integer\"),\n Map.entry(\"xMsIsnullable\", true)\n )),\n Map.entry(\"workclass\", Map.ofEntries(\n Map.entry(\"type\", \"String\"),\n Map.entry(\"xMsIsnullable\", false)\n ))\n )),\n Map.entry(\"title\", \"\"),\n Map.entry(\"type\", \"object\")\n ))),\n Map.entry(\"title\", \"\"),\n Map.entry(\"type\", \"object\")\n )),\n Map.entry(\"package\", Map.ofEntries(\n Map.entry(\"edges\", \n Map.ofEntries(\n Map.entry(\"sourceNodeId\", \"node2\"),\n Map.entry(\"sourcePortId\", \"Results dataset\"),\n Map.entry(\"targetNodeId\", \"node1\"),\n Map.entry(\"targetPortId\", \"Dataset2\")\n ),\n Map.ofEntries(\n Map.entry(\"sourceNodeId\", \"node3\"),\n Map.entry(\"targetNodeId\", \"node1\"),\n Map.entry(\"targetPortId\", \"Dataset1\")\n ),\n Map.ofEntries(\n Map.entry(\"sourceNodeId\", \"node1\"),\n Map.entry(\"sourcePortId\", \"Result Dataset\"),\n Map.entry(\"targetNodeId\", \"node4\")\n )),\n Map.entry(\"graphParameters\", ),\n Map.entry(\"nodes\", Map.ofEntries(\n Map.entry(\"node1\", Map.ofEntries(\n Map.entry(\"assetId\", \"asset1\"),\n Map.entry(\"parameters\", Map.ofEntries(\n Map.entry(\"R Script\", Map.ofEntries(\n Map.entry(\"certificateThumbprint\", \"\"),\n Map.entry(\"value\", \"The R Script\")\n )),\n Map.entry(\"R Version\", Map.ofEntries(\n Map.entry(\"certificateThumbprint\", \"\"),\n Map.entry(\"value\", \"CRAN R 3.1.0\")\n ))\n ))\n )),\n Map.entry(\"node2\", Map.ofEntries(\n Map.entry(\"assetId\", \"asset2\"),\n Map.entry(\"parameters\", Map.ofEntries(\n Map.entry(\"Account Key\", Map.ofEntries(\n Map.entry(\"certificateThumbprint\", \"TheThumbprint\"),\n Map.entry(\"value\", \"Encrypted Key\")\n )),\n Map.entry(\"Account Name\", Map.ofEntries(\n Map.entry(\"certificateThumbprint\", \"\"),\n Map.entry(\"value\", \"accountName\")\n )),\n Map.entry(\"Please Specify Authentication Type\", Map.ofEntries(\n Map.entry(\"certificateThumbprint\", \"\"),\n Map.entry(\"value\", \"Account\")\n )),\n Map.entry(\"Please Specify Data Source\", Map.ofEntries(\n Map.entry(\"certificateThumbprint\", \"\"),\n Map.entry(\"value\", \"AzureBlobStorage\")\n ))\n ))\n )),\n Map.entry(\"node3\", Map.of(\"inputId\", \"input1\")),\n Map.entry(\"node4\", Map.of(\"outputId\", \"output1\"))\n ))\n )),\n Map.entry(\"packageType\", \"Graph\"),\n Map.entry(\"parameters\", ),\n Map.entry(\"payloadsInBlobStorage\", false),\n Map.entry(\"readOnly\", false),\n Map.entry(\"realtimeConfiguration\", Map.of(\"maxConcurrentCalls\", 4)),\n Map.entry(\"storageAccount\", Map.ofEntries(\n Map.entry(\"key\", \"Storage_Key\"),\n Map.entry(\"name\", \"Storage_Name\")\n )),\n Map.entry(\"title\", \"Web Service Title\")\n ))\n .resourceGroupName(\"OneResourceGroupName\")\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value2\")\n ))\n .webServiceName(\"TargetWebServiceName\")\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 webService = new azure_native.machinelearning.WebService(\"webService\", {\n location: \"West US\",\n properties: {\n assets: {\n asset1: {\n locationInfo: {\n credentials: \"\",\n uri: \"aml://module/moduleId-1\",\n },\n name: \"Execute R Script\",\n type: \"Module\",\n },\n asset2: {\n locationInfo: {\n credentials: \"\",\n uri: \"aml://module/moduleId-2\",\n },\n name: \"Import Data\",\n type: \"Module\",\n },\n },\n commitmentPlan: {\n id: \"/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.MachineLearning/commitmentPlans/commitmentPlanName\",\n },\n description: \"Web Service Description\",\n diagnostics: {\n level: \"None\",\n },\n exampleRequest: {\n inputs: {\n input1: [\n [\"age\"],\n [\"workclass\"],\n [\"fnlwgt\"],\n [\"education\"],\n [\"education-num\"],\n ],\n },\n },\n exposeSampleData: true,\n input: {\n description: \"\",\n properties: {\n input1: {\n description: \"\",\n properties: {\n column_name: {\n type: \"String\",\n xMsIsnullable: false,\n },\n },\n title: \"\",\n type: \"object\",\n },\n },\n title: \"\",\n type: \"object\",\n },\n machineLearningWorkspace: {\n id: \"workspaceId\",\n },\n output: {\n description: \"\",\n properties: {\n output1: {\n description: \"\",\n properties: {\n age: {\n format: \"Int32\",\n type: \"Integer\",\n xMsIsnullable: true,\n },\n workclass: {\n type: \"String\",\n xMsIsnullable: false,\n },\n },\n title: \"\",\n type: \"object\",\n },\n },\n title: \"\",\n type: \"object\",\n },\n \"package\": {\n edges: [\n {\n sourceNodeId: \"node2\",\n sourcePortId: \"Results dataset\",\n targetNodeId: \"node1\",\n targetPortId: \"Dataset2\",\n },\n {\n sourceNodeId: \"node3\",\n targetNodeId: \"node1\",\n targetPortId: \"Dataset1\",\n },\n {\n sourceNodeId: \"node1\",\n sourcePortId: \"Result Dataset\",\n targetNodeId: \"node4\",\n },\n ],\n graphParameters: {},\n nodes: {\n node1: {\n assetId: \"asset1\",\n parameters: {\n \"R Script\": {\n certificateThumbprint: \"\",\n value: \"The R Script\",\n },\n \"R Version\": {\n certificateThumbprint: \"\",\n value: \"CRAN R 3.1.0\",\n },\n },\n },\n node2: {\n assetId: \"asset2\",\n parameters: {\n \"Account Key\": {\n certificateThumbprint: \"TheThumbprint\",\n value: \"Encrypted Key\",\n },\n \"Account Name\": {\n certificateThumbprint: \"\",\n value: \"accountName\",\n },\n \"Please Specify Authentication Type\": {\n certificateThumbprint: \"\",\n value: \"Account\",\n },\n \"Please Specify Data Source\": {\n certificateThumbprint: \"\",\n value: \"AzureBlobStorage\",\n },\n },\n },\n node3: {\n inputId: \"input1\",\n },\n node4: {\n outputId: \"output1\",\n },\n },\n },\n packageType: \"Graph\",\n parameters: {},\n payloadsInBlobStorage: false,\n readOnly: false,\n realtimeConfiguration: {\n maxConcurrentCalls: 4,\n },\n storageAccount: {\n key: \"Storage_Key\",\n name: \"Storage_Name\",\n },\n title: \"Web Service Title\",\n },\n resourceGroupName: \"OneResourceGroupName\",\n tags: {\n tag1: \"value1\",\n tag2: \"value2\",\n },\n webServiceName: \"TargetWebServiceName\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nweb_service = azure_native.machinelearning.WebService(\"webService\",\n location=\"West US\",\n properties=azure_native.machinelearning.WebServicePropertiesForGraphResponseArgs(\n assets={\n \"asset1\": azure_native.machinelearning.AssetItemArgs(\n location_info=azure_native.machinelearning.BlobLocationArgs(\n credentials=\"\",\n uri=\"aml://module/moduleId-1\",\n ),\n name=\"Execute R Script\",\n type=\"Module\",\n ),\n \"asset2\": azure_native.machinelearning.AssetItemArgs(\n location_info=azure_native.machinelearning.BlobLocationArgs(\n credentials=\"\",\n uri=\"aml://module/moduleId-2\",\n ),\n name=\"Import Data\",\n type=\"Module\",\n ),\n },\n commitment_plan=azure_native.machinelearning.CommitmentPlanArgs(\n id=\"/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.MachineLearning/commitmentPlans/commitmentPlanName\",\n ),\n description=\"Web Service Description\",\n diagnostics=azure_native.machinelearning.DiagnosticsConfigurationArgs(\n level=\"None\",\n ),\n example_request=azure_native.machinelearning.ExampleRequestArgs(\n inputs={\n \"input1\": [\n [\"age\"],\n [\"workclass\"],\n [\"fnlwgt\"],\n [\"education\"],\n [\"education-num\"],\n ],\n },\n ),\n expose_sample_data=True,\n input={\n \"description\": \"\",\n \"properties\": {\n \"input1\": azure_native.machinelearning.TableSpecificationArgs(\n description=\"\",\n properties={\n \"column_name\": azure_native.machinelearning.ColumnSpecificationArgs(\n type=\"String\",\n x_ms_isnullable=False,\n ),\n },\n title=\"\",\n type=\"object\",\n ),\n },\n \"title\": \"\",\n \"type\": \"object\",\n },\n machine_learning_workspace=azure_native.machinelearning.MachineLearningWorkspaceArgs(\n id=\"workspaceId\",\n ),\n output={\n \"description\": \"\",\n \"properties\": {\n \"output1\": azure_native.machinelearning.TableSpecificationArgs(\n description=\"\",\n properties={\n \"age\": azure_native.machinelearning.ColumnSpecificationArgs(\n format=\"Int32\",\n type=\"Integer\",\n x_ms_isnullable=True,\n ),\n \"workclass\": azure_native.machinelearning.ColumnSpecificationArgs(\n type=\"String\",\n x_ms_isnullable=False,\n ),\n },\n title=\"\",\n type=\"object\",\n ),\n },\n \"title\": \"\",\n \"type\": \"object\",\n },\n package={\n \"edges\": [\n azure_native.machinelearning.GraphEdgeArgs(\n source_node_id=\"node2\",\n source_port_id=\"Results dataset\",\n target_node_id=\"node1\",\n target_port_id=\"Dataset2\",\n ),\n azure_native.machinelearning.GraphEdgeArgs(\n source_node_id=\"node3\",\n target_node_id=\"node1\",\n target_port_id=\"Dataset1\",\n ),\n azure_native.machinelearning.GraphEdgeArgs(\n source_node_id=\"node1\",\n source_port_id=\"Result Dataset\",\n target_node_id=\"node4\",\n ),\n ],\n \"graphParameters\": {},\n \"nodes\": {\n \"node1\": azure_native.machinelearning.GraphNodeArgs(\n asset_id=\"asset1\",\n parameters={\n \"R Script\": azure_native.machinelearning.WebServiceParameterArgs(\n certificate_thumbprint=\"\",\n value=\"The R Script\",\n ),\n \"R Version\": azure_native.machinelearning.WebServiceParameterArgs(\n certificate_thumbprint=\"\",\n value=\"CRAN R 3.1.0\",\n ),\n },\n ),\n \"node2\": azure_native.machinelearning.GraphNodeArgs(\n asset_id=\"asset2\",\n parameters={\n \"Account Key\": azure_native.machinelearning.WebServiceParameterArgs(\n certificate_thumbprint=\"TheThumbprint\",\n value=\"Encrypted Key\",\n ),\n \"Account Name\": azure_native.machinelearning.WebServiceParameterArgs(\n certificate_thumbprint=\"\",\n value=\"accountName\",\n ),\n \"Please Specify Authentication Type\": azure_native.machinelearning.WebServiceParameterArgs(\n certificate_thumbprint=\"\",\n value=\"Account\",\n ),\n \"Please Specify Data Source\": azure_native.machinelearning.WebServiceParameterArgs(\n certificate_thumbprint=\"\",\n value=\"AzureBlobStorage\",\n ),\n },\n ),\n \"node3\": azure_native.machinelearning.GraphNodeArgs(\n input_id=\"input1\",\n ),\n \"node4\": azure_native.machinelearning.GraphNodeArgs(\n output_id=\"output1\",\n ),\n },\n },\n package_type=\"Graph\",\n parameters={},\n payloads_in_blob_storage=False,\n read_only=False,\n realtime_configuration=azure_native.machinelearning.RealtimeConfigurationArgs(\n max_concurrent_calls=4,\n ),\n storage_account=azure_native.machinelearning.StorageAccountArgs(\n key=\"Storage_Key\",\n name=\"Storage_Name\",\n ),\n title=\"Web Service Title\",\n ),\n resource_group_name=\"OneResourceGroupName\",\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value2\",\n },\n web_service_name=\"TargetWebServiceName\")\n\n```\n\n```yaml\nresources:\n webService:\n type: azure-native:machinelearning:WebService\n properties:\n location: West US\n properties:\n assets:\n asset1:\n locationInfo:\n credentials:\n uri: aml://module/moduleId-1\n name: Execute R Script\n type: Module\n asset2:\n locationInfo:\n credentials:\n uri: aml://module/moduleId-2\n name: Import Data\n type: Module\n commitmentPlan:\n id: /subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.MachineLearning/commitmentPlans/commitmentPlanName\n description: Web Service Description\n diagnostics:\n level: None\n exampleRequest:\n inputs:\n input1:\n - - age\n - - workclass\n - - fnlwgt\n - - education\n - - education-num\n exposeSampleData: true\n input:\n description:\n properties:\n input1:\n description:\n properties:\n column_name:\n type: String\n xMsIsnullable: false\n title:\n type: object\n title:\n type: object\n machineLearningWorkspace:\n id: workspaceId\n output:\n description:\n properties:\n output1:\n description:\n properties:\n age:\n format: Int32\n type: Integer\n xMsIsnullable: true\n workclass:\n type: String\n xMsIsnullable: false\n title:\n type: object\n title:\n type: object\n package:\n edges:\n - sourceNodeId: node2\n sourcePortId: Results dataset\n targetNodeId: node1\n targetPortId: Dataset2\n - sourceNodeId: node3\n targetNodeId: node1\n targetPortId: Dataset1\n - sourceNodeId: node1\n sourcePortId: Result Dataset\n targetNodeId: node4\n graphParameters: {}\n nodes:\n node1:\n assetId: asset1\n parameters:\n R Script:\n certificateThumbprint:\n value: The R Script\n R Version:\n certificateThumbprint:\n value: CRAN R 3.1.0\n node2:\n assetId: asset2\n parameters:\n Account Key:\n certificateThumbprint: TheThumbprint\n value: Encrypted Key\n Account Name:\n certificateThumbprint:\n value: accountName\n Please Specify Authentication Type:\n certificateThumbprint:\n value: Account\n Please Specify Data Source:\n certificateThumbprint:\n value: AzureBlobStorage\n node3:\n inputId: input1\n node4:\n outputId: output1\n packageType: Graph\n parameters: {}\n payloadsInBlobStorage: false\n readOnly: false\n realtimeConfiguration:\n maxConcurrentCalls: 4\n storageAccount:\n key: Storage_Key\n name: Storage_Name\n title: Web Service Title\n resourceGroupName: OneResourceGroupName\n tags:\n tag1: value1\n tag2: value2\n webServiceName: TargetWebServiceName\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:machinelearning:WebService myresource1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName} \n```\n", + "description": "Instance of an Azure ML web service resource.\nAzure REST API version: 2017-01-01. Prior API version in Azure Native 1.x: 2017-01-01.\n\nOther available API versions: 2016-05-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### PUT WebService\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var webService = new AzureNative.MachineLearning.WebService(\"webService\", new()\n {\n Location = \"West US\",\n Properties = new AzureNative.MachineLearning.Inputs.WebServicePropertiesForGraphArgs\n {\n Assets = \n {\n { \"asset1\", new AzureNative.MachineLearning.Inputs.AssetItemArgs\n {\n LocationInfo = new AzureNative.MachineLearning.Inputs.BlobLocationArgs\n {\n Credentials = \"\",\n Uri = \"aml://module/moduleId-1\",\n },\n Name = \"Execute R Script\",\n Type = \"Module\",\n } },\n { \"asset2\", new AzureNative.MachineLearning.Inputs.AssetItemArgs\n {\n LocationInfo = new AzureNative.MachineLearning.Inputs.BlobLocationArgs\n {\n Credentials = \"\",\n Uri = \"aml://module/moduleId-2\",\n },\n Name = \"Import Data\",\n Type = \"Module\",\n } },\n },\n CommitmentPlan = new AzureNative.MachineLearning.Inputs.CommitmentPlanArgs\n {\n Id = \"/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.MachineLearning/commitmentPlans/commitmentPlanName\",\n },\n Description = \"Web Service Description\",\n Diagnostics = new AzureNative.MachineLearning.Inputs.DiagnosticsConfigurationArgs\n {\n Level = \"None\",\n },\n ExampleRequest = new AzureNative.MachineLearning.Inputs.ExampleRequestArgs\n {\n Inputs = \n {\n { \"input1\", new[]\n {\n new[]\n {\n \"age\",\n },\n new[]\n {\n \"workclass\",\n },\n new[]\n {\n \"fnlwgt\",\n },\n new[]\n {\n \"education\",\n },\n new[]\n {\n \"education-num\",\n },\n } },\n },\n },\n ExposeSampleData = true,\n Input = new AzureNative.MachineLearning.Inputs.ServiceInputOutputSpecificationArgs\n {\n Description = \"\",\n Properties = \n {\n { \"input1\", new AzureNative.MachineLearning.Inputs.TableSpecificationArgs\n {\n Description = \"\",\n Properties = \n {\n { \"column_name\", new AzureNative.MachineLearning.Inputs.ColumnSpecificationArgs\n {\n Type = \"String\",\n XMsIsnullable = false,\n } },\n },\n Title = \"\",\n Type = \"object\",\n } },\n },\n Title = \"\",\n Type = \"object\",\n },\n MachineLearningWorkspace = new AzureNative.MachineLearning.Inputs.MachineLearningWorkspaceArgs\n {\n Id = \"workspaceId\",\n },\n Output = new AzureNative.MachineLearning.Inputs.ServiceInputOutputSpecificationArgs\n {\n Description = \"\",\n Properties = \n {\n { \"output1\", new AzureNative.MachineLearning.Inputs.TableSpecificationArgs\n {\n Description = \"\",\n Properties = \n {\n { \"age\", new AzureNative.MachineLearning.Inputs.ColumnSpecificationArgs\n {\n Format = \"Int32\",\n Type = \"Integer\",\n XMsIsnullable = true,\n } },\n { \"workclass\", new AzureNative.MachineLearning.Inputs.ColumnSpecificationArgs\n {\n Type = \"String\",\n XMsIsnullable = false,\n } },\n },\n Title = \"\",\n Type = \"object\",\n } },\n },\n Title = \"\",\n Type = \"object\",\n },\n Package = new AzureNative.MachineLearning.Inputs.GraphPackageArgs\n {\n Edges = new[]\n {\n new AzureNative.MachineLearning.Inputs.GraphEdgeArgs\n {\n SourceNodeId = \"node2\",\n SourcePortId = \"Results dataset\",\n TargetNodeId = \"node1\",\n TargetPortId = \"Dataset2\",\n },\n new AzureNative.MachineLearning.Inputs.GraphEdgeArgs\n {\n SourceNodeId = \"node3\",\n TargetNodeId = \"node1\",\n TargetPortId = \"Dataset1\",\n },\n new AzureNative.MachineLearning.Inputs.GraphEdgeArgs\n {\n SourceNodeId = \"node1\",\n SourcePortId = \"Result Dataset\",\n TargetNodeId = \"node4\",\n },\n },\n GraphParameters = null,\n Nodes = \n {\n { \"node1\", new AzureNative.MachineLearning.Inputs.GraphNodeArgs\n {\n AssetId = \"asset1\",\n Parameters = \n {\n { \"R Script\", new AzureNative.MachineLearning.Inputs.WebServiceParameterArgs\n {\n CertificateThumbprint = \"\",\n Value = \"The R Script\",\n } },\n { \"R Version\", new AzureNative.MachineLearning.Inputs.WebServiceParameterArgs\n {\n CertificateThumbprint = \"\",\n Value = \"CRAN R 3.1.0\",\n } },\n },\n } },\n { \"node2\", new AzureNative.MachineLearning.Inputs.GraphNodeArgs\n {\n AssetId = \"asset2\",\n Parameters = \n {\n { \"Account Key\", new AzureNative.MachineLearning.Inputs.WebServiceParameterArgs\n {\n CertificateThumbprint = \"TheThumbprint\",\n Value = \"Encrypted Key\",\n } },\n { \"Account Name\", new AzureNative.MachineLearning.Inputs.WebServiceParameterArgs\n {\n CertificateThumbprint = \"\",\n Value = \"accountName\",\n } },\n { \"Please Specify Authentication Type\", new AzureNative.MachineLearning.Inputs.WebServiceParameterArgs\n {\n CertificateThumbprint = \"\",\n Value = \"Account\",\n } },\n { \"Please Specify Data Source\", new AzureNative.MachineLearning.Inputs.WebServiceParameterArgs\n {\n CertificateThumbprint = \"\",\n Value = \"AzureBlobStorage\",\n } },\n },\n } },\n { \"node3\", new AzureNative.MachineLearning.Inputs.GraphNodeArgs\n {\n InputId = \"input1\",\n } },\n { \"node4\", new AzureNative.MachineLearning.Inputs.GraphNodeArgs\n {\n OutputId = \"output1\",\n } },\n },\n },\n PackageType = \"Graph\",\n Parameters = null,\n PayloadsInBlobStorage = false,\n ReadOnly = false,\n RealtimeConfiguration = new AzureNative.MachineLearning.Inputs.RealtimeConfigurationArgs\n {\n MaxConcurrentCalls = 4,\n },\n StorageAccount = new AzureNative.MachineLearning.Inputs.StorageAccountArgs\n {\n Key = \"Storage_Key\",\n Name = \"Storage_Name\",\n },\n Title = \"Web Service Title\",\n },\n ResourceGroupName = \"OneResourceGroupName\",\n Tags = \n {\n { \"tag1\", \"value1\" },\n { \"tag2\", \"value2\" },\n },\n WebServiceName = \"TargetWebServiceName\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/machinelearning/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := machinelearning.NewWebService(ctx, \"webService\", \u0026machinelearning.WebServiceArgs{\nLocation: pulumi.String(\"West US\"),\nProperties: interface{}{\nAssets: machinelearning.AssetItemMap{\n\"asset1\": \u0026machinelearning.AssetItemArgs{\nLocationInfo: \u0026machinelearning.BlobLocationArgs{\nCredentials: pulumi.String(\"\"),\nUri: pulumi.String(\"aml://module/moduleId-1\"),\n},\nName: pulumi.String(\"Execute R Script\"),\nType: pulumi.String(\"Module\"),\n},\n\"asset2\": \u0026machinelearning.AssetItemArgs{\nLocationInfo: \u0026machinelearning.BlobLocationArgs{\nCredentials: pulumi.String(\"\"),\nUri: pulumi.String(\"aml://module/moduleId-2\"),\n},\nName: pulumi.String(\"Import Data\"),\nType: pulumi.String(\"Module\"),\n},\n},\nCommitmentPlan: \u0026machinelearning.CommitmentPlanTypeArgs{\nId: pulumi.String(\"/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.MachineLearning/commitmentPlans/commitmentPlanName\"),\n},\nDescription: pulumi.String(\"Web Service Description\"),\nDiagnostics: \u0026machinelearning.DiagnosticsConfigurationArgs{\nLevel: pulumi.String(\"None\"),\n},\nExampleRequest: \u0026machinelearning.ExampleRequestArgs{\nInputs: pulumi.ArrayArrayMap{\n\"input1\": pulumi.ArrayArray{\npulumi.Array{\npulumi.Any(\"age\"),\n},\npulumi.Array{\npulumi.Any(\"workclass\"),\n},\npulumi.Array{\npulumi.Any(\"fnlwgt\"),\n},\npulumi.Array{\npulumi.Any(\"education\"),\n},\npulumi.Array{\npulumi.Any(\"education-num\"),\n},\n},\n},\n},\nExposeSampleData: pulumi.Bool(true),\nInput: interface{}{\nDescription: pulumi.String(\"\"),\nProperties: machinelearning.TableSpecificationMap{\n\"input1\": \u0026machinelearning.TableSpecificationArgs{\nDescription: pulumi.String(\"\"),\nProperties: machinelearning.ColumnSpecificationMap{\n\"column_name\": \u0026machinelearning.ColumnSpecificationArgs{\nType: pulumi.String(\"String\"),\nXMsIsnullable: pulumi.Bool(false),\n},\n},\nTitle: pulumi.String(\"\"),\nType: pulumi.String(\"object\"),\n},\n},\nTitle: pulumi.String(\"\"),\nType: pulumi.String(\"object\"),\n},\nMachineLearningWorkspace: \u0026machinelearning.MachineLearningWorkspaceArgs{\nId: pulumi.String(\"workspaceId\"),\n},\nOutput: interface{}{\nDescription: pulumi.String(\"\"),\nProperties: machinelearning.TableSpecificationMap{\n\"output1\": \u0026machinelearning.TableSpecificationArgs{\nDescription: pulumi.String(\"\"),\nProperties: machinelearning.ColumnSpecificationMap{\n\"age\": \u0026machinelearning.ColumnSpecificationArgs{\nFormat: pulumi.String(\"Int32\"),\nType: pulumi.String(\"Integer\"),\nXMsIsnullable: pulumi.Bool(true),\n},\n\"workclass\": \u0026machinelearning.ColumnSpecificationArgs{\nType: pulumi.String(\"String\"),\nXMsIsnullable: pulumi.Bool(false),\n},\n},\nTitle: pulumi.String(\"\"),\nType: pulumi.String(\"object\"),\n},\n},\nTitle: pulumi.String(\"\"),\nType: pulumi.String(\"object\"),\n},\nPackage: interface{}{\nEdges: machinelearning.GraphEdgeArray{\n\u0026machinelearning.GraphEdgeArgs{\nSourceNodeId: pulumi.String(\"node2\"),\nSourcePortId: pulumi.String(\"Results dataset\"),\nTargetNodeId: pulumi.String(\"node1\"),\nTargetPortId: pulumi.String(\"Dataset2\"),\n},\n\u0026machinelearning.GraphEdgeArgs{\nSourceNodeId: pulumi.String(\"node3\"),\nTargetNodeId: pulumi.String(\"node1\"),\nTargetPortId: pulumi.String(\"Dataset1\"),\n},\n\u0026machinelearning.GraphEdgeArgs{\nSourceNodeId: pulumi.String(\"node1\"),\nSourcePortId: pulumi.String(\"Result Dataset\"),\nTargetNodeId: pulumi.String(\"node4\"),\n},\n},\nGraphParameters: nil,\nNodes: machinelearning.GraphNodeMap{\n\"node1\": \u0026machinelearning.GraphNodeArgs{\nAssetId: pulumi.String(\"asset1\"),\nParameters: machinelearning.WebServiceParameterMap{\n\"R Script\": \u0026machinelearning.WebServiceParameterArgs{\nCertificateThumbprint: pulumi.String(\"\"),\nValue: pulumi.Any(\"The R Script\"),\n},\n\"R Version\": \u0026machinelearning.WebServiceParameterArgs{\nCertificateThumbprint: pulumi.String(\"\"),\nValue: pulumi.Any(\"CRAN R 3.1.0\"),\n},\n},\n},\n\"node2\": \u0026machinelearning.GraphNodeArgs{\nAssetId: pulumi.String(\"asset2\"),\nParameters: machinelearning.WebServiceParameterMap{\n\"Account Key\": \u0026machinelearning.WebServiceParameterArgs{\nCertificateThumbprint: pulumi.String(\"TheThumbprint\"),\nValue: pulumi.Any(\"Encrypted Key\"),\n},\n\"Account Name\": \u0026machinelearning.WebServiceParameterArgs{\nCertificateThumbprint: pulumi.String(\"\"),\nValue: pulumi.Any(\"accountName\"),\n},\n\"Please Specify Authentication Type\": \u0026machinelearning.WebServiceParameterArgs{\nCertificateThumbprint: pulumi.String(\"\"),\nValue: pulumi.Any(\"Account\"),\n},\n\"Please Specify Data Source\": \u0026machinelearning.WebServiceParameterArgs{\nCertificateThumbprint: pulumi.String(\"\"),\nValue: pulumi.Any(\"AzureBlobStorage\"),\n},\n},\n},\n\"node3\": \u0026machinelearning.GraphNodeArgs{\nInputId: pulumi.String(\"input1\"),\n},\n\"node4\": \u0026machinelearning.GraphNodeArgs{\nOutputId: pulumi.String(\"output1\"),\n},\n},\n},\nPackageType: pulumi.String(\"Graph\"),\nParameters: nil,\nPayloadsInBlobStorage: pulumi.Bool(false),\nReadOnly: pulumi.Bool(false),\nRealtimeConfiguration: \u0026machinelearning.RealtimeConfigurationArgs{\nMaxConcurrentCalls: pulumi.Int(4),\n},\nStorageAccount: \u0026machinelearning.StorageAccountArgs{\nKey: pulumi.String(\"Storage_Key\"),\nName: pulumi.String(\"Storage_Name\"),\n},\nTitle: pulumi.String(\"Web Service Title\"),\n},\nResourceGroupName: pulumi.String(\"OneResourceGroupName\"),\nTags: pulumi.StringMap{\n\"tag1\": pulumi.String(\"value1\"),\n\"tag2\": pulumi.String(\"value2\"),\n},\nWebServiceName: pulumi.String(\"TargetWebServiceName\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.machinelearning.WebService;\nimport com.pulumi.azurenative.machinelearning.WebServiceArgs;\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 webService = new WebService(\"webService\", WebServiceArgs.builder() \n .location(\"West US\")\n .properties(Map.ofEntries(\n Map.entry(\"assets\", Map.ofEntries(\n Map.entry(\"asset1\", Map.ofEntries(\n Map.entry(\"locationInfo\", Map.ofEntries(\n Map.entry(\"credentials\", \"\"),\n Map.entry(\"uri\", \"aml://module/moduleId-1\")\n )),\n Map.entry(\"name\", \"Execute R Script\"),\n Map.entry(\"type\", \"Module\")\n )),\n Map.entry(\"asset2\", Map.ofEntries(\n Map.entry(\"locationInfo\", Map.ofEntries(\n Map.entry(\"credentials\", \"\"),\n Map.entry(\"uri\", \"aml://module/moduleId-2\")\n )),\n Map.entry(\"name\", \"Import Data\"),\n Map.entry(\"type\", \"Module\")\n ))\n )),\n Map.entry(\"commitmentPlan\", Map.of(\"id\", \"/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.MachineLearning/commitmentPlans/commitmentPlanName\")),\n Map.entry(\"description\", \"Web Service Description\"),\n Map.entry(\"diagnostics\", Map.of(\"level\", \"None\")),\n Map.entry(\"exampleRequest\", Map.of(\"inputs\", Map.of(\"input1\", \n \"age\",\n \"workclass\",\n \"fnlwgt\",\n \"education\",\n \"education-num\"))),\n Map.entry(\"exposeSampleData\", true),\n Map.entry(\"input\", Map.ofEntries(\n Map.entry(\"description\", \"\"),\n Map.entry(\"properties\", Map.of(\"input1\", Map.ofEntries(\n Map.entry(\"description\", \"\"),\n Map.entry(\"properties\", Map.of(\"column_name\", Map.ofEntries(\n Map.entry(\"type\", \"String\"),\n Map.entry(\"xMsIsnullable\", false)\n ))),\n Map.entry(\"title\", \"\"),\n Map.entry(\"type\", \"object\")\n ))),\n Map.entry(\"title\", \"\"),\n Map.entry(\"type\", \"object\")\n )),\n Map.entry(\"machineLearningWorkspace\", Map.of(\"id\", \"workspaceId\")),\n Map.entry(\"output\", Map.ofEntries(\n Map.entry(\"description\", \"\"),\n Map.entry(\"properties\", Map.of(\"output1\", Map.ofEntries(\n Map.entry(\"description\", \"\"),\n Map.entry(\"properties\", Map.ofEntries(\n Map.entry(\"age\", Map.ofEntries(\n Map.entry(\"format\", \"Int32\"),\n Map.entry(\"type\", \"Integer\"),\n Map.entry(\"xMsIsnullable\", true)\n )),\n Map.entry(\"workclass\", Map.ofEntries(\n Map.entry(\"type\", \"String\"),\n Map.entry(\"xMsIsnullable\", false)\n ))\n )),\n Map.entry(\"title\", \"\"),\n Map.entry(\"type\", \"object\")\n ))),\n Map.entry(\"title\", \"\"),\n Map.entry(\"type\", \"object\")\n )),\n Map.entry(\"package\", Map.ofEntries(\n Map.entry(\"edges\", \n Map.ofEntries(\n Map.entry(\"sourceNodeId\", \"node2\"),\n Map.entry(\"sourcePortId\", \"Results dataset\"),\n Map.entry(\"targetNodeId\", \"node1\"),\n Map.entry(\"targetPortId\", \"Dataset2\")\n ),\n Map.ofEntries(\n Map.entry(\"sourceNodeId\", \"node3\"),\n Map.entry(\"targetNodeId\", \"node1\"),\n Map.entry(\"targetPortId\", \"Dataset1\")\n ),\n Map.ofEntries(\n Map.entry(\"sourceNodeId\", \"node1\"),\n Map.entry(\"sourcePortId\", \"Result Dataset\"),\n Map.entry(\"targetNodeId\", \"node4\")\n )),\n Map.entry(\"graphParameters\", ),\n Map.entry(\"nodes\", Map.ofEntries(\n Map.entry(\"node1\", Map.ofEntries(\n Map.entry(\"assetId\", \"asset1\"),\n Map.entry(\"parameters\", Map.ofEntries(\n Map.entry(\"R Script\", Map.ofEntries(\n Map.entry(\"certificateThumbprint\", \"\"),\n Map.entry(\"value\", \"The R Script\")\n )),\n Map.entry(\"R Version\", Map.ofEntries(\n Map.entry(\"certificateThumbprint\", \"\"),\n Map.entry(\"value\", \"CRAN R 3.1.0\")\n ))\n ))\n )),\n Map.entry(\"node2\", Map.ofEntries(\n Map.entry(\"assetId\", \"asset2\"),\n Map.entry(\"parameters\", Map.ofEntries(\n Map.entry(\"Account Key\", Map.ofEntries(\n Map.entry(\"certificateThumbprint\", \"TheThumbprint\"),\n Map.entry(\"value\", \"Encrypted Key\")\n )),\n Map.entry(\"Account Name\", Map.ofEntries(\n Map.entry(\"certificateThumbprint\", \"\"),\n Map.entry(\"value\", \"accountName\")\n )),\n Map.entry(\"Please Specify Authentication Type\", Map.ofEntries(\n Map.entry(\"certificateThumbprint\", \"\"),\n Map.entry(\"value\", \"Account\")\n )),\n Map.entry(\"Please Specify Data Source\", Map.ofEntries(\n Map.entry(\"certificateThumbprint\", \"\"),\n Map.entry(\"value\", \"AzureBlobStorage\")\n ))\n ))\n )),\n Map.entry(\"node3\", Map.of(\"inputId\", \"input1\")),\n Map.entry(\"node4\", Map.of(\"outputId\", \"output1\"))\n ))\n )),\n Map.entry(\"packageType\", \"Graph\"),\n Map.entry(\"parameters\", ),\n Map.entry(\"payloadsInBlobStorage\", false),\n Map.entry(\"readOnly\", false),\n Map.entry(\"realtimeConfiguration\", Map.of(\"maxConcurrentCalls\", 4)),\n Map.entry(\"storageAccount\", Map.ofEntries(\n Map.entry(\"key\", \"Storage_Key\"),\n Map.entry(\"name\", \"Storage_Name\")\n )),\n Map.entry(\"title\", \"Web Service Title\")\n ))\n .resourceGroupName(\"OneResourceGroupName\")\n .tags(Map.ofEntries(\n Map.entry(\"tag1\", \"value1\"),\n Map.entry(\"tag2\", \"value2\")\n ))\n .webServiceName(\"TargetWebServiceName\")\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 webService = new azure_native.machinelearning.WebService(\"webService\", {\n location: \"West US\",\n properties: {\n assets: {\n asset1: {\n locationInfo: {\n credentials: \"\",\n uri: \"aml://module/moduleId-1\",\n },\n name: \"Execute R Script\",\n type: \"Module\",\n },\n asset2: {\n locationInfo: {\n credentials: \"\",\n uri: \"aml://module/moduleId-2\",\n },\n name: \"Import Data\",\n type: \"Module\",\n },\n },\n commitmentPlan: {\n id: \"/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.MachineLearning/commitmentPlans/commitmentPlanName\",\n },\n description: \"Web Service Description\",\n diagnostics: {\n level: \"None\",\n },\n exampleRequest: {\n inputs: {\n input1: [\n [\"age\"],\n [\"workclass\"],\n [\"fnlwgt\"],\n [\"education\"],\n [\"education-num\"],\n ],\n },\n },\n exposeSampleData: true,\n input: {\n description: \"\",\n properties: {\n input1: {\n description: \"\",\n properties: {\n column_name: {\n type: \"String\",\n xMsIsnullable: false,\n },\n },\n title: \"\",\n type: \"object\",\n },\n },\n title: \"\",\n type: \"object\",\n },\n machineLearningWorkspace: {\n id: \"workspaceId\",\n },\n output: {\n description: \"\",\n properties: {\n output1: {\n description: \"\",\n properties: {\n age: {\n format: \"Int32\",\n type: \"Integer\",\n xMsIsnullable: true,\n },\n workclass: {\n type: \"String\",\n xMsIsnullable: false,\n },\n },\n title: \"\",\n type: \"object\",\n },\n },\n title: \"\",\n type: \"object\",\n },\n \"package\": {\n edges: [\n {\n sourceNodeId: \"node2\",\n sourcePortId: \"Results dataset\",\n targetNodeId: \"node1\",\n targetPortId: \"Dataset2\",\n },\n {\n sourceNodeId: \"node3\",\n targetNodeId: \"node1\",\n targetPortId: \"Dataset1\",\n },\n {\n sourceNodeId: \"node1\",\n sourcePortId: \"Result Dataset\",\n targetNodeId: \"node4\",\n },\n ],\n graphParameters: {},\n nodes: {\n node1: {\n assetId: \"asset1\",\n parameters: {\n \"R Script\": {\n certificateThumbprint: \"\",\n value: \"The R Script\",\n },\n \"R Version\": {\n certificateThumbprint: \"\",\n value: \"CRAN R 3.1.0\",\n },\n },\n },\n node2: {\n assetId: \"asset2\",\n parameters: {\n \"Account Key\": {\n certificateThumbprint: \"TheThumbprint\",\n value: \"Encrypted Key\",\n },\n \"Account Name\": {\n certificateThumbprint: \"\",\n value: \"accountName\",\n },\n \"Please Specify Authentication Type\": {\n certificateThumbprint: \"\",\n value: \"Account\",\n },\n \"Please Specify Data Source\": {\n certificateThumbprint: \"\",\n value: \"AzureBlobStorage\",\n },\n },\n },\n node3: {\n inputId: \"input1\",\n },\n node4: {\n outputId: \"output1\",\n },\n },\n },\n packageType: \"Graph\",\n parameters: {},\n payloadsInBlobStorage: false,\n readOnly: false,\n realtimeConfiguration: {\n maxConcurrentCalls: 4,\n },\n storageAccount: {\n key: \"Storage_Key\",\n name: \"Storage_Name\",\n },\n title: \"Web Service Title\",\n },\n resourceGroupName: \"OneResourceGroupName\",\n tags: {\n tag1: \"value1\",\n tag2: \"value2\",\n },\n webServiceName: \"TargetWebServiceName\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nweb_service = azure_native.machinelearning.WebService(\"webService\",\n location=\"West US\",\n properties=azure_native.machinelearning.WebServicePropertiesForGraphResponseArgs(\n assets={\n \"asset1\": azure_native.machinelearning.AssetItemArgs(\n location_info=azure_native.machinelearning.BlobLocationArgs(\n credentials=\"\",\n uri=\"aml://module/moduleId-1\",\n ),\n name=\"Execute R Script\",\n type=\"Module\",\n ),\n \"asset2\": azure_native.machinelearning.AssetItemArgs(\n location_info=azure_native.machinelearning.BlobLocationArgs(\n credentials=\"\",\n uri=\"aml://module/moduleId-2\",\n ),\n name=\"Import Data\",\n type=\"Module\",\n ),\n },\n commitment_plan=azure_native.machinelearning.CommitmentPlanArgs(\n id=\"/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.MachineLearning/commitmentPlans/commitmentPlanName\",\n ),\n description=\"Web Service Description\",\n diagnostics=azure_native.machinelearning.DiagnosticsConfigurationArgs(\n level=\"None\",\n ),\n example_request=azure_native.machinelearning.ExampleRequestArgs(\n inputs={\n \"input1\": [\n [\"age\"],\n [\"workclass\"],\n [\"fnlwgt\"],\n [\"education\"],\n [\"education-num\"],\n ],\n },\n ),\n expose_sample_data=True,\n input={\n \"description\": \"\",\n \"properties\": {\n \"input1\": azure_native.machinelearning.TableSpecificationArgs(\n description=\"\",\n properties={\n \"column_name\": azure_native.machinelearning.ColumnSpecificationArgs(\n type=\"String\",\n x_ms_isnullable=False,\n ),\n },\n title=\"\",\n type=\"object\",\n ),\n },\n \"title\": \"\",\n \"type\": \"object\",\n },\n machine_learning_workspace=azure_native.machinelearning.MachineLearningWorkspaceArgs(\n id=\"workspaceId\",\n ),\n output={\n \"description\": \"\",\n \"properties\": {\n \"output1\": azure_native.machinelearning.TableSpecificationArgs(\n description=\"\",\n properties={\n \"age\": azure_native.machinelearning.ColumnSpecificationArgs(\n format=\"Int32\",\n type=\"Integer\",\n x_ms_isnullable=True,\n ),\n \"workclass\": azure_native.machinelearning.ColumnSpecificationArgs(\n type=\"String\",\n x_ms_isnullable=False,\n ),\n },\n title=\"\",\n type=\"object\",\n ),\n },\n \"title\": \"\",\n \"type\": \"object\",\n },\n package={\n \"edges\": [\n azure_native.machinelearning.GraphEdgeArgs(\n source_node_id=\"node2\",\n source_port_id=\"Results dataset\",\n target_node_id=\"node1\",\n target_port_id=\"Dataset2\",\n ),\n azure_native.machinelearning.GraphEdgeArgs(\n source_node_id=\"node3\",\n target_node_id=\"node1\",\n target_port_id=\"Dataset1\",\n ),\n azure_native.machinelearning.GraphEdgeArgs(\n source_node_id=\"node1\",\n source_port_id=\"Result Dataset\",\n target_node_id=\"node4\",\n ),\n ],\n \"graphParameters\": {},\n \"nodes\": {\n \"node1\": azure_native.machinelearning.GraphNodeArgs(\n asset_id=\"asset1\",\n parameters={\n \"R Script\": azure_native.machinelearning.WebServiceParameterArgs(\n certificate_thumbprint=\"\",\n value=\"The R Script\",\n ),\n \"R Version\": azure_native.machinelearning.WebServiceParameterArgs(\n certificate_thumbprint=\"\",\n value=\"CRAN R 3.1.0\",\n ),\n },\n ),\n \"node2\": azure_native.machinelearning.GraphNodeArgs(\n asset_id=\"asset2\",\n parameters={\n \"Account Key\": azure_native.machinelearning.WebServiceParameterArgs(\n certificate_thumbprint=\"TheThumbprint\",\n value=\"Encrypted Key\",\n ),\n \"Account Name\": azure_native.machinelearning.WebServiceParameterArgs(\n certificate_thumbprint=\"\",\n value=\"accountName\",\n ),\n \"Please Specify Authentication Type\": azure_native.machinelearning.WebServiceParameterArgs(\n certificate_thumbprint=\"\",\n value=\"Account\",\n ),\n \"Please Specify Data Source\": azure_native.machinelearning.WebServiceParameterArgs(\n certificate_thumbprint=\"\",\n value=\"AzureBlobStorage\",\n ),\n },\n ),\n \"node3\": azure_native.machinelearning.GraphNodeArgs(\n input_id=\"input1\",\n ),\n \"node4\": azure_native.machinelearning.GraphNodeArgs(\n output_id=\"output1\",\n ),\n },\n },\n package_type=\"Graph\",\n parameters={},\n payloads_in_blob_storage=False,\n read_only=False,\n realtime_configuration=azure_native.machinelearning.RealtimeConfigurationArgs(\n max_concurrent_calls=4,\n ),\n storage_account=azure_native.machinelearning.StorageAccountArgs(\n key=\"Storage_Key\",\n name=\"Storage_Name\",\n ),\n title=\"Web Service Title\",\n ),\n resource_group_name=\"OneResourceGroupName\",\n tags={\n \"tag1\": \"value1\",\n \"tag2\": \"value2\",\n },\n web_service_name=\"TargetWebServiceName\")\n\n```\n\n```yaml\nresources:\n webService:\n type: azure-native:machinelearning:WebService\n properties:\n location: West US\n properties:\n assets:\n asset1:\n locationInfo:\n credentials:\n uri: aml://module/moduleId-1\n name: Execute R Script\n type: Module\n asset2:\n locationInfo:\n credentials:\n uri: aml://module/moduleId-2\n name: Import Data\n type: Module\n commitmentPlan:\n id: /subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.MachineLearning/commitmentPlans/commitmentPlanName\n description: Web Service Description\n diagnostics:\n level: None\n exampleRequest:\n inputs:\n input1:\n - - age\n - - workclass\n - - fnlwgt\n - - education\n - - education-num\n exposeSampleData: true\n input:\n description:\n properties:\n input1:\n description:\n properties:\n column_name:\n type: String\n xMsIsnullable: false\n title:\n type: object\n title:\n type: object\n machineLearningWorkspace:\n id: workspaceId\n output:\n description:\n properties:\n output1:\n description:\n properties:\n age:\n format: Int32\n type: Integer\n xMsIsnullable: true\n workclass:\n type: String\n xMsIsnullable: false\n title:\n type: object\n title:\n type: object\n package:\n edges:\n - sourceNodeId: node2\n sourcePortId: Results dataset\n targetNodeId: node1\n targetPortId: Dataset2\n - sourceNodeId: node3\n targetNodeId: node1\n targetPortId: Dataset1\n - sourceNodeId: node1\n sourcePortId: Result Dataset\n targetNodeId: node4\n graphParameters: {}\n nodes:\n node1:\n assetId: asset1\n parameters:\n R Script:\n certificateThumbprint:\n value: The R Script\n R Version:\n certificateThumbprint:\n value: CRAN R 3.1.0\n node2:\n assetId: asset2\n parameters:\n Account Key:\n certificateThumbprint: TheThumbprint\n value: Encrypted Key\n Account Name:\n certificateThumbprint:\n value: accountName\n Please Specify Authentication Type:\n certificateThumbprint:\n value: Account\n Please Specify Data Source:\n certificateThumbprint:\n value: AzureBlobStorage\n node3:\n inputId: input1\n node4:\n outputId: output1\n packageType: Graph\n parameters: {}\n payloadsInBlobStorage: false\n readOnly: false\n realtimeConfiguration:\n maxConcurrentCalls: 4\n storageAccount:\n key: Storage_Key\n name: Storage_Name\n title: Web Service Title\n resourceGroupName: OneResourceGroupName\n tags:\n tag1: value1\n tag2: value2\n webServiceName: TargetWebServiceName\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:machinelearning:WebService myresource1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearning/webServices/{webServiceName} \n```\n", "properties": { "location": { "type": "string", @@ -576581,7 +577085,7 @@ ] }, "azure-native:machinelearningservices:LabelingJob": { - "description": "Azure Resource Manager resource envelope.\nAzure REST API version: 2023-04-01-preview. Prior API version in Azure Native 1.x: 2020-09-01-preview.\n\nOther available API versions: 2020-09-01-preview, 2021-03-01-preview, 2023-06-01-preview, 2023-08-01-preview.\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 = \"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 = \"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\t\"github.com/pulumi/pulumi-azure-native-sdk/machinelearningservices/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := machinelearningservices.NewLabelingJob(ctx, \"labelingJob\", \u0026machinelearningservices.LabelingJobArgs{\nId: pulumi.String(\"testLabelingJob\"),\nLabelingJobProperties: interface{}{\nDescription: pulumi.String(\"string\"),\nJobInstructions: \u0026machinelearningservices.LabelingJobInstructionsArgs{\nUri: pulumi.String(\"link/to/instructions\"),\n},\nJobType: pulumi.String(\"Labeling\"),\nLabelCategories: interface{}{\nMyCategory1: \u0026machinelearningservices.LabelCategoryArgs{\nClasses: interface{}{\nMyLabelClass1: \u0026machinelearningservices.LabelClassArgs{\nDisplayName: pulumi.String(\"myLabelClass1\"),\nSubclasses: nil,\n},\nMyLabelClass2: \u0026machinelearningservices.LabelClassArgs{\nDisplayName: pulumi.String(\"myLabelClass2\"),\nSubclasses: nil,\n},\n},\nDisplayName: pulumi.String(\"myCategory1Title\"),\nMultiSelect: pulumi.String(\"Disabled\"),\n},\nMyCategory2: interface{}{\nClasses: interface{}{\nMyLabelClass1: \u0026machinelearningservices.LabelClassArgs{\nDisplayName: pulumi.String(\"myLabelClass1\"),\nSubclasses: nil,\n},\nMyLabelClass2: \u0026machinelearningservices.LabelClassArgs{\nDisplayName: pulumi.String(\"myLabelClass2\"),\nSubclasses: nil,\n},\n},\nDisplayName: pulumi.String(\"myCategory2Title\"),\nMultiSelect: pulumi.String(\"Disabled\"),\n},\n},\nLabelingJobMediaProperties: machinelearningservices.LabelingJobImageProperties{\nMediaType: \"Image\",\n},\nMlAssistConfiguration: machinelearningservices.MLAssistConfigurationEnabled{\nInferencingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\nMlAssist: \"Enabled\",\nTrainingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n},\nProperties: pulumi.StringMap{\n\"additionalProp1\": pulumi.String(\"string\"),\n\"additionalProp2\": pulumi.String(\"string\"),\n\"additionalProp3\": pulumi.String(\"string\"),\n},\nTags: pulumi.StringMap{\n\"additionalProp1\": pulumi.String(\"string\"),\n\"additionalProp2\": pulumi.String(\"string\"),\n\"additionalProp3\": pulumi.String(\"string\"),\n},\n},\nResourceGroupName: pulumi.String(\"workspace-1234\"),\nWorkspaceName: pulumi.String(\"testworkspace\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.LabelingJobArgs;\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(Map.ofEntries(\n Map.entry(\"description\", \"string\"),\n Map.entry(\"jobInstructions\", Map.of(\"uri\", \"link/to/instructions\")),\n Map.entry(\"jobType\", \"Labeling\"),\n Map.entry(\"labelCategories\", Map.ofEntries(\n Map.entry(\"myCategory1\", Map.ofEntries(\n Map.entry(\"classes\", Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", )\n )),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", )\n ))\n )),\n Map.entry(\"displayName\", \"myCategory1Title\"),\n Map.entry(\"multiSelect\", \"Disabled\")\n )),\n Map.entry(\"myCategory2\", Map.ofEntries(\n Map.entry(\"classes\", Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", )\n )),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", )\n ))\n )),\n Map.entry(\"displayName\", \"myCategory2Title\"),\n Map.entry(\"multiSelect\", \"Disabled\")\n ))\n )),\n Map.entry(\"labelingJobMediaProperties\", Map.of(\"mediaType\", \"Image\")),\n Map.entry(\"mlAssistConfiguration\", Map.ofEntries(\n Map.entry(\"inferencingComputeBinding\", \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\"),\n Map.entry(\"mlAssist\", \"Enabled\"),\n Map.entry(\"trainingComputeBinding\", \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\")\n )),\n Map.entry(\"properties\", Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n )),\n Map.entry(\"tags\", Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n ))\n ))\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: \"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: \"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=azure_native.machinelearningservices.LabelingJobResponseArgs(\n description=\"string\",\n job_instructions=azure_native.machinelearningservices.LabelingJobInstructionsArgs(\n uri=\"link/to/instructions\",\n ),\n job_type=\"Labeling\",\n label_categories={\n \"myCategory1\": azure_native.machinelearningservices.LabelCategoryArgs(\n classes={\n \"myLabelClass1\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass1\",\n subclasses={},\n ),\n \"myLabelClass2\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass2\",\n subclasses={},\n ),\n },\n display_name=\"myCategory1Title\",\n multi_select=\"Disabled\",\n ),\n \"myCategory2\": azure_native.machinelearningservices.LabelCategoryArgs(\n classes={\n \"myLabelClass1\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass1\",\n subclasses={},\n ),\n \"myLabelClass2\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass2\",\n subclasses={},\n ),\n },\n display_name=\"myCategory2Title\",\n multi_select=\"Disabled\",\n ),\n },\n labeling_job_media_properties=azure_native.machinelearningservices.LabelingJobImagePropertiesArgs(\n media_type=\"Image\",\n ),\n ml_assist_configuration=azure_native.machinelearningservices.MLAssistConfigurationEnabledArgs(\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.\nAzure REST API version: 2023-04-01-preview. Prior API version in Azure Native 1.x: 2020-09-01-preview.\n\nOther available API versions: 2020-09-01-preview, 2021-03-01-preview, 2023-06-01-preview, 2023-08-01-preview.\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 = \"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 = \"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\t\"github.com/pulumi/pulumi-azure-native-sdk/machinelearningservices/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := machinelearningservices.NewLabelingJob(ctx, \"labelingJob\", \u0026machinelearningservices.LabelingJobArgs{\nId: pulumi.String(\"testLabelingJob\"),\nLabelingJobProperties: interface{}{\nDescription: pulumi.String(\"string\"),\nJobInstructions: \u0026machinelearningservices.LabelingJobInstructionsArgs{\nUri: pulumi.String(\"link/to/instructions\"),\n},\nJobType: pulumi.String(\"Labeling\"),\nLabelCategories: machinelearningservices.LabelCategoryMap{\n\"myCategory1\": \u0026machinelearningservices.LabelCategoryArgs{\nClasses: interface{}{\nMyLabelClass1: \u0026machinelearningservices.LabelClassArgs{\nDisplayName: pulumi.String(\"myLabelClass1\"),\nSubclasses: nil,\n},\nMyLabelClass2: \u0026machinelearningservices.LabelClassArgs{\nDisplayName: pulumi.String(\"myLabelClass2\"),\nSubclasses: nil,\n},\n},\nDisplayName: pulumi.String(\"myCategory1Title\"),\nMultiSelect: pulumi.String(\"Disabled\"),\n},\n\"myCategory2\": \u0026machinelearningservices.LabelCategoryArgs{\nClasses: interface{}{\nMyLabelClass1: interface{}{\nDisplayName: pulumi.String(\"myLabelClass1\"),\nSubclasses: nil,\n},\nMyLabelClass2: interface{}{\nDisplayName: pulumi.String(\"myLabelClass2\"),\nSubclasses: nil,\n},\n},\nDisplayName: pulumi.String(\"myCategory2Title\"),\nMultiSelect: pulumi.String(\"Disabled\"),\n},\n},\nLabelingJobMediaProperties: machinelearningservices.LabelingJobImageProperties{\nMediaType: \"Image\",\n},\nMlAssistConfiguration: machinelearningservices.MLAssistConfigurationEnabled{\nInferencingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\",\nMlAssist: \"Enabled\",\nTrainingComputeBinding: \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\",\n},\nProperties: pulumi.StringMap{\n\"additionalProp1\": pulumi.String(\"string\"),\n\"additionalProp2\": pulumi.String(\"string\"),\n\"additionalProp3\": pulumi.String(\"string\"),\n},\nTags: pulumi.StringMap{\n\"additionalProp1\": pulumi.String(\"string\"),\n\"additionalProp2\": pulumi.String(\"string\"),\n\"additionalProp3\": pulumi.String(\"string\"),\n},\n},\nResourceGroupName: pulumi.String(\"workspace-1234\"),\nWorkspaceName: pulumi.String(\"testworkspace\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.LabelingJobArgs;\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(Map.ofEntries(\n Map.entry(\"description\", \"string\"),\n Map.entry(\"jobInstructions\", Map.of(\"uri\", \"link/to/instructions\")),\n Map.entry(\"jobType\", \"Labeling\"),\n Map.entry(\"labelCategories\", Map.ofEntries(\n Map.entry(\"myCategory1\", Map.ofEntries(\n Map.entry(\"classes\", Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", )\n )),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", )\n ))\n )),\n Map.entry(\"displayName\", \"myCategory1Title\"),\n Map.entry(\"multiSelect\", \"Disabled\")\n )),\n Map.entry(\"myCategory2\", Map.ofEntries(\n Map.entry(\"classes\", Map.ofEntries(\n Map.entry(\"myLabelClass1\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass1\"),\n Map.entry(\"subclasses\", )\n )),\n Map.entry(\"myLabelClass2\", Map.ofEntries(\n Map.entry(\"displayName\", \"myLabelClass2\"),\n Map.entry(\"subclasses\", )\n ))\n )),\n Map.entry(\"displayName\", \"myCategory2Title\"),\n Map.entry(\"multiSelect\", \"Disabled\")\n ))\n )),\n Map.entry(\"labelingJobMediaProperties\", Map.of(\"mediaType\", \"Image\")),\n Map.entry(\"mlAssistConfiguration\", Map.ofEntries(\n Map.entry(\"inferencingComputeBinding\", \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/myscoringcompute\"),\n Map.entry(\"mlAssist\", \"Enabled\"),\n Map.entry(\"trainingComputeBinding\", \"/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/mytrainingompute\")\n )),\n Map.entry(\"properties\", Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n )),\n Map.entry(\"tags\", Map.ofEntries(\n Map.entry(\"additionalProp1\", \"string\"),\n Map.entry(\"additionalProp2\", \"string\"),\n Map.entry(\"additionalProp3\", \"string\")\n ))\n ))\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: \"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: \"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=azure_native.machinelearningservices.LabelingJobResponseArgs(\n description=\"string\",\n job_instructions=azure_native.machinelearningservices.LabelingJobInstructionsArgs(\n uri=\"link/to/instructions\",\n ),\n job_type=\"Labeling\",\n label_categories={\n \"myCategory1\": azure_native.machinelearningservices.LabelCategoryArgs(\n classes={\n \"myLabelClass1\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass1\",\n subclasses={},\n ),\n \"myLabelClass2\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass2\",\n subclasses={},\n ),\n },\n display_name=\"myCategory1Title\",\n multi_select=\"Disabled\",\n ),\n \"myCategory2\": azure_native.machinelearningservices.LabelCategoryArgs(\n classes={\n \"myLabelClass1\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass1\",\n subclasses={},\n ),\n \"myLabelClass2\": azure_native.machinelearningservices.LabelClassArgs(\n display_name=\"myLabelClass2\",\n subclasses={},\n ),\n },\n display_name=\"myCategory2Title\",\n multi_select=\"Disabled\",\n ),\n },\n labeling_job_media_properties=azure_native.machinelearningservices.LabelingJobImagePropertiesArgs(\n media_type=\"Image\",\n ),\n ml_assist_configuration=azure_native.machinelearningservices.MLAssistConfigurationEnabledArgs(\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": { "labelingJobProperties": { "type": "object", @@ -608456,7 +608960,7 @@ ] }, "azure-native:network:P2sVpnServerConfiguration": { - "description": "P2SVpnServerConfiguration Resource.\nAzure REST API version: 2019-07-01. Prior API version in Azure Native 1.x: 2019-07-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### P2SVpnServerConfigurationPut\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var p2sVpnServerConfiguration = new AzureNative.Network.P2sVpnServerConfiguration(\"p2sVpnServerConfiguration\", new()\n {\n P2SVpnServerConfigRadiusClientRootCertificates = new[]\n {\n new AzureNative.Network.Inputs.P2SVpnServerConfigRadiusClientRootCertificateArgs\n {\n Name = \"p2sVpnServerConfigRadiusClientRootCert1\",\n Thumbprint = \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n },\n },\n P2SVpnServerConfigRadiusServerRootCertificates = new[]\n {\n new AzureNative.Network.Inputs.P2SVpnServerConfigRadiusServerRootCertificateArgs\n {\n Name = \"p2sVpnServerConfigRadiusServerRootCert1\",\n PublicCertData = \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\",\n },\n },\n P2SVpnServerConfigVpnClientRevokedCertificates = new[]\n {\n new AzureNative.Network.Inputs.P2SVpnServerConfigVpnClientRevokedCertificateArgs\n {\n Name = \"p2sVpnServerConfigVpnClientRevokedCert1\",\n Thumbprint = \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n },\n },\n P2SVpnServerConfigVpnClientRootCertificates = new[]\n {\n new AzureNative.Network.Inputs.P2SVpnServerConfigVpnClientRootCertificateArgs\n {\n Name = \"p2sVpnServerConfigVpnClientRootCert1\",\n PublicCertData = \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\",\n },\n },\n P2SVpnServerConfigurationName = \"p2sVpnServerConfiguration1\",\n RadiusServerAddress = \"8.9.9.9\",\n RadiusServerSecret = \"\u003cradiusServerSecret\u003e\",\n ResourceGroupName = \"rg1\",\n VirtualWanName = \"virtualWan1\",\n VpnClientIpsecPolicies = new[]\n {\n new AzureNative.Network.Inputs.IpsecPolicyArgs\n {\n DhGroup = \"DHGroup14\",\n IkeEncryption = \"AES256\",\n IkeIntegrity = \"SHA384\",\n IpsecEncryption = \"AES256\",\n IpsecIntegrity = \"SHA256\",\n PfsGroup = \"PFS14\",\n SaDataSizeKilobytes = 429497,\n SaLifeTimeSeconds = 86472,\n },\n },\n VpnProtocols = new[]\n {\n \"IkeV2\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\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 := network.NewP2sVpnServerConfiguration(ctx, \"p2sVpnServerConfiguration\", \u0026network.P2sVpnServerConfigurationArgs{\n\t\t\tP2SVpnServerConfigRadiusClientRootCertificates: []network.P2SVpnServerConfigRadiusClientRootCertificateArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"p2sVpnServerConfigRadiusClientRootCert1\"),\n\t\t\t\t\tThumbprint: pulumi.String(\"83FFBFC8848B5A5836C94D0112367E16148A286F\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tP2SVpnServerConfigRadiusServerRootCertificates: []network.P2SVpnServerConfigRadiusServerRootCertificateArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"p2sVpnServerConfigRadiusServerRootCert1\"),\n\t\t\t\t\tPublicCertData: pulumi.String(\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tP2SVpnServerConfigVpnClientRevokedCertificates: []network.P2SVpnServerConfigVpnClientRevokedCertificateArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"p2sVpnServerConfigVpnClientRevokedCert1\"),\n\t\t\t\t\tThumbprint: pulumi.String(\"83FFBFC8848B5A5836C94D0112367E16148A286F\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tP2SVpnServerConfigVpnClientRootCertificates: []network.P2SVpnServerConfigVpnClientRootCertificateArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"p2sVpnServerConfigVpnClientRootCert1\"),\n\t\t\t\t\tPublicCertData: pulumi.String(\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tP2SVpnServerConfigurationName: pulumi.String(\"p2sVpnServerConfiguration1\"),\n\t\t\tRadiusServerAddress: pulumi.String(\"8.9.9.9\"),\n\t\t\tRadiusServerSecret: pulumi.String(\"\u003cradiusServerSecret\u003e\"),\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tVirtualWanName: pulumi.String(\"virtualWan1\"),\n\t\t\tVpnClientIpsecPolicies: []network.IpsecPolicyArgs{\n\t\t\t\t{\n\t\t\t\t\tDhGroup: pulumi.String(\"DHGroup14\"),\n\t\t\t\t\tIkeEncryption: pulumi.String(\"AES256\"),\n\t\t\t\t\tIkeIntegrity: pulumi.String(\"SHA384\"),\n\t\t\t\t\tIpsecEncryption: pulumi.String(\"AES256\"),\n\t\t\t\t\tIpsecIntegrity: pulumi.String(\"SHA256\"),\n\t\t\t\t\tPfsGroup: pulumi.String(\"PFS14\"),\n\t\t\t\t\tSaDataSizeKilobytes: pulumi.Int(429497),\n\t\t\t\t\tSaLifeTimeSeconds: pulumi.Int(86472),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpnProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"IkeV2\"),\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.network.P2sVpnServerConfiguration;\nimport com.pulumi.azurenative.network.P2sVpnServerConfigurationArgs;\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 p2sVpnServerConfiguration = new P2sVpnServerConfiguration(\"p2sVpnServerConfiguration\", P2sVpnServerConfigurationArgs.builder() \n .p2SVpnServerConfigRadiusClientRootCertificates(Map.ofEntries(\n Map.entry(\"name\", \"p2sVpnServerConfigRadiusClientRootCert1\"),\n Map.entry(\"thumbprint\", \"83FFBFC8848B5A5836C94D0112367E16148A286F\")\n ))\n .p2SVpnServerConfigRadiusServerRootCertificates(Map.ofEntries(\n Map.entry(\"name\", \"p2sVpnServerConfigRadiusServerRootCert1\"),\n Map.entry(\"publicCertData\", \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\")\n ))\n .p2SVpnServerConfigVpnClientRevokedCertificates(Map.ofEntries(\n Map.entry(\"name\", \"p2sVpnServerConfigVpnClientRevokedCert1\"),\n Map.entry(\"thumbprint\", \"83FFBFC8848B5A5836C94D0112367E16148A286F\")\n ))\n .p2SVpnServerConfigVpnClientRootCertificates(Map.ofEntries(\n Map.entry(\"name\", \"p2sVpnServerConfigVpnClientRootCert1\"),\n Map.entry(\"publicCertData\", \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\")\n ))\n .p2SVpnServerConfigurationName(\"p2sVpnServerConfiguration1\")\n .radiusServerAddress(\"8.9.9.9\")\n .radiusServerSecret(\"\u003cradiusServerSecret\u003e\")\n .resourceGroupName(\"rg1\")\n .virtualWanName(\"virtualWan1\")\n .vpnClientIpsecPolicies(Map.ofEntries(\n Map.entry(\"dhGroup\", \"DHGroup14\"),\n Map.entry(\"ikeEncryption\", \"AES256\"),\n Map.entry(\"ikeIntegrity\", \"SHA384\"),\n Map.entry(\"ipsecEncryption\", \"AES256\"),\n Map.entry(\"ipsecIntegrity\", \"SHA256\"),\n Map.entry(\"pfsGroup\", \"PFS14\"),\n Map.entry(\"saDataSizeKilobytes\", 429497),\n Map.entry(\"saLifeTimeSeconds\", 86472)\n ))\n .vpnProtocols(\"IkeV2\")\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 p2sVpnServerConfiguration = new azure_native.network.P2sVpnServerConfiguration(\"p2sVpnServerConfiguration\", {\n p2SVpnServerConfigRadiusClientRootCertificates: [{\n name: \"p2sVpnServerConfigRadiusClientRootCert1\",\n thumbprint: \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n }],\n p2SVpnServerConfigRadiusServerRootCertificates: [{\n name: \"p2sVpnServerConfigRadiusServerRootCert1\",\n publicCertData: \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\",\n }],\n p2SVpnServerConfigVpnClientRevokedCertificates: [{\n name: \"p2sVpnServerConfigVpnClientRevokedCert1\",\n thumbprint: \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n }],\n p2SVpnServerConfigVpnClientRootCertificates: [{\n name: \"p2sVpnServerConfigVpnClientRootCert1\",\n publicCertData: \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\",\n }],\n p2SVpnServerConfigurationName: \"p2sVpnServerConfiguration1\",\n radiusServerAddress: \"8.9.9.9\",\n radiusServerSecret: \"\u003cradiusServerSecret\u003e\",\n resourceGroupName: \"rg1\",\n virtualWanName: \"virtualWan1\",\n vpnClientIpsecPolicies: [{\n dhGroup: \"DHGroup14\",\n ikeEncryption: \"AES256\",\n ikeIntegrity: \"SHA384\",\n ipsecEncryption: \"AES256\",\n ipsecIntegrity: \"SHA256\",\n pfsGroup: \"PFS14\",\n saDataSizeKilobytes: 429497,\n saLifeTimeSeconds: 86472,\n }],\n vpnProtocols: [\"IkeV2\"],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\np2s_vpn_server_configuration = azure_native.network.P2sVpnServerConfiguration(\"p2sVpnServerConfiguration\",\n p2_s_vpn_server_config_radius_client_root_certificates=[azure_native.network.P2SVpnServerConfigRadiusClientRootCertificateArgs(\n name=\"p2sVpnServerConfigRadiusClientRootCert1\",\n thumbprint=\"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n )],\n p2_s_vpn_server_config_radius_server_root_certificates=[azure_native.network.P2SVpnServerConfigRadiusServerRootCertificateArgs(\n name=\"p2sVpnServerConfigRadiusServerRootCert1\",\n public_cert_data=\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\",\n )],\n p2_s_vpn_server_config_vpn_client_revoked_certificates=[azure_native.network.P2SVpnServerConfigVpnClientRevokedCertificateArgs(\n name=\"p2sVpnServerConfigVpnClientRevokedCert1\",\n thumbprint=\"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n )],\n p2_s_vpn_server_config_vpn_client_root_certificates=[azure_native.network.P2SVpnServerConfigVpnClientRootCertificateArgs(\n name=\"p2sVpnServerConfigVpnClientRootCert1\",\n public_cert_data=\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\",\n )],\n p2_s_vpn_server_configuration_name=\"p2sVpnServerConfiguration1\",\n radius_server_address=\"8.9.9.9\",\n radius_server_secret=\"\u003cradiusServerSecret\u003e\",\n resource_group_name=\"rg1\",\n virtual_wan_name=\"virtualWan1\",\n vpn_client_ipsec_policies=[azure_native.network.IpsecPolicyArgs(\n dh_group=\"DHGroup14\",\n ike_encryption=\"AES256\",\n ike_integrity=\"SHA384\",\n ipsec_encryption=\"AES256\",\n ipsec_integrity=\"SHA256\",\n pfs_group=\"PFS14\",\n sa_data_size_kilobytes=429497,\n sa_life_time_seconds=86472,\n )],\n vpn_protocols=[\"IkeV2\"])\n\n```\n\n```yaml\nresources:\n p2sVpnServerConfiguration:\n type: azure-native:network:P2sVpnServerConfiguration\n properties:\n p2SVpnServerConfigRadiusClientRootCertificates:\n - name: p2sVpnServerConfigRadiusClientRootCert1\n thumbprint: 83FFBFC8848B5A5836C94D0112367E16148A286F\n p2SVpnServerConfigRadiusServerRootCertificates:\n - name: p2sVpnServerConfigRadiusServerRootCert1\n publicCertData: MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\n p2SVpnServerConfigVpnClientRevokedCertificates:\n - name: p2sVpnServerConfigVpnClientRevokedCert1\n thumbprint: 83FFBFC8848B5A5836C94D0112367E16148A286F\n p2SVpnServerConfigVpnClientRootCertificates:\n - name: p2sVpnServerConfigVpnClientRootCert1\n publicCertData: MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\n p2SVpnServerConfigurationName: p2sVpnServerConfiguration1\n radiusServerAddress: 8.9.9.9\n radiusServerSecret: \u003cradiusServerSecret\u003e\n resourceGroupName: rg1\n virtualWanName: virtualWan1\n vpnClientIpsecPolicies:\n - dhGroup: DHGroup14\n ikeEncryption: AES256\n ikeIntegrity: SHA384\n ipsecEncryption: AES256\n ipsecIntegrity: SHA256\n pfsGroup: PFS14\n saDataSizeKilobytes: 429497\n saLifeTimeSeconds: 86472\n vpnProtocols:\n - IkeV2\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:network:P2sVpnServerConfiguration p2sVpnServerConfiguration1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName} \n```\n", + "description": "P2SVpnServerConfiguration Resource.\nAzure REST API version: 2019-07-01. Prior API version in Azure Native 1.x: 2019-07-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### P2SVpnServerConfigurationPut\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var p2sVpnServerConfiguration = new AzureNative.Network.P2sVpnServerConfiguration(\"p2sVpnServerConfiguration\", new()\n {\n P2SVpnServerConfigurationName = \"p2sVpnServerConfiguration1\",\n Properties = new AzureNative.Network.Inputs.P2SVpnServerConfigurationPropertiesArgs\n {\n P2SVpnServerConfigRadiusClientRootCertificates = new[]\n {\n new AzureNative.Network.Inputs.P2SVpnServerConfigRadiusClientRootCertificateArgs\n {\n Name = \"p2sVpnServerConfigRadiusClientRootCert1\",\n Thumbprint = \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n },\n },\n P2SVpnServerConfigRadiusServerRootCertificates = new[]\n {\n new AzureNative.Network.Inputs.P2SVpnServerConfigRadiusServerRootCertificateArgs\n {\n Name = \"p2sVpnServerConfigRadiusServerRootCert1\",\n PublicCertData = \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\",\n },\n },\n P2SVpnServerConfigVpnClientRevokedCertificates = new[]\n {\n new AzureNative.Network.Inputs.P2SVpnServerConfigVpnClientRevokedCertificateArgs\n {\n Name = \"p2sVpnServerConfigVpnClientRevokedCert1\",\n Thumbprint = \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n },\n },\n P2SVpnServerConfigVpnClientRootCertificates = new[]\n {\n new AzureNative.Network.Inputs.P2SVpnServerConfigVpnClientRootCertificateArgs\n {\n Name = \"p2sVpnServerConfigVpnClientRootCert1\",\n PublicCertData = \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\",\n },\n },\n RadiusServerAddress = \"8.9.9.9\",\n RadiusServerSecret = \"\u003cradiusServerSecret\u003e\",\n VpnClientIpsecPolicies = new[]\n {\n new AzureNative.Network.Inputs.IpsecPolicyArgs\n {\n DhGroup = \"DHGroup14\",\n IkeEncryption = \"AES256\",\n IkeIntegrity = \"SHA384\",\n IpsecEncryption = \"AES256\",\n IpsecIntegrity = \"SHA256\",\n PfsGroup = \"PFS14\",\n SaDataSizeKilobytes = 429497,\n SaLifeTimeSeconds = 86472,\n },\n },\n VpnProtocols = new[]\n {\n \"IkeV2\",\n },\n },\n ResourceGroupName = \"rg1\",\n VirtualWanName = \"virtualWan1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\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 := network.NewP2sVpnServerConfiguration(ctx, \"p2sVpnServerConfiguration\", \u0026network.P2sVpnServerConfigurationArgs{\n\t\t\tP2SVpnServerConfigurationName: pulumi.String(\"p2sVpnServerConfiguration1\"),\n\t\t\tProperties: network.P2SVpnServerConfigurationPropertiesResponse{\n\t\t\t\tP2SVpnServerConfigRadiusClientRootCertificates: network.P2SVpnServerConfigRadiusClientRootCertificateArray{\n\t\t\t\t\t\u0026network.P2SVpnServerConfigRadiusClientRootCertificateArgs{\n\t\t\t\t\t\tName: pulumi.String(\"p2sVpnServerConfigRadiusClientRootCert1\"),\n\t\t\t\t\t\tThumbprint: pulumi.String(\"83FFBFC8848B5A5836C94D0112367E16148A286F\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tP2SVpnServerConfigRadiusServerRootCertificates: network.P2SVpnServerConfigRadiusServerRootCertificateArray{\n\t\t\t\t\t\u0026network.P2SVpnServerConfigRadiusServerRootCertificateArgs{\n\t\t\t\t\t\tName: pulumi.String(\"p2sVpnServerConfigRadiusServerRootCert1\"),\n\t\t\t\t\t\tPublicCertData: pulumi.String(\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tP2SVpnServerConfigVpnClientRevokedCertificates: network.P2SVpnServerConfigVpnClientRevokedCertificateArray{\n\t\t\t\t\t\u0026network.P2SVpnServerConfigVpnClientRevokedCertificateArgs{\n\t\t\t\t\t\tName: pulumi.String(\"p2sVpnServerConfigVpnClientRevokedCert1\"),\n\t\t\t\t\t\tThumbprint: pulumi.String(\"83FFBFC8848B5A5836C94D0112367E16148A286F\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tP2SVpnServerConfigVpnClientRootCertificates: network.P2SVpnServerConfigVpnClientRootCertificateArray{\n\t\t\t\t\t\u0026network.P2SVpnServerConfigVpnClientRootCertificateArgs{\n\t\t\t\t\t\tName: pulumi.String(\"p2sVpnServerConfigVpnClientRootCert1\"),\n\t\t\t\t\t\tPublicCertData: pulumi.String(\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRadiusServerAddress: pulumi.String(\"8.9.9.9\"),\n\t\t\t\tRadiusServerSecret: pulumi.String(\"\u003cradiusServerSecret\u003e\"),\n\t\t\t\tVpnClientIpsecPolicies: network.IpsecPolicyArray{\n\t\t\t\t\t\u0026network.IpsecPolicyArgs{\n\t\t\t\t\t\tDhGroup: pulumi.String(\"DHGroup14\"),\n\t\t\t\t\t\tIkeEncryption: pulumi.String(\"AES256\"),\n\t\t\t\t\t\tIkeIntegrity: pulumi.String(\"SHA384\"),\n\t\t\t\t\t\tIpsecEncryption: pulumi.String(\"AES256\"),\n\t\t\t\t\t\tIpsecIntegrity: pulumi.String(\"SHA256\"),\n\t\t\t\t\t\tPfsGroup: pulumi.String(\"PFS14\"),\n\t\t\t\t\t\tSaDataSizeKilobytes: pulumi.Int(429497),\n\t\t\t\t\t\tSaLifeTimeSeconds: pulumi.Int(86472),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tVpnProtocols: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"IkeV2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tVirtualWanName: pulumi.String(\"virtualWan1\"),\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.network.P2sVpnServerConfiguration;\nimport com.pulumi.azurenative.network.P2sVpnServerConfigurationArgs;\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 p2sVpnServerConfiguration = new P2sVpnServerConfiguration(\"p2sVpnServerConfiguration\", P2sVpnServerConfigurationArgs.builder() \n .p2SVpnServerConfigurationName(\"p2sVpnServerConfiguration1\")\n .properties(Map.ofEntries(\n Map.entry(\"p2SVpnServerConfigRadiusClientRootCertificates\", Map.ofEntries(\n Map.entry(\"name\", \"p2sVpnServerConfigRadiusClientRootCert1\"),\n Map.entry(\"thumbprint\", \"83FFBFC8848B5A5836C94D0112367E16148A286F\")\n )),\n Map.entry(\"p2SVpnServerConfigRadiusServerRootCertificates\", Map.ofEntries(\n Map.entry(\"name\", \"p2sVpnServerConfigRadiusServerRootCert1\"),\n Map.entry(\"publicCertData\", \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\")\n )),\n Map.entry(\"p2SVpnServerConfigVpnClientRevokedCertificates\", Map.ofEntries(\n Map.entry(\"name\", \"p2sVpnServerConfigVpnClientRevokedCert1\"),\n Map.entry(\"thumbprint\", \"83FFBFC8848B5A5836C94D0112367E16148A286F\")\n )),\n Map.entry(\"p2SVpnServerConfigVpnClientRootCertificates\", Map.ofEntries(\n Map.entry(\"name\", \"p2sVpnServerConfigVpnClientRootCert1\"),\n Map.entry(\"publicCertData\", \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\")\n )),\n Map.entry(\"radiusServerAddress\", \"8.9.9.9\"),\n Map.entry(\"radiusServerSecret\", \"\u003cradiusServerSecret\u003e\"),\n Map.entry(\"vpnClientIpsecPolicies\", Map.ofEntries(\n Map.entry(\"dhGroup\", \"DHGroup14\"),\n Map.entry(\"ikeEncryption\", \"AES256\"),\n Map.entry(\"ikeIntegrity\", \"SHA384\"),\n Map.entry(\"ipsecEncryption\", \"AES256\"),\n Map.entry(\"ipsecIntegrity\", \"SHA256\"),\n Map.entry(\"pfsGroup\", \"PFS14\"),\n Map.entry(\"saDataSizeKilobytes\", 429497),\n Map.entry(\"saLifeTimeSeconds\", 86472)\n )),\n Map.entry(\"vpnProtocols\", \"IkeV2\")\n ))\n .resourceGroupName(\"rg1\")\n .virtualWanName(\"virtualWan1\")\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 p2sVpnServerConfiguration = new azure_native.network.P2sVpnServerConfiguration(\"p2sVpnServerConfiguration\", {\n p2SVpnServerConfigurationName: \"p2sVpnServerConfiguration1\",\n properties: {\n p2SVpnServerConfigRadiusClientRootCertificates: [{\n name: \"p2sVpnServerConfigRadiusClientRootCert1\",\n thumbprint: \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n }],\n p2SVpnServerConfigRadiusServerRootCertificates: [{\n name: \"p2sVpnServerConfigRadiusServerRootCert1\",\n publicCertData: \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\",\n }],\n p2SVpnServerConfigVpnClientRevokedCertificates: [{\n name: \"p2sVpnServerConfigVpnClientRevokedCert1\",\n thumbprint: \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n }],\n p2SVpnServerConfigVpnClientRootCertificates: [{\n name: \"p2sVpnServerConfigVpnClientRootCert1\",\n publicCertData: \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\",\n }],\n radiusServerAddress: \"8.9.9.9\",\n radiusServerSecret: \"\u003cradiusServerSecret\u003e\",\n vpnClientIpsecPolicies: [{\n dhGroup: \"DHGroup14\",\n ikeEncryption: \"AES256\",\n ikeIntegrity: \"SHA384\",\n ipsecEncryption: \"AES256\",\n ipsecIntegrity: \"SHA256\",\n pfsGroup: \"PFS14\",\n saDataSizeKilobytes: 429497,\n saLifeTimeSeconds: 86472,\n }],\n vpnProtocols: [\"IkeV2\"],\n },\n resourceGroupName: \"rg1\",\n virtualWanName: \"virtualWan1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\np2s_vpn_server_configuration = azure_native.network.P2sVpnServerConfiguration(\"p2sVpnServerConfiguration\",\n p2_s_vpn_server_configuration_name=\"p2sVpnServerConfiguration1\",\n properties=azure_native.network.P2SVpnServerConfigurationPropertiesResponseArgs(\n p2_s_vpn_server_config_radius_client_root_certificates=[azure_native.network.P2SVpnServerConfigRadiusClientRootCertificateArgs(\n name=\"p2sVpnServerConfigRadiusClientRootCert1\",\n thumbprint=\"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n )],\n p2_s_vpn_server_config_radius_server_root_certificates=[azure_native.network.P2SVpnServerConfigRadiusServerRootCertificateArgs(\n name=\"p2sVpnServerConfigRadiusServerRootCert1\",\n public_cert_data=\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\",\n )],\n p2_s_vpn_server_config_vpn_client_revoked_certificates=[azure_native.network.P2SVpnServerConfigVpnClientRevokedCertificateArgs(\n name=\"p2sVpnServerConfigVpnClientRevokedCert1\",\n thumbprint=\"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n )],\n p2_s_vpn_server_config_vpn_client_root_certificates=[azure_native.network.P2SVpnServerConfigVpnClientRootCertificateArgs(\n name=\"p2sVpnServerConfigVpnClientRootCert1\",\n public_cert_data=\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\",\n )],\n radius_server_address=\"8.9.9.9\",\n radius_server_secret=\"\u003cradiusServerSecret\u003e\",\n vpn_client_ipsec_policies=[azure_native.network.IpsecPolicyArgs(\n dh_group=\"DHGroup14\",\n ike_encryption=\"AES256\",\n ike_integrity=\"SHA384\",\n ipsec_encryption=\"AES256\",\n ipsec_integrity=\"SHA256\",\n pfs_group=\"PFS14\",\n sa_data_size_kilobytes=429497,\n sa_life_time_seconds=86472,\n )],\n vpn_protocols=[\"IkeV2\"],\n ),\n resource_group_name=\"rg1\",\n virtual_wan_name=\"virtualWan1\")\n\n```\n\n```yaml\nresources:\n p2sVpnServerConfiguration:\n type: azure-native:network:P2sVpnServerConfiguration\n properties:\n p2SVpnServerConfigurationName: p2sVpnServerConfiguration1\n properties:\n p2SVpnServerConfigRadiusClientRootCertificates:\n - name: p2sVpnServerConfigRadiusClientRootCert1\n thumbprint: 83FFBFC8848B5A5836C94D0112367E16148A286F\n p2SVpnServerConfigRadiusServerRootCertificates:\n - name: p2sVpnServerConfigRadiusServerRootCert1\n publicCertData: MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\n p2SVpnServerConfigVpnClientRevokedCertificates:\n - name: p2sVpnServerConfigVpnClientRevokedCert1\n thumbprint: 83FFBFC8848B5A5836C94D0112367E16148A286F\n p2SVpnServerConfigVpnClientRootCertificates:\n - name: p2sVpnServerConfigVpnClientRootCert1\n publicCertData: MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\n radiusServerAddress: 8.9.9.9\n radiusServerSecret: \u003cradiusServerSecret\u003e\n vpnClientIpsecPolicies:\n - dhGroup: DHGroup14\n ikeEncryption: AES256\n ikeIntegrity: SHA384\n ipsecEncryption: AES256\n ipsecIntegrity: SHA256\n pfsGroup: PFS14\n saDataSizeKilobytes: 429497\n saLifeTimeSeconds: 86472\n vpnProtocols:\n - IkeV2\n resourceGroupName: rg1\n virtualWanName: virtualWan1\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:network:P2sVpnServerConfiguration p2sVpnServerConfiguration1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName} \n```\n", "properties": { "etag": { "type": "string", @@ -608464,81 +608968,18 @@ }, "name": { "type": "string", - "description": "The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name." - }, - "p2SVpnGateways": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:SubResourceResponse" - }, - "description": "List of references to P2SVpnGateways." - }, - "p2SVpnServerConfigRadiusClientRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnServerConfigRadiusClientRootCertificateResponse" - }, - "description": "Radius client root certificate of P2SVpnServerConfiguration." - }, - "p2SVpnServerConfigRadiusServerRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnServerConfigRadiusServerRootCertificateResponse" - }, - "description": "Radius Server root certificate of P2SVpnServerConfiguration." - }, - "p2SVpnServerConfigVpnClientRevokedCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnServerConfigVpnClientRevokedCertificateResponse" - }, - "description": "VPN client revoked certificate of P2SVpnServerConfiguration." - }, - "p2SVpnServerConfigVpnClientRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnServerConfigVpnClientRootCertificateResponse" - }, - "description": "VPN client root certificate of P2SVpnServerConfiguration." - }, - "provisioningState": { - "type": "string", - "description": "The provisioning state of the P2S VPN server configuration resource." - }, - "radiusServerAddress": { - "type": "string", - "description": "The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection." - }, - "radiusServerSecret": { - "type": "string", - "description": "The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection." - }, - "vpnClientIpsecPolicies": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:IpsecPolicyResponse" - }, - "description": "VpnClientIpsecPolicies for P2SVpnServerConfiguration." + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." }, - "vpnProtocols": { - "type": "array", - "items": { - "type": "string" - }, - "description": "VPN protocols for the P2SVpnServerConfiguration." + "properties": { + "type": "object", + "$ref": "#/types/azure-native:network:P2SVpnServerConfigurationPropertiesResponse", + "description": "Properties of the P2SVpnServer configuration." } }, "type": "object", "required": [ "etag", - "p2SVpnGateways", - "provisioningState" + "properties" ], "inputProperties": { "id": { @@ -608547,52 +608988,17 @@ }, "name": { "type": "string", - "description": "The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name." - }, - "p2SVpnServerConfigRadiusClientRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnServerConfigRadiusClientRootCertificate" - }, - "description": "Radius client root certificate of P2SVpnServerConfiguration." - }, - "p2SVpnServerConfigRadiusServerRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnServerConfigRadiusServerRootCertificate" - }, - "description": "Radius Server root certificate of P2SVpnServerConfiguration." - }, - "p2SVpnServerConfigVpnClientRevokedCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnServerConfigVpnClientRevokedCertificate" - }, - "description": "VPN client revoked certificate of P2SVpnServerConfiguration." - }, - "p2SVpnServerConfigVpnClientRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnServerConfigVpnClientRootCertificate" - }, - "description": "VPN client root certificate of P2SVpnServerConfiguration." + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." }, "p2SVpnServerConfigurationName": { "type": "string", "description": "The name of the P2SVpnServerConfiguration.", "willReplaceOnChanges": true }, - "radiusServerAddress": { - "type": "string", - "description": "The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection." - }, - "radiusServerSecret": { - "type": "string", - "description": "The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection." + "properties": { + "type": "object", + "$ref": "#/types/azure-native:network:P2SVpnServerConfigurationProperties", + "description": "Properties of the P2SVpnServer configuration." }, "resourceGroupName": { "type": "string", @@ -608603,28 +609009,6 @@ "type": "string", "description": "The name of the VirtualWan.", "willReplaceOnChanges": true - }, - "vpnClientIpsecPolicies": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:IpsecPolicy" - }, - "description": "VpnClientIpsecPolicies for P2SVpnServerConfiguration." - }, - "vpnProtocols": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/types/azure-native:network:VpnGatewayTunnelingProtocol" - } - ] - }, - "description": "VPN protocols for the P2SVpnServerConfiguration." } }, "requiredInputs": [ @@ -619412,21 +619796,8 @@ ] }, "azure-native:network:VpnServerConfiguration": { - "description": "VpnServerConfiguration Resource.\nAzure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01.\n\nOther available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### VpnServerConfigurationCreate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpnServerConfiguration = new AzureNative.Network.VpnServerConfiguration(\"vpnServerConfiguration\", new()\n {\n ConfigurationPolicyGroups = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigurationPolicyGroupArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1\",\n IsDefault = true,\n Name = \"policyGroup1\",\n PolicyMembers = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigurationPolicyGroupMemberArgs\n {\n AttributeType = \"RadiusAzureGroupId\",\n AttributeValue = \"6ad1bd08\",\n Name = \"policy1\",\n },\n },\n Priority = 0,\n },\n new AzureNative.Network.Inputs.VpnServerConfigurationPolicyGroupArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2\",\n IsDefault = true,\n Name = \"policyGroup2\",\n PolicyMembers = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigurationPolicyGroupMemberArgs\n {\n AttributeType = \"CertificateGroupId\",\n AttributeValue = \"red.com\",\n Name = \"policy2\",\n },\n },\n Priority = 0,\n },\n },\n Location = \"West US\",\n RadiusClientRootCertificates = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigRadiusClientRootCertificateArgs\n {\n Name = \"vpnServerConfigRadiusClientRootCert1\",\n Thumbprint = \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n },\n },\n RadiusServerRootCertificates = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigRadiusServerRootCertificateArgs\n {\n Name = \"vpnServerConfigRadiusServerRootCer1\",\n PublicCertData = \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\",\n },\n },\n RadiusServers = new[]\n {\n new AzureNative.Network.Inputs.RadiusServerArgs\n {\n RadiusServerAddress = \"10.0.0.0\",\n RadiusServerScore = 25,\n RadiusServerSecret = \"radiusServerSecret\",\n },\n },\n ResourceGroupName = \"rg1\",\n Tags = \n {\n { \"key1\", \"value1\" },\n },\n VpnClientIpsecPolicies = new[]\n {\n new AzureNative.Network.Inputs.IpsecPolicyArgs\n {\n DhGroup = \"DHGroup14\",\n IkeEncryption = \"AES256\",\n IkeIntegrity = \"SHA384\",\n IpsecEncryption = \"AES256\",\n IpsecIntegrity = \"SHA256\",\n PfsGroup = \"PFS14\",\n SaDataSizeKilobytes = 429497,\n SaLifeTimeSeconds = 86472,\n },\n },\n VpnClientRevokedCertificates = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigVpnClientRevokedCertificateArgs\n {\n Name = \"vpnServerConfigVpnClientRevokedCert1\",\n Thumbprint = \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n },\n },\n VpnClientRootCertificates = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigVpnClientRootCertificateArgs\n {\n Name = \"vpnServerConfigVpnClientRootCert1\",\n PublicCertData = \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\",\n },\n },\n VpnProtocols = new[]\n {\n \"IkeV2\",\n },\n VpnServerConfigurationName = \"vpnServerConfiguration1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\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 := network.NewVpnServerConfiguration(ctx, \"vpnServerConfiguration\", \u0026network.VpnServerConfigurationArgs{\n\t\t\tConfigurationPolicyGroups: []network.VpnServerConfigurationPolicyGroupArgs{\n\t\t\t\t{\n\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1\"),\n\t\t\t\t\tIsDefault: pulumi.Bool(true),\n\t\t\t\t\tName: pulumi.String(\"policyGroup1\"),\n\t\t\t\t\tPolicyMembers: network.VpnServerConfigurationPolicyGroupMemberArray{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tAttributeType: pulumi.String(\"RadiusAzureGroupId\"),\n\t\t\t\t\t\t\tAttributeValue: pulumi.String(\"6ad1bd08\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"policy1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2\"),\n\t\t\t\t\tIsDefault: pulumi.Bool(true),\n\t\t\t\t\tName: pulumi.String(\"policyGroup2\"),\n\t\t\t\t\tPolicyMembers: network.VpnServerConfigurationPolicyGroupMemberArray{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tAttributeType: pulumi.String(\"CertificateGroupId\"),\n\t\t\t\t\t\t\tAttributeValue: pulumi.String(\"red.com\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"policy2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPriority: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLocation: pulumi.String(\"West US\"),\n\t\t\tRadiusClientRootCertificates: []network.VpnServerConfigRadiusClientRootCertificateArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"vpnServerConfigRadiusClientRootCert1\"),\n\t\t\t\t\tThumbprint: pulumi.String(\"83FFBFC8848B5A5836C94D0112367E16148A286F\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRadiusServerRootCertificates: []network.VpnServerConfigRadiusServerRootCertificateArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"vpnServerConfigRadiusServerRootCer1\"),\n\t\t\t\t\tPublicCertData: pulumi.String(\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRadiusServers: []network.RadiusServerArgs{\n\t\t\t\t{\n\t\t\t\t\tRadiusServerAddress: pulumi.String(\"10.0.0.0\"),\n\t\t\t\t\tRadiusServerScore: pulumi.Float64(25),\n\t\t\t\t\tRadiusServerSecret: pulumi.String(\"radiusServerSecret\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"rg1\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t},\n\t\t\tVpnClientIpsecPolicies: []network.IpsecPolicyArgs{\n\t\t\t\t{\n\t\t\t\t\tDhGroup: pulumi.String(\"DHGroup14\"),\n\t\t\t\t\tIkeEncryption: pulumi.String(\"AES256\"),\n\t\t\t\t\tIkeIntegrity: pulumi.String(\"SHA384\"),\n\t\t\t\t\tIpsecEncryption: pulumi.String(\"AES256\"),\n\t\t\t\t\tIpsecIntegrity: pulumi.String(\"SHA256\"),\n\t\t\t\t\tPfsGroup: pulumi.String(\"PFS14\"),\n\t\t\t\t\tSaDataSizeKilobytes: pulumi.Int(429497),\n\t\t\t\t\tSaLifeTimeSeconds: pulumi.Int(86472),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpnClientRevokedCertificates: []network.VpnServerConfigVpnClientRevokedCertificateArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"vpnServerConfigVpnClientRevokedCert1\"),\n\t\t\t\t\tThumbprint: pulumi.String(\"83FFBFC8848B5A5836C94D0112367E16148A286F\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpnClientRootCertificates: []network.VpnServerConfigVpnClientRootCertificateArgs{\n\t\t\t\t{\n\t\t\t\t\tName: pulumi.String(\"vpnServerConfigVpnClientRootCert1\"),\n\t\t\t\t\tPublicCertData: pulumi.String(\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpnProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"IkeV2\"),\n\t\t\t},\n\t\t\tVpnServerConfigurationName: pulumi.String(\"vpnServerConfiguration1\"),\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.network.VpnServerConfiguration;\nimport com.pulumi.azurenative.network.VpnServerConfigurationArgs;\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 vpnServerConfiguration = new VpnServerConfiguration(\"vpnServerConfiguration\", VpnServerConfigurationArgs.builder() \n .configurationPolicyGroups( \n Map.ofEntries(\n Map.entry(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1\"),\n Map.entry(\"isDefault\", true),\n Map.entry(\"name\", \"policyGroup1\"),\n Map.entry(\"policyMembers\", Map.ofEntries(\n Map.entry(\"attributeType\", \"RadiusAzureGroupId\"),\n Map.entry(\"attributeValue\", \"6ad1bd08\"),\n Map.entry(\"name\", \"policy1\")\n )),\n Map.entry(\"priority\", 0)\n ),\n Map.ofEntries(\n Map.entry(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2\"),\n Map.entry(\"isDefault\", true),\n Map.entry(\"name\", \"policyGroup2\"),\n Map.entry(\"policyMembers\", Map.ofEntries(\n Map.entry(\"attributeType\", \"CertificateGroupId\"),\n Map.entry(\"attributeValue\", \"red.com\"),\n Map.entry(\"name\", \"policy2\")\n )),\n Map.entry(\"priority\", 0)\n ))\n .location(\"West US\")\n .radiusClientRootCertificates(Map.ofEntries(\n Map.entry(\"name\", \"vpnServerConfigRadiusClientRootCert1\"),\n Map.entry(\"thumbprint\", \"83FFBFC8848B5A5836C94D0112367E16148A286F\")\n ))\n .radiusServerRootCertificates(Map.ofEntries(\n Map.entry(\"name\", \"vpnServerConfigRadiusServerRootCer1\"),\n Map.entry(\"publicCertData\", \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\")\n ))\n .radiusServers(Map.ofEntries(\n Map.entry(\"radiusServerAddress\", \"10.0.0.0\"),\n Map.entry(\"radiusServerScore\", 25),\n Map.entry(\"radiusServerSecret\", \"radiusServerSecret\")\n ))\n .resourceGroupName(\"rg1\")\n .tags(Map.of(\"key1\", \"value1\"))\n .vpnClientIpsecPolicies(Map.ofEntries(\n Map.entry(\"dhGroup\", \"DHGroup14\"),\n Map.entry(\"ikeEncryption\", \"AES256\"),\n Map.entry(\"ikeIntegrity\", \"SHA384\"),\n Map.entry(\"ipsecEncryption\", \"AES256\"),\n Map.entry(\"ipsecIntegrity\", \"SHA256\"),\n Map.entry(\"pfsGroup\", \"PFS14\"),\n Map.entry(\"saDataSizeKilobytes\", 429497),\n Map.entry(\"saLifeTimeSeconds\", 86472)\n ))\n .vpnClientRevokedCertificates(Map.ofEntries(\n Map.entry(\"name\", \"vpnServerConfigVpnClientRevokedCert1\"),\n Map.entry(\"thumbprint\", \"83FFBFC8848B5A5836C94D0112367E16148A286F\")\n ))\n .vpnClientRootCertificates(Map.ofEntries(\n Map.entry(\"name\", \"vpnServerConfigVpnClientRootCert1\"),\n Map.entry(\"publicCertData\", \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\")\n ))\n .vpnProtocols(\"IkeV2\")\n .vpnServerConfigurationName(\"vpnServerConfiguration1\")\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 vpnServerConfiguration = new azure_native.network.VpnServerConfiguration(\"vpnServerConfiguration\", {\n configurationPolicyGroups: [\n {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1\",\n isDefault: true,\n name: \"policyGroup1\",\n policyMembers: [{\n attributeType: \"RadiusAzureGroupId\",\n attributeValue: \"6ad1bd08\",\n name: \"policy1\",\n }],\n priority: 0,\n },\n {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2\",\n isDefault: true,\n name: \"policyGroup2\",\n policyMembers: [{\n attributeType: \"CertificateGroupId\",\n attributeValue: \"red.com\",\n name: \"policy2\",\n }],\n priority: 0,\n },\n ],\n location: \"West US\",\n radiusClientRootCertificates: [{\n name: \"vpnServerConfigRadiusClientRootCert1\",\n thumbprint: \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n }],\n radiusServerRootCertificates: [{\n name: \"vpnServerConfigRadiusServerRootCer1\",\n publicCertData: \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\",\n }],\n radiusServers: [{\n radiusServerAddress: \"10.0.0.0\",\n radiusServerScore: 25,\n radiusServerSecret: \"radiusServerSecret\",\n }],\n resourceGroupName: \"rg1\",\n tags: {\n key1: \"value1\",\n },\n vpnClientIpsecPolicies: [{\n dhGroup: \"DHGroup14\",\n ikeEncryption: \"AES256\",\n ikeIntegrity: \"SHA384\",\n ipsecEncryption: \"AES256\",\n ipsecIntegrity: \"SHA256\",\n pfsGroup: \"PFS14\",\n saDataSizeKilobytes: 429497,\n saLifeTimeSeconds: 86472,\n }],\n vpnClientRevokedCertificates: [{\n name: \"vpnServerConfigVpnClientRevokedCert1\",\n thumbprint: \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n }],\n vpnClientRootCertificates: [{\n name: \"vpnServerConfigVpnClientRootCert1\",\n publicCertData: \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\",\n }],\n vpnProtocols: [\"IkeV2\"],\n vpnServerConfigurationName: \"vpnServerConfiguration1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nvpn_server_configuration = azure_native.network.VpnServerConfiguration(\"vpnServerConfiguration\",\n configuration_policy_groups=[\n {\n \"id\": \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1\",\n \"isDefault\": True,\n \"name\": \"policyGroup1\",\n \"policyMembers\": [azure_native.network.VpnServerConfigurationPolicyGroupMemberArgs(\n attribute_type=\"RadiusAzureGroupId\",\n attribute_value=\"6ad1bd08\",\n name=\"policy1\",\n )],\n \"priority\": 0,\n },\n {\n \"id\": \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2\",\n \"isDefault\": True,\n \"name\": \"policyGroup2\",\n \"policyMembers\": [azure_native.network.VpnServerConfigurationPolicyGroupMemberArgs(\n attribute_type=\"CertificateGroupId\",\n attribute_value=\"red.com\",\n name=\"policy2\",\n )],\n \"priority\": 0,\n },\n ],\n location=\"West US\",\n radius_client_root_certificates=[azure_native.network.VpnServerConfigRadiusClientRootCertificateArgs(\n name=\"vpnServerConfigRadiusClientRootCert1\",\n thumbprint=\"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n )],\n radius_server_root_certificates=[azure_native.network.VpnServerConfigRadiusServerRootCertificateArgs(\n name=\"vpnServerConfigRadiusServerRootCer1\",\n public_cert_data=\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\",\n )],\n radius_servers=[azure_native.network.RadiusServerArgs(\n radius_server_address=\"10.0.0.0\",\n radius_server_score=25,\n radius_server_secret=\"radiusServerSecret\",\n )],\n resource_group_name=\"rg1\",\n tags={\n \"key1\": \"value1\",\n },\n vpn_client_ipsec_policies=[azure_native.network.IpsecPolicyArgs(\n dh_group=\"DHGroup14\",\n ike_encryption=\"AES256\",\n ike_integrity=\"SHA384\",\n ipsec_encryption=\"AES256\",\n ipsec_integrity=\"SHA256\",\n pfs_group=\"PFS14\",\n sa_data_size_kilobytes=429497,\n sa_life_time_seconds=86472,\n )],\n vpn_client_revoked_certificates=[azure_native.network.VpnServerConfigVpnClientRevokedCertificateArgs(\n name=\"vpnServerConfigVpnClientRevokedCert1\",\n thumbprint=\"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n )],\n vpn_client_root_certificates=[azure_native.network.VpnServerConfigVpnClientRootCertificateArgs(\n name=\"vpnServerConfigVpnClientRootCert1\",\n public_cert_data=\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\",\n )],\n vpn_protocols=[\"IkeV2\"],\n vpn_server_configuration_name=\"vpnServerConfiguration1\")\n\n```\n\n```yaml\nresources:\n vpnServerConfiguration:\n type: azure-native:network:VpnServerConfiguration\n properties:\n configurationPolicyGroups:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1\n isDefault: true\n name: policyGroup1\n policyMembers:\n - attributeType: RadiusAzureGroupId\n attributeValue: 6ad1bd08\n name: policy1\n priority: 0\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2\n isDefault: true\n name: policyGroup2\n policyMembers:\n - attributeType: CertificateGroupId\n attributeValue: red.com\n name: policy2\n priority: 0\n location: West US\n radiusClientRootCertificates:\n - name: vpnServerConfigRadiusClientRootCert1\n thumbprint: 83FFBFC8848B5A5836C94D0112367E16148A286F\n radiusServerRootCertificates:\n - name: vpnServerConfigRadiusServerRootCer1\n publicCertData: MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\n radiusServers:\n - radiusServerAddress: 10.0.0.0\n radiusServerScore: 25\n radiusServerSecret: radiusServerSecret\n resourceGroupName: rg1\n tags:\n key1: value1\n vpnClientIpsecPolicies:\n - dhGroup: DHGroup14\n ikeEncryption: AES256\n ikeIntegrity: SHA384\n ipsecEncryption: AES256\n ipsecIntegrity: SHA256\n pfsGroup: PFS14\n saDataSizeKilobytes: 429497\n saLifeTimeSeconds: 86472\n vpnClientRevokedCertificates:\n - name: vpnServerConfigVpnClientRevokedCert1\n thumbprint: 83FFBFC8848B5A5836C94D0112367E16148A286F\n vpnClientRootCertificates:\n - name: vpnServerConfigVpnClientRootCert1\n publicCertData: MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\n vpnProtocols:\n - IkeV2\n vpnServerConfigurationName: vpnServerConfiguration1\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:network:VpnServerConfiguration vpnServerConfiguration1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName} \n```\n", + "description": "VpnServerConfiguration Resource.\nAzure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01.\n\nOther available API versions: 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### VpnServerConfigurationCreate\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpnServerConfiguration = new AzureNative.Network.VpnServerConfiguration(\"vpnServerConfiguration\", new()\n {\n Location = \"West US\",\n Properties = new AzureNative.Network.Inputs.VpnServerConfigurationPropertiesArgs\n {\n ConfigurationPolicyGroups = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigurationPolicyGroupArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1\",\n IsDefault = true,\n Name = \"policyGroup1\",\n PolicyMembers = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigurationPolicyGroupMemberArgs\n {\n AttributeType = \"RadiusAzureGroupId\",\n AttributeValue = \"6ad1bd08\",\n Name = \"policy1\",\n },\n },\n Priority = 0,\n },\n new AzureNative.Network.Inputs.VpnServerConfigurationPolicyGroupArgs\n {\n Id = \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2\",\n IsDefault = true,\n Name = \"policyGroup2\",\n PolicyMembers = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigurationPolicyGroupMemberArgs\n {\n AttributeType = \"CertificateGroupId\",\n AttributeValue = \"red.com\",\n Name = \"policy2\",\n },\n },\n Priority = 0,\n },\n },\n RadiusClientRootCertificates = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigRadiusClientRootCertificateArgs\n {\n Name = \"vpnServerConfigRadiusClientRootCert1\",\n Thumbprint = \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n },\n },\n RadiusServerRootCertificates = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigRadiusServerRootCertificateArgs\n {\n Name = \"vpnServerConfigRadiusServerRootCer1\",\n PublicCertData = \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\",\n },\n },\n RadiusServers = new[]\n {\n new AzureNative.Network.Inputs.RadiusServerArgs\n {\n RadiusServerAddress = \"10.0.0.0\",\n RadiusServerScore = 25,\n RadiusServerSecret = \"radiusServerSecret\",\n },\n },\n VpnClientIpsecPolicies = new[]\n {\n new AzureNative.Network.Inputs.IpsecPolicyArgs\n {\n DhGroup = \"DHGroup14\",\n IkeEncryption = \"AES256\",\n IkeIntegrity = \"SHA384\",\n IpsecEncryption = \"AES256\",\n IpsecIntegrity = \"SHA256\",\n PfsGroup = \"PFS14\",\n SaDataSizeKilobytes = 429497,\n SaLifeTimeSeconds = 86472,\n },\n },\n VpnClientRevokedCertificates = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigVpnClientRevokedCertificateArgs\n {\n Name = \"vpnServerConfigVpnClientRevokedCert1\",\n Thumbprint = \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n },\n },\n VpnClientRootCertificates = new[]\n {\n new AzureNative.Network.Inputs.VpnServerConfigVpnClientRootCertificateArgs\n {\n Name = \"vpnServerConfigVpnClientRootCert1\",\n PublicCertData = \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\",\n },\n },\n VpnProtocols = new[]\n {\n \"IkeV2\",\n },\n },\n ResourceGroupName = \"rg1\",\n Tags = \n {\n { \"key1\", \"value1\" },\n },\n VpnServerConfigurationName = \"vpnServerConfiguration1\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/network/v2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := network.NewVpnServerConfiguration(ctx, \"vpnServerConfiguration\", \u0026network.VpnServerConfigurationArgs{\nLocation: pulumi.String(\"West US\"),\nProperties: network.VpnServerConfigurationPropertiesResponse{\nConfigurationPolicyGroups: network.VpnServerConfigurationPolicyGroupArray{\ninterface{}{\nId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1\"),\nIsDefault: pulumi.Bool(true),\nName: pulumi.String(\"policyGroup1\"),\nPolicyMembers: network.VpnServerConfigurationPolicyGroupMemberArray{\n\u0026network.VpnServerConfigurationPolicyGroupMemberArgs{\nAttributeType: pulumi.String(\"RadiusAzureGroupId\"),\nAttributeValue: pulumi.String(\"6ad1bd08\"),\nName: pulumi.String(\"policy1\"),\n},\n},\nPriority: pulumi.Int(0),\n},\ninterface{}{\nId: pulumi.String(\"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2\"),\nIsDefault: pulumi.Bool(true),\nName: pulumi.String(\"policyGroup2\"),\nPolicyMembers: network.VpnServerConfigurationPolicyGroupMemberArray{\n\u0026network.VpnServerConfigurationPolicyGroupMemberArgs{\nAttributeType: pulumi.String(\"CertificateGroupId\"),\nAttributeValue: pulumi.String(\"red.com\"),\nName: pulumi.String(\"policy2\"),\n},\n},\nPriority: pulumi.Int(0),\n},\n},\nRadiusClientRootCertificates: network.VpnServerConfigRadiusClientRootCertificateArray{\n\u0026network.VpnServerConfigRadiusClientRootCertificateArgs{\nName: pulumi.String(\"vpnServerConfigRadiusClientRootCert1\"),\nThumbprint: pulumi.String(\"83FFBFC8848B5A5836C94D0112367E16148A286F\"),\n},\n},\nRadiusServerRootCertificates: network.VpnServerConfigRadiusServerRootCertificateArray{\n\u0026network.VpnServerConfigRadiusServerRootCertificateArgs{\nName: pulumi.String(\"vpnServerConfigRadiusServerRootCer1\"),\nPublicCertData: pulumi.String(\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\"),\n},\n},\nRadiusServers: network.RadiusServerArray{\n\u0026network.RadiusServerArgs{\nRadiusServerAddress: pulumi.String(\"10.0.0.0\"),\nRadiusServerScore: pulumi.Float64(25),\nRadiusServerSecret: pulumi.String(\"radiusServerSecret\"),\n},\n},\nVpnClientIpsecPolicies: network.IpsecPolicyArray{\n\u0026network.IpsecPolicyArgs{\nDhGroup: pulumi.String(\"DHGroup14\"),\nIkeEncryption: pulumi.String(\"AES256\"),\nIkeIntegrity: pulumi.String(\"SHA384\"),\nIpsecEncryption: pulumi.String(\"AES256\"),\nIpsecIntegrity: pulumi.String(\"SHA256\"),\nPfsGroup: pulumi.String(\"PFS14\"),\nSaDataSizeKilobytes: pulumi.Int(429497),\nSaLifeTimeSeconds: pulumi.Int(86472),\n},\n},\nVpnClientRevokedCertificates: network.VpnServerConfigVpnClientRevokedCertificateArray{\n\u0026network.VpnServerConfigVpnClientRevokedCertificateArgs{\nName: pulumi.String(\"vpnServerConfigVpnClientRevokedCert1\"),\nThumbprint: pulumi.String(\"83FFBFC8848B5A5836C94D0112367E16148A286F\"),\n},\n},\nVpnClientRootCertificates: network.VpnServerConfigVpnClientRootCertificateArray{\n\u0026network.VpnServerConfigVpnClientRootCertificateArgs{\nName: pulumi.String(\"vpnServerConfigVpnClientRootCert1\"),\nPublicCertData: pulumi.String(\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\"),\n},\n},\nVpnProtocols: pulumi.StringArray{\npulumi.String(\"IkeV2\"),\n},\n},\nResourceGroupName: pulumi.String(\"rg1\"),\nTags: pulumi.StringMap{\n\"key1\": pulumi.String(\"value1\"),\n},\nVpnServerConfigurationName: pulumi.String(\"vpnServerConfiguration1\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\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.network.VpnServerConfiguration;\nimport com.pulumi.azurenative.network.VpnServerConfigurationArgs;\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 vpnServerConfiguration = new VpnServerConfiguration(\"vpnServerConfiguration\", VpnServerConfigurationArgs.builder() \n .location(\"West US\")\n .properties(Map.ofEntries(\n Map.entry(\"configurationPolicyGroups\", \n Map.ofEntries(\n Map.entry(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1\"),\n Map.entry(\"isDefault\", true),\n Map.entry(\"name\", \"policyGroup1\"),\n Map.entry(\"policyMembers\", Map.ofEntries(\n Map.entry(\"attributeType\", \"RadiusAzureGroupId\"),\n Map.entry(\"attributeValue\", \"6ad1bd08\"),\n Map.entry(\"name\", \"policy1\")\n )),\n Map.entry(\"priority\", 0)\n ),\n Map.ofEntries(\n Map.entry(\"id\", \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2\"),\n Map.entry(\"isDefault\", true),\n Map.entry(\"name\", \"policyGroup2\"),\n Map.entry(\"policyMembers\", Map.ofEntries(\n Map.entry(\"attributeType\", \"CertificateGroupId\"),\n Map.entry(\"attributeValue\", \"red.com\"),\n Map.entry(\"name\", \"policy2\")\n )),\n Map.entry(\"priority\", 0)\n )),\n Map.entry(\"radiusClientRootCertificates\", Map.ofEntries(\n Map.entry(\"name\", \"vpnServerConfigRadiusClientRootCert1\"),\n Map.entry(\"thumbprint\", \"83FFBFC8848B5A5836C94D0112367E16148A286F\")\n )),\n Map.entry(\"radiusServerRootCertificates\", Map.ofEntries(\n Map.entry(\"name\", \"vpnServerConfigRadiusServerRootCer1\"),\n Map.entry(\"publicCertData\", \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\")\n )),\n Map.entry(\"radiusServers\", Map.ofEntries(\n Map.entry(\"radiusServerAddress\", \"10.0.0.0\"),\n Map.entry(\"radiusServerScore\", 25),\n Map.entry(\"radiusServerSecret\", \"radiusServerSecret\")\n )),\n Map.entry(\"vpnClientIpsecPolicies\", Map.ofEntries(\n Map.entry(\"dhGroup\", \"DHGroup14\"),\n Map.entry(\"ikeEncryption\", \"AES256\"),\n Map.entry(\"ikeIntegrity\", \"SHA384\"),\n Map.entry(\"ipsecEncryption\", \"AES256\"),\n Map.entry(\"ipsecIntegrity\", \"SHA256\"),\n Map.entry(\"pfsGroup\", \"PFS14\"),\n Map.entry(\"saDataSizeKilobytes\", 429497),\n Map.entry(\"saLifeTimeSeconds\", 86472)\n )),\n Map.entry(\"vpnClientRevokedCertificates\", Map.ofEntries(\n Map.entry(\"name\", \"vpnServerConfigVpnClientRevokedCert1\"),\n Map.entry(\"thumbprint\", \"83FFBFC8848B5A5836C94D0112367E16148A286F\")\n )),\n Map.entry(\"vpnClientRootCertificates\", Map.ofEntries(\n Map.entry(\"name\", \"vpnServerConfigVpnClientRootCert1\"),\n Map.entry(\"publicCertData\", \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\")\n )),\n Map.entry(\"vpnProtocols\", \"IkeV2\")\n ))\n .resourceGroupName(\"rg1\")\n .tags(Map.of(\"key1\", \"value1\"))\n .vpnServerConfigurationName(\"vpnServerConfiguration1\")\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 vpnServerConfiguration = new azure_native.network.VpnServerConfiguration(\"vpnServerConfiguration\", {\n location: \"West US\",\n properties: {\n configurationPolicyGroups: [\n {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1\",\n isDefault: true,\n name: \"policyGroup1\",\n policyMembers: [{\n attributeType: \"RadiusAzureGroupId\",\n attributeValue: \"6ad1bd08\",\n name: \"policy1\",\n }],\n priority: 0,\n },\n {\n id: \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2\",\n isDefault: true,\n name: \"policyGroup2\",\n policyMembers: [{\n attributeType: \"CertificateGroupId\",\n attributeValue: \"red.com\",\n name: \"policy2\",\n }],\n priority: 0,\n },\n ],\n radiusClientRootCertificates: [{\n name: \"vpnServerConfigRadiusClientRootCert1\",\n thumbprint: \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n }],\n radiusServerRootCertificates: [{\n name: \"vpnServerConfigRadiusServerRootCer1\",\n publicCertData: \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\",\n }],\n radiusServers: [{\n radiusServerAddress: \"10.0.0.0\",\n radiusServerScore: 25,\n radiusServerSecret: \"radiusServerSecret\",\n }],\n vpnClientIpsecPolicies: [{\n dhGroup: \"DHGroup14\",\n ikeEncryption: \"AES256\",\n ikeIntegrity: \"SHA384\",\n ipsecEncryption: \"AES256\",\n ipsecIntegrity: \"SHA256\",\n pfsGroup: \"PFS14\",\n saDataSizeKilobytes: 429497,\n saLifeTimeSeconds: 86472,\n }],\n vpnClientRevokedCertificates: [{\n name: \"vpnServerConfigVpnClientRevokedCert1\",\n thumbprint: \"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n }],\n vpnClientRootCertificates: [{\n name: \"vpnServerConfigVpnClientRootCert1\",\n publicCertData: \"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\",\n }],\n vpnProtocols: [\"IkeV2\"],\n },\n resourceGroupName: \"rg1\",\n tags: {\n key1: \"value1\",\n },\n vpnServerConfigurationName: \"vpnServerConfiguration1\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\nvpn_server_configuration = azure_native.network.VpnServerConfiguration(\"vpnServerConfiguration\",\n location=\"West US\",\n properties=azure_native.network.VpnServerConfigurationPropertiesResponseArgs(\n configuration_policy_groups=[\n {\n \"id\": \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1\",\n \"isDefault\": True,\n \"name\": \"policyGroup1\",\n \"policyMembers\": [azure_native.network.VpnServerConfigurationPolicyGroupMemberArgs(\n attribute_type=\"RadiusAzureGroupId\",\n attribute_value=\"6ad1bd08\",\n name=\"policy1\",\n )],\n \"priority\": 0,\n },\n {\n \"id\": \"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2\",\n \"isDefault\": True,\n \"name\": \"policyGroup2\",\n \"policyMembers\": [azure_native.network.VpnServerConfigurationPolicyGroupMemberArgs(\n attribute_type=\"CertificateGroupId\",\n attribute_value=\"red.com\",\n name=\"policy2\",\n )],\n \"priority\": 0,\n },\n ],\n radius_client_root_certificates=[azure_native.network.VpnServerConfigRadiusClientRootCertificateArgs(\n name=\"vpnServerConfigRadiusClientRootCert1\",\n thumbprint=\"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n )],\n radius_server_root_certificates=[azure_native.network.VpnServerConfigRadiusServerRootCertificateArgs(\n name=\"vpnServerConfigRadiusServerRootCer1\",\n public_cert_data=\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\",\n )],\n radius_servers=[azure_native.network.RadiusServerArgs(\n radius_server_address=\"10.0.0.0\",\n radius_server_score=25,\n radius_server_secret=\"radiusServerSecret\",\n )],\n vpn_client_ipsec_policies=[azure_native.network.IpsecPolicyArgs(\n dh_group=\"DHGroup14\",\n ike_encryption=\"AES256\",\n ike_integrity=\"SHA384\",\n ipsec_encryption=\"AES256\",\n ipsec_integrity=\"SHA256\",\n pfs_group=\"PFS14\",\n sa_data_size_kilobytes=429497,\n sa_life_time_seconds=86472,\n )],\n vpn_client_revoked_certificates=[azure_native.network.VpnServerConfigVpnClientRevokedCertificateArgs(\n name=\"vpnServerConfigVpnClientRevokedCert1\",\n thumbprint=\"83FFBFC8848B5A5836C94D0112367E16148A286F\",\n )],\n vpn_client_root_certificates=[azure_native.network.VpnServerConfigVpnClientRootCertificateArgs(\n name=\"vpnServerConfigVpnClientRootCert1\",\n public_cert_data=\"MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\",\n )],\n vpn_protocols=[\"IkeV2\"],\n ),\n resource_group_name=\"rg1\",\n tags={\n \"key1\": \"value1\",\n },\n vpn_server_configuration_name=\"vpnServerConfiguration1\")\n\n```\n\n```yaml\nresources:\n vpnServerConfiguration:\n type: azure-native:network:VpnServerConfiguration\n properties:\n location: West US\n properties:\n configurationPolicyGroups:\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup1\n isDefault: true\n name: policyGroup1\n policyMembers:\n - attributeType: RadiusAzureGroupId\n attributeValue: 6ad1bd08\n name: policy1\n priority: 0\n - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnServerConfiguration1/vpnServerConfigurationPolicyGroups/policyGroup2\n isDefault: true\n name: policyGroup2\n policyMembers:\n - attributeType: CertificateGroupId\n attributeValue: red.com\n name: policy2\n priority: 0\n radiusClientRootCertificates:\n - name: vpnServerConfigRadiusClientRootCert1\n thumbprint: 83FFBFC8848B5A5836C94D0112367E16148A286F\n radiusServerRootCertificates:\n - name: vpnServerConfigRadiusServerRootCer1\n publicCertData: MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM\n radiusServers:\n - radiusServerAddress: 10.0.0.0\n radiusServerScore: 25\n radiusServerSecret: radiusServerSecret\n vpnClientIpsecPolicies:\n - dhGroup: DHGroup14\n ikeEncryption: AES256\n ikeIntegrity: SHA384\n ipsecEncryption: AES256\n ipsecIntegrity: SHA256\n pfsGroup: PFS14\n saDataSizeKilobytes: 429497\n saLifeTimeSeconds: 86472\n vpnClientRevokedCertificates:\n - name: vpnServerConfigVpnClientRevokedCert1\n thumbprint: 83FFBFC8848B5A5836C94D0112367E16148A286F\n vpnClientRootCertificates:\n - name: vpnServerConfigVpnClientRootCert1\n publicCertData: MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN\n vpnProtocols:\n - IkeV2\n resourceGroupName: rg1\n tags:\n key1: value1\n vpnServerConfigurationName: vpnServerConfiguration1\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:network:VpnServerConfiguration vpnServerConfiguration1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName} \n```\n", "properties": { - "aadAuthenticationParameters": { - "type": "object", - "$ref": "#/types/azure-native:network:AadAuthenticationParametersResponse", - "description": "The set of aad vpn authentication parameters." - }, - "configurationPolicyGroups": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigurationPolicyGroupResponse" - }, - "description": "List of all VpnServerConfigurationPolicyGroups." - }, "etag": { "type": "string", "description": "A unique read-only string that changes whenever the resource is updated." @@ -619439,49 +619810,10 @@ "type": "string", "description": "Resource name." }, - "p2SVpnGateways": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnGatewayResponse" - }, - "description": "List of references to P2SVpnGateways." - }, - "provisioningState": { - "type": "string", - "description": "The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." - }, - "radiusClientRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigRadiusClientRootCertificateResponse" - }, - "description": "Radius client root certificate of VpnServerConfiguration." - }, - "radiusServerAddress": { - "type": "string", - "description": "The radius server address property of the VpnServerConfiguration resource for point to site client connection." - }, - "radiusServerRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigRadiusServerRootCertificateResponse" - }, - "description": "Radius Server root certificate of VpnServerConfiguration." - }, - "radiusServerSecret": { - "type": "string", - "description": "The radius secret property of the VpnServerConfiguration resource for point to site client connection." - }, - "radiusServers": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:RadiusServerResponse" - }, - "description": "Multiple Radius Server configuration for VpnServerConfiguration." + "properties": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigurationPropertiesResponse", + "description": "Properties of the P2SVpnServer configuration." }, "tags": { "type": "object", @@ -619493,68 +619825,16 @@ "type": { "type": "string", "description": "Resource type." - }, - "vpnAuthenticationTypes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "VPN authentication types for the VpnServerConfiguration." - }, - "vpnClientIpsecPolicies": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:IpsecPolicyResponse" - }, - "description": "VpnClientIpsecPolicies for VpnServerConfiguration." - }, - "vpnClientRevokedCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigVpnClientRevokedCertificateResponse" - }, - "description": "VPN client revoked certificate of VpnServerConfiguration." - }, - "vpnClientRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigVpnClientRootCertificateResponse" - }, - "description": "VPN client root certificate of VpnServerConfiguration." - }, - "vpnProtocols": { - "type": "array", - "items": { - "type": "string" - }, - "description": "VPN protocols for the VpnServerConfiguration." } }, "type": "object", "required": [ "etag", "name", - "p2SVpnGateways", - "provisioningState", + "properties", "type" ], "inputProperties": { - "aadAuthenticationParameters": { - "type": "object", - "$ref": "#/types/azure-native:network:AadAuthenticationParameters", - "description": "The set of aad vpn authentication parameters." - }, - "configurationPolicyGroups": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigurationPolicyGroup" - }, - "description": "List of all VpnServerConfigurationPolicyGroups.\nThese are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion." - }, "id": { "type": "string", "description": "Resource ID." @@ -619565,39 +619845,12 @@ }, "name": { "type": "string", - "description": "The name of the VpnServerConfiguration that is unique within a resource group." - }, - "radiusClientRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigRadiusClientRootCertificate" - }, - "description": "Radius client root certificate of VpnServerConfiguration." - }, - "radiusServerAddress": { - "type": "string", - "description": "The radius server address property of the VpnServerConfiguration resource for point to site client connection." - }, - "radiusServerRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigRadiusServerRootCertificate" - }, - "description": "Radius Server root certificate of VpnServerConfiguration." - }, - "radiusServerSecret": { - "type": "string", - "description": "The radius secret property of the VpnServerConfiguration resource for point to site client connection." + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." }, - "radiusServers": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:RadiusServer" - }, - "description": "Multiple Radius Server configuration for VpnServerConfiguration." + "properties": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigurationProperties", + "description": "Properties of the P2SVpnServer configuration." }, "resourceGroupName": { "type": "string", @@ -619611,58 +619864,6 @@ }, "description": "Resource tags." }, - "vpnAuthenticationTypes": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/types/azure-native:network:VpnAuthenticationType" - } - ] - }, - "description": "VPN authentication types for the VpnServerConfiguration." - }, - "vpnClientIpsecPolicies": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:IpsecPolicy" - }, - "description": "VpnClientIpsecPolicies for VpnServerConfiguration." - }, - "vpnClientRevokedCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigVpnClientRevokedCertificate" - }, - "description": "VPN client revoked certificate of VpnServerConfiguration." - }, - "vpnClientRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigVpnClientRootCertificate" - }, - "description": "VPN client root certificate of VpnServerConfiguration." - }, - "vpnProtocols": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/types/azure-native:network:VpnGatewayTunnelingProtocol" - } - ] - }, - "description": "VPN protocols for the VpnServerConfiguration." - }, "vpnServerConfigurationName": { "type": "string", "description": "The name of the VpnServerConfiguration being created or updated.", @@ -644076,6 +644277,80 @@ } ] }, + "azure-native:security:DefenderForStorage": { + "description": "The Defender for Storage resource.\nAzure REST API version: 2022-12-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Creates or updates the Defender for Storage settings on a specified 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 defenderForStorage = new AzureNative.Security.DefenderForStorage(\"defenderForStorage\", new()\n {\n IsEnabled = true,\n MalwareScanning = new AzureNative.Security.Inputs.MalwareScanningPropertiesArgs\n {\n CapGBPerMonth = -1,\n IsEnabled = true,\n ScanResultsEventGridTopicResourceId = \"/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.EventGrid/topics/sampletopic\",\n },\n OverrideSubscriptionLevelSettings = true,\n ResourceId = \"subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount\",\n SensitiveDataDiscovery = new AzureNative.Security.Inputs.SensitiveDataDiscoveryPropertiesArgs\n {\n IsEnabled = true,\n },\n SettingName = \"current\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/security/v2\"\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 := security.NewDefenderForStorage(ctx, \"defenderForStorage\", \u0026security.DefenderForStorageArgs{\n\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\tMalwareScanning: \u0026security.MalwareScanningPropertiesArgs{\n\t\t\t\tCapGBPerMonth: -1,\n\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t\tScanResultsEventGridTopicResourceId: pulumi.String(\"/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.EventGrid/topics/sampletopic\"),\n\t\t\t},\n\t\t\tOverrideSubscriptionLevelSettings: pulumi.Bool(true),\n\t\t\tResourceId: pulumi.String(\"subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount\"),\n\t\t\tSensitiveDataDiscovery: \u0026security.SensitiveDataDiscoveryPropertiesArgs{\n\t\t\t\tIsEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tSettingName: pulumi.String(\"current\"),\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.security.DefenderForStorage;\nimport com.pulumi.azurenative.security.DefenderForStorageArgs;\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 defenderForStorage = new DefenderForStorage(\"defenderForStorage\", DefenderForStorageArgs.builder() \n .isEnabled(true)\n .malwareScanning(Map.ofEntries(\n Map.entry(\"capGBPerMonth\", \"TODO: GenUnaryOpExpression\"),\n Map.entry(\"isEnabled\", true),\n Map.entry(\"scanResultsEventGridTopicResourceId\", \"/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.EventGrid/topics/sampletopic\")\n ))\n .overrideSubscriptionLevelSettings(true)\n .resourceId(\"subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount\")\n .sensitiveDataDiscovery(Map.of(\"isEnabled\", true))\n .settingName(\"current\")\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 defenderForStorage = new azure_native.security.DefenderForStorage(\"defenderForStorage\", {\n isEnabled: true,\n malwareScanning: {\n capGBPerMonth: -1,\n isEnabled: true,\n scanResultsEventGridTopicResourceId: \"/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.EventGrid/topics/sampletopic\",\n },\n overrideSubscriptionLevelSettings: true,\n resourceId: \"subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount\",\n sensitiveDataDiscovery: {\n isEnabled: true,\n },\n settingName: \"current\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndefender_for_storage = azure_native.security.DefenderForStorage(\"defenderForStorage\",\n is_enabled=True,\n malware_scanning=azure_native.security.MalwareScanningPropertiesArgs(\n cap_gb_per_month=-1,\n is_enabled=True,\n scan_results_event_grid_topic_resource_id=\"/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.EventGrid/topics/sampletopic\",\n ),\n override_subscription_level_settings=True,\n resource_id=\"subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SampleRG/providers/Microsoft.Storage/storageAccounts/samplestorageaccount\",\n sensitive_data_discovery=azure_native.security.SensitiveDataDiscoveryPropertiesArgs(\n is_enabled=True,\n ),\n setting_name=\"current\")\n\n```\n\n```yaml\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:security:DefenderForStorage current /{resourceId}/providers/Microsoft.Security/defenderForStorageSettings/{settingName} \n```\n", + "properties": { + "isEnabled": { + "type": "boolean", + "description": "Indicates whether Defender for Storage is enabled on this storage account." + }, + "malwareScanning": { + "type": "object", + "$ref": "#/types/azure-native:security:MalwareScanningPropertiesResponse", + "description": "Properties of Malware Scanning." + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "overrideSubscriptionLevelSettings": { + "type": "boolean", + "description": "Indicates whether the settings defined for this storage account should override the settings defined for the subscription." + }, + "sensitiveDataDiscovery": { + "type": "object", + "$ref": "#/types/azure-native:security:SensitiveDataDiscoveryPropertiesResponse", + "description": "Properties of Sensitive Data Discovery." + }, + "type": { + "type": "string", + "description": "Resource type" + } + }, + "type": "object", + "required": [ + "name", + "type" + ], + "inputProperties": { + "isEnabled": { + "type": "boolean", + "description": "Indicates whether Defender for Storage is enabled on this storage account." + }, + "malwareScanning": { + "type": "object", + "$ref": "#/types/azure-native:security:MalwareScanningProperties", + "description": "Properties of Malware Scanning." + }, + "overrideSubscriptionLevelSettings": { + "type": "boolean", + "description": "Indicates whether the settings defined for this storage account should override the settings defined for the subscription." + }, + "resourceId": { + "type": "string", + "description": "The identifier of the resource.", + "willReplaceOnChanges": true + }, + "sensitiveDataDiscovery": { + "type": "object", + "$ref": "#/types/azure-native:security:SensitiveDataDiscoveryProperties", + "description": "Properties of Sensitive Data Discovery." + }, + "settingName": { + "type": "string", + "description": "Defender for Storage setting name.", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "resourceId" + ], + "aliases": [ + { + "type": "azure-native:security/v20221201preview:DefenderForStorage" + } + ] + }, "azure-native:security:DevOpsConfiguration": { "description": "DevOps Configuration resource.\nAzure REST API version: 2023-09-01-preview.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### CreateOrUpdate_DevOpsConfigurations_OnboardCurrentAndFuture\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var devOpsConfiguration = new AzureNative.Security.DevOpsConfiguration(\"devOpsConfiguration\", new()\n {\n Properties = new AzureNative.Security.Inputs.DevOpsConfigurationPropertiesArgs\n {\n Authorization = new AzureNative.Security.Inputs.AuthorizationArgs\n {\n Code = \"00000000000000000000\",\n },\n AutoDiscovery = \"Enabled\",\n },\n ResourceGroupName = \"myRg\",\n SecurityConnectorName = \"mySecurityConnectorName\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/security/v2\"\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 := security.NewDevOpsConfiguration(ctx, \"devOpsConfiguration\", \u0026security.DevOpsConfigurationArgs{\n\t\t\tProperties: security.DevOpsConfigurationPropertiesResponse{\n\t\t\t\tAuthorization: \u0026security.AuthorizationArgs{\n\t\t\t\t\tCode: pulumi.String(\"00000000000000000000\"),\n\t\t\t\t},\n\t\t\t\tAutoDiscovery: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myRg\"),\n\t\t\tSecurityConnectorName: pulumi.String(\"mySecurityConnectorName\"),\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.security.DevOpsConfiguration;\nimport com.pulumi.azurenative.security.DevOpsConfigurationArgs;\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 devOpsConfiguration = new DevOpsConfiguration(\"devOpsConfiguration\", DevOpsConfigurationArgs.builder() \n .properties(Map.ofEntries(\n Map.entry(\"authorization\", Map.of(\"code\", \"00000000000000000000\")),\n Map.entry(\"autoDiscovery\", \"Enabled\")\n ))\n .resourceGroupName(\"myRg\")\n .securityConnectorName(\"mySecurityConnectorName\")\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 devOpsConfiguration = new azure_native.security.DevOpsConfiguration(\"devOpsConfiguration\", {\n properties: {\n authorization: {\n code: \"00000000000000000000\",\n },\n autoDiscovery: \"Enabled\",\n },\n resourceGroupName: \"myRg\",\n securityConnectorName: \"mySecurityConnectorName\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndev_ops_configuration = azure_native.security.DevOpsConfiguration(\"devOpsConfiguration\",\n properties=azure_native.security.DevOpsConfigurationPropertiesResponseArgs(\n authorization=azure_native.security.AuthorizationArgs(\n code=\"00000000000000000000\",\n ),\n auto_discovery=\"Enabled\",\n ),\n resource_group_name=\"myRg\",\n security_connector_name=\"mySecurityConnectorName\")\n\n```\n\n```yaml\nresources:\n devOpsConfiguration:\n type: azure-native:security:DevOpsConfiguration\n properties:\n properties:\n authorization:\n code: '00000000000000000000'\n autoDiscovery: Enabled\n resourceGroupName: myRg\n securityConnectorName: mySecurityConnectorName\n\n```\n\n{{% /example %}}\n{{% example %}}\n### CreateOrUpdate_DevOpsConfigurations_OnboardCurrentOnly\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var devOpsConfiguration = new AzureNative.Security.DevOpsConfiguration(\"devOpsConfiguration\", new()\n {\n Properties = new AzureNative.Security.Inputs.DevOpsConfigurationPropertiesArgs\n {\n Authorization = new AzureNative.Security.Inputs.AuthorizationArgs\n {\n Code = \"00000000000000000000\",\n },\n AutoDiscovery = \"Disabled\",\n },\n ResourceGroupName = \"myRg\",\n SecurityConnectorName = \"mySecurityConnectorName\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/security/v2\"\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 := security.NewDevOpsConfiguration(ctx, \"devOpsConfiguration\", \u0026security.DevOpsConfigurationArgs{\n\t\t\tProperties: security.DevOpsConfigurationPropertiesResponse{\n\t\t\t\tAuthorization: \u0026security.AuthorizationArgs{\n\t\t\t\t\tCode: pulumi.String(\"00000000000000000000\"),\n\t\t\t\t},\n\t\t\t\tAutoDiscovery: pulumi.String(\"Disabled\"),\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myRg\"),\n\t\t\tSecurityConnectorName: pulumi.String(\"mySecurityConnectorName\"),\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.security.DevOpsConfiguration;\nimport com.pulumi.azurenative.security.DevOpsConfigurationArgs;\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 devOpsConfiguration = new DevOpsConfiguration(\"devOpsConfiguration\", DevOpsConfigurationArgs.builder() \n .properties(Map.ofEntries(\n Map.entry(\"authorization\", Map.of(\"code\", \"00000000000000000000\")),\n Map.entry(\"autoDiscovery\", \"Disabled\")\n ))\n .resourceGroupName(\"myRg\")\n .securityConnectorName(\"mySecurityConnectorName\")\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 devOpsConfiguration = new azure_native.security.DevOpsConfiguration(\"devOpsConfiguration\", {\n properties: {\n authorization: {\n code: \"00000000000000000000\",\n },\n autoDiscovery: \"Disabled\",\n },\n resourceGroupName: \"myRg\",\n securityConnectorName: \"mySecurityConnectorName\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndev_ops_configuration = azure_native.security.DevOpsConfiguration(\"devOpsConfiguration\",\n properties=azure_native.security.DevOpsConfigurationPropertiesResponseArgs(\n authorization=azure_native.security.AuthorizationArgs(\n code=\"00000000000000000000\",\n ),\n auto_discovery=\"Disabled\",\n ),\n resource_group_name=\"myRg\",\n security_connector_name=\"mySecurityConnectorName\")\n\n```\n\n```yaml\nresources:\n devOpsConfiguration:\n type: azure-native:security:DevOpsConfiguration\n properties:\n properties:\n authorization:\n code: '00000000000000000000'\n autoDiscovery: Disabled\n resourceGroupName: myRg\n securityConnectorName: mySecurityConnectorName\n\n```\n\n{{% /example %}}\n{{% example %}}\n### CreateOrUpdate_DevOpsConfigurations_OnboardSelected\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var devOpsConfiguration = new AzureNative.Security.DevOpsConfiguration(\"devOpsConfiguration\", new()\n {\n Properties = new AzureNative.Security.Inputs.DevOpsConfigurationPropertiesArgs\n {\n Authorization = new AzureNative.Security.Inputs.AuthorizationArgs\n {\n Code = \"00000000000000000000\",\n },\n AutoDiscovery = \"Disabled\",\n TopLevelInventoryList = new[]\n {\n \"org1\",\n \"org2\",\n },\n },\n ResourceGroupName = \"myRg\",\n SecurityConnectorName = \"mySecurityConnectorName\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/security/v2\"\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 := security.NewDevOpsConfiguration(ctx, \"devOpsConfiguration\", \u0026security.DevOpsConfigurationArgs{\n\t\t\tProperties: security.DevOpsConfigurationPropertiesResponse{\n\t\t\t\tAuthorization: \u0026security.AuthorizationArgs{\n\t\t\t\t\tCode: pulumi.String(\"00000000000000000000\"),\n\t\t\t\t},\n\t\t\t\tAutoDiscovery: pulumi.String(\"Disabled\"),\n\t\t\t\tTopLevelInventoryList: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"org1\"),\n\t\t\t\t\tpulumi.String(\"org2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceGroupName: pulumi.String(\"myRg\"),\n\t\t\tSecurityConnectorName: pulumi.String(\"mySecurityConnectorName\"),\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.security.DevOpsConfiguration;\nimport com.pulumi.azurenative.security.DevOpsConfigurationArgs;\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 devOpsConfiguration = new DevOpsConfiguration(\"devOpsConfiguration\", DevOpsConfigurationArgs.builder() \n .properties(Map.ofEntries(\n Map.entry(\"authorization\", Map.of(\"code\", \"00000000000000000000\")),\n Map.entry(\"autoDiscovery\", \"Disabled\"),\n Map.entry(\"topLevelInventoryList\", \n \"org1\",\n \"org2\")\n ))\n .resourceGroupName(\"myRg\")\n .securityConnectorName(\"mySecurityConnectorName\")\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 devOpsConfiguration = new azure_native.security.DevOpsConfiguration(\"devOpsConfiguration\", {\n properties: {\n authorization: {\n code: \"00000000000000000000\",\n },\n autoDiscovery: \"Disabled\",\n topLevelInventoryList: [\n \"org1\",\n \"org2\",\n ],\n },\n resourceGroupName: \"myRg\",\n securityConnectorName: \"mySecurityConnectorName\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndev_ops_configuration = azure_native.security.DevOpsConfiguration(\"devOpsConfiguration\",\n properties=azure_native.security.DevOpsConfigurationPropertiesResponseArgs(\n authorization=azure_native.security.AuthorizationArgs(\n code=\"00000000000000000000\",\n ),\n auto_discovery=\"Disabled\",\n top_level_inventory_list=[\n \"org1\",\n \"org2\",\n ],\n ),\n resource_group_name=\"myRg\",\n security_connector_name=\"mySecurityConnectorName\")\n\n```\n\n```yaml\nresources:\n devOpsConfiguration:\n type: azure-native:security:DevOpsConfiguration\n properties:\n properties:\n authorization:\n code: '00000000000000000000'\n autoDiscovery: Disabled\n topLevelInventoryList:\n - org1\n - org2\n resourceGroupName: myRg\n securityConnectorName: mySecurityConnectorName\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:security:DevOpsConfiguration default /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}/devops/default \n```\n", "properties": { @@ -686798,67 +687073,24 @@ "azure-native:vmwarecloudsimple:DedicatedCloudNode": { "description": "Dedicated cloud node model\nAzure REST API version: 2019-04-01. Prior API version in Azure Native 1.x: 2019-04-01.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### CreateDedicatedCloudNode\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AzureNative = Pulumi.AzureNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dedicatedCloudNode = new AzureNative.VMwareCloudSimple.DedicatedCloudNode(\"dedicatedCloudNode\", new()\n {\n AvailabilityZoneId = \"az1\",\n DedicatedCloudNodeName = \"myNode\",\n Id = \"general\",\n Location = \"westus\",\n Name = \"CS28-Node\",\n NodesCount = 1,\n PlacementGroupId = \"n1\",\n PurchaseId = \"56acbd46-3d36-4bbf-9b08-57c30fdf6932\",\n ResourceGroupName = \"myResourceGroup\",\n Sku = new AzureNative.VMwareCloudSimple.Inputs.SkuArgs\n {\n Name = \"VMware_CloudSimple_CS28\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azure-native-sdk/vmwarecloudsimple/v2\"\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 := vmwarecloudsimple.NewDedicatedCloudNode(ctx, \"dedicatedCloudNode\", \u0026vmwarecloudsimple.DedicatedCloudNodeArgs{\n\t\t\tAvailabilityZoneId: pulumi.String(\"az1\"),\n\t\t\tDedicatedCloudNodeName: pulumi.String(\"myNode\"),\n\t\t\tId: pulumi.String(\"general\"),\n\t\t\tLocation: pulumi.String(\"westus\"),\n\t\t\tName: pulumi.String(\"CS28-Node\"),\n\t\t\tNodesCount: pulumi.Int(1),\n\t\t\tPlacementGroupId: pulumi.String(\"n1\"),\n\t\t\tPurchaseId: pulumi.String(\"56acbd46-3d36-4bbf-9b08-57c30fdf6932\"),\n\t\t\tResourceGroupName: pulumi.String(\"myResourceGroup\"),\n\t\t\tSku: \u0026vmwarecloudsimple.SkuArgs{\n\t\t\t\tName: pulumi.String(\"VMware_CloudSimple_CS28\"),\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.vmwarecloudsimple.DedicatedCloudNode;\nimport com.pulumi.azurenative.vmwarecloudsimple.DedicatedCloudNodeArgs;\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 dedicatedCloudNode = new DedicatedCloudNode(\"dedicatedCloudNode\", DedicatedCloudNodeArgs.builder() \n .availabilityZoneId(\"az1\")\n .dedicatedCloudNodeName(\"myNode\")\n .id(\"general\")\n .location(\"westus\")\n .name(\"CS28-Node\")\n .nodesCount(1)\n .placementGroupId(\"n1\")\n .purchaseId(\"56acbd46-3d36-4bbf-9b08-57c30fdf6932\")\n .resourceGroupName(\"myResourceGroup\")\n .sku(Map.of(\"name\", \"VMware_CloudSimple_CS28\"))\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 dedicatedCloudNode = new azure_native.vmwarecloudsimple.DedicatedCloudNode(\"dedicatedCloudNode\", {\n availabilityZoneId: \"az1\",\n dedicatedCloudNodeName: \"myNode\",\n id: \"general\",\n location: \"westus\",\n name: \"CS28-Node\",\n nodesCount: 1,\n placementGroupId: \"n1\",\n purchaseId: \"56acbd46-3d36-4bbf-9b08-57c30fdf6932\",\n resourceGroupName: \"myResourceGroup\",\n sku: {\n name: \"VMware_CloudSimple_CS28\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_azure_native as azure_native\n\ndedicated_cloud_node = azure_native.vmwarecloudsimple.DedicatedCloudNode(\"dedicatedCloudNode\",\n availability_zone_id=\"az1\",\n dedicated_cloud_node_name=\"myNode\",\n id=\"general\",\n location=\"westus\",\n name=\"CS28-Node\",\n nodes_count=1,\n placement_group_id=\"n1\",\n purchase_id=\"56acbd46-3d36-4bbf-9b08-57c30fdf6932\",\n resource_group_name=\"myResourceGroup\",\n sku=azure_native.vmwarecloudsimple.SkuArgs(\n name=\"VMware_CloudSimple_CS28\",\n ))\n\n```\n\n```yaml\nresources:\n dedicatedCloudNode:\n type: azure-native:vmwarecloudsimple:DedicatedCloudNode\n properties:\n availabilityZoneId: az1\n dedicatedCloudNodeName: myNode\n id: general\n location: westus\n name: CS28-Node\n nodesCount: 1\n placementGroupId: n1\n purchaseId: 56acbd46-3d36-4bbf-9b08-57c30fdf6932\n resourceGroupName: myResourceGroup\n sku:\n name: VMware_CloudSimple_CS28\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:vmwarecloudsimple:DedicatedCloudNode myNode /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/dedicatedCloudNodes/{dedicatedCloudNodeName} \n```\n", "properties": { - "availabilityZoneId": { - "type": "string", - "description": "Availability Zone id, e.g. \"az1\"" - }, - "availabilityZoneName": { - "type": "string", - "description": "Availability Zone name, e.g. \"Availability Zone 1\"" - }, - "cloudRackName": { - "type": "string", - "description": "VMWare Cloud Rack Name" - }, - "created": { - "type": "string", - "description": "date time the resource was created" - }, "location": { "type": "string", "description": "Azure region" }, "name": { "type": "string", - "description": "SKU's name" - }, - "nodesCount": { - "type": "integer", - "description": "count of nodes to create" - }, - "placementGroupId": { - "type": "string", - "description": "Placement Group id, e.g. \"n1\"" - }, - "placementGroupName": { - "type": "string", - "description": "Placement Name, e.g. \"Placement Group 1\"" - }, - "privateCloudId": { - "type": "string", - "description": "Private Cloud Id" - }, - "privateCloudName": { - "type": "string", - "description": "Resource Pool Name" - }, - "provisioningState": { - "type": "string", - "description": "The provisioning status of the resource" + "description": "{dedicatedCloudNodeName}" }, - "purchaseId": { - "type": "string", - "description": "purchase id" + "properties": { + "type": "object", + "$ref": "#/types/azure-native:vmwarecloudsimple:DedicatedCloudNodePropertiesResponse", + "description": "Dedicated Cloud Nodes properties" }, "sku": { "type": "object", "$ref": "#/types/azure-native:vmwarecloudsimple:SkuResponse", "description": "Dedicated Cloud Nodes SKU" }, - "status": { - "type": "string", - "description": "Node status, indicates is private cloud set up on this node or not" - }, "tags": { "type": "object", "additionalProperties": { @@ -686869,30 +687101,14 @@ "type": { "type": "string", "description": "{resourceProviderNamespace}/{resourceType}" - }, - "vmwareClusterName": { - "type": "string", - "description": "VMWare Cluster Name" } }, "type": "object", "required": [ - "availabilityZoneId", - "availabilityZoneName", - "cloudRackName", - "created", "location", "name", - "nodesCount", - "placementGroupId", - "placementGroupName", - "privateCloudId", - "privateCloudName", - "provisioningState", - "purchaseId", - "status", - "type", - "vmwareClusterName" + "properties", + "type" ], "inputProperties": { "availabilityZoneId": { @@ -714836,10 +715052,6 @@ "type": "string", "description": "The display name for the history definition." }, - "endDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to end. Required if type is endDate" - }, "id": { "type": "string", "description": "The access review history definition id." @@ -714860,10 +715072,6 @@ "type": "string", "description": "The access review history definition unique id." }, - "numberOfOccurrences": { - "type": "integer", - "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." - }, "principalId": { "type": "string", "description": "The identity id" @@ -714876,6 +715084,11 @@ "type": "string", "description": "The identity type : user/servicePrincipal" }, + "range": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeResponse", + "description": "Access Review History Definition recurrence settings." + }, "reviewHistoryPeriodEndDateTime": { "type": "string", "description": "Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports." @@ -714892,10 +715105,6 @@ }, "description": "A collection of scopes used when selecting review history data" }, - "startDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." - }, "status": { "type": "string", "description": "This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error." @@ -714943,10 +715152,6 @@ "outputs": { "description": "Access Review Schedule Definition.", "properties": { - "assignmentState": { - "type": "string", - "description": "The role assignment state eligible/active to review" - }, "autoApplyDecisionsEnabled": { "type": "boolean", "description": "Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review." @@ -714979,38 +715184,10 @@ "type": "string", "description": "The display name for the schedule definition." }, - "endDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to end. Required if type is endDate" - }, - "excludeResourceId": { - "type": "string", - "description": "This is used to indicate the resource id(s) to exclude" - }, - "excludeRoleDefinitionId": { - "type": "string", - "description": "This is used to indicate the role definition id(s) to exclude" - }, - "expandNestedMemberships": { - "type": "boolean", - "description": "Flag to indicate whether to expand nested memberships or not." - }, "id": { "type": "string", "description": "The access review schedule definition id." }, - "inactiveDuration": { - "type": "string", - "description": "Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))" - }, - "includeAccessBelowResource": { - "type": "boolean", - "description": "Flag to indicate whether to expand nested memberships or not." - }, - "includeInheritedAccess": { - "type": "boolean", - "description": "Flag to indicate whether to expand nested memberships or not." - }, "instanceDurationInDays": { "type": "integer", "description": "The duration in days for an instance." @@ -715039,10 +715216,6 @@ "type": "string", "description": "The access review schedule definition unique id." }, - "numberOfOccurrences": { - "type": "integer", - "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." - }, "principalId": { "type": "string", "description": "The identity id" @@ -715053,7 +715226,12 @@ }, "principalType": { "type": "string", - "description": "The identity type user/servicePrincipal to review" + "description": "The identity type : user/servicePrincipal" + }, + "range": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeResponse", + "description": "Access Review schedule definition recurrence range." }, "recommendationLookBackDuration": { "type": "string", @@ -715067,10 +715245,6 @@ "type": "boolean", "description": "Flag to indicate whether sending reminder emails to reviewers are enabled." }, - "resourceId": { - "type": "string", - "description": "ResourceId in which this review is getting created" - }, "reviewers": { "type": "array", "items": { @@ -715083,13 +715257,10 @@ "type": "string", "description": "This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For example managers review or self review." }, - "roleDefinitionId": { - "type": "string", - "description": "This is used to indicate the role being reviewed" - }, - "startDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." + "scope": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewScopeResponse", + "description": "This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId." }, "status": { "type": "string", @@ -715106,15 +715277,13 @@ }, "type": "object", "required": [ - "assignmentState", "id", "name", "principalId", "principalName", "principalType", - "resourceId", "reviewersType", - "roleDefinitionId", + "scope", "status", "type", "userPrincipalName" @@ -716850,10 +717019,6 @@ "type": "string", "description": "The display name for the history definition." }, - "endDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to end. Required if type is endDate" - }, "id": { "type": "string", "description": "The access review history definition id." @@ -716874,10 +717039,6 @@ "type": "string", "description": "The access review history definition unique id." }, - "numberOfOccurrences": { - "type": "integer", - "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." - }, "principalId": { "type": "string", "description": "The identity id" @@ -716890,6 +717051,11 @@ "type": "string", "description": "The identity type : user/servicePrincipal" }, + "range": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeResponse", + "description": "Access Review History Definition recurrence settings." + }, "reviewHistoryPeriodEndDateTime": { "type": "string", "description": "Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports." @@ -716906,10 +717072,6 @@ }, "description": "A collection of scopes used when selecting review history data" }, - "startDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." - }, "status": { "type": "string", "description": "This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error." @@ -716963,10 +717125,6 @@ "outputs": { "description": "Access Review Schedule Definition.", "properties": { - "assignmentState": { - "type": "string", - "description": "The role assignment state eligible/active to review" - }, "autoApplyDecisionsEnabled": { "type": "boolean", "description": "Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review." @@ -716999,38 +717157,10 @@ "type": "string", "description": "The display name for the schedule definition." }, - "endDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to end. Required if type is endDate" - }, - "excludeResourceId": { - "type": "string", - "description": "This is used to indicate the resource id(s) to exclude" - }, - "excludeRoleDefinitionId": { - "type": "string", - "description": "This is used to indicate the role definition id(s) to exclude" - }, - "expandNestedMemberships": { - "type": "boolean", - "description": "Flag to indicate whether to expand nested memberships or not." - }, "id": { "type": "string", "description": "The access review schedule definition id." }, - "inactiveDuration": { - "type": "string", - "description": "Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))" - }, - "includeAccessBelowResource": { - "type": "boolean", - "description": "Flag to indicate whether to expand nested memberships or not." - }, - "includeInheritedAccess": { - "type": "boolean", - "description": "Flag to indicate whether to expand nested memberships or not." - }, "instanceDurationInDays": { "type": "integer", "description": "The duration in days for an instance." @@ -717059,10 +717189,6 @@ "type": "string", "description": "The access review schedule definition unique id." }, - "numberOfOccurrences": { - "type": "integer", - "description": "The number of times to repeat the access review. Required and must be positive if type is numbered." - }, "principalId": { "type": "string", "description": "The identity id" @@ -717073,7 +717199,12 @@ }, "principalType": { "type": "string", - "description": "The identity type user/servicePrincipal to review" + "description": "The identity type : user/servicePrincipal" + }, + "range": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewRecurrenceRangeResponse", + "description": "Access Review schedule definition recurrence range." }, "recommendationLookBackDuration": { "type": "string", @@ -717087,10 +717218,6 @@ "type": "boolean", "description": "Flag to indicate whether sending reminder emails to reviewers are enabled." }, - "resourceId": { - "type": "string", - "description": "ResourceId in which this review is getting created" - }, "reviewers": { "type": "array", "items": { @@ -717103,13 +717230,10 @@ "type": "string", "description": "This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For example managers review or self review." }, - "roleDefinitionId": { - "type": "string", - "description": "This is used to indicate the role being reviewed" - }, - "startDate": { - "type": "string", - "description": "The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create." + "scope": { + "type": "object", + "$ref": "#/types/azure-native:authorization:AccessReviewScopeResponse", + "description": "This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId." }, "status": { "type": "string", @@ -717126,15 +717250,13 @@ }, "type": "object", "required": [ - "assignmentState", "id", "name", "principalId", "principalName", "principalType", - "resourceId", "reviewersType", - "roleDefinitionId", + "scope", "status", "type", "userPrincipalName" @@ -765704,43 +765826,14 @@ "outputs": { "description": "Resource representation of a workflow", "properties": { - "acr": { - "type": "object", - "$ref": "#/types/azure-native:devhub:ACRResponse", - "description": "Information on the azure container registry" - }, - "aksResourceId": { - "type": "string", - "description": "The Azure Kubernetes Cluster Resource the application will be deployed to." - }, "appName": { "type": "string", "description": "The name of the app." }, - "authStatus": { - "type": "string", - "description": "Determines the authorization status of requests." - }, - "branchName": { - "type": "string", - "description": "Repository Branch Name" - }, "builderVersion": { "type": "string", "description": "The version of the language image used for building the code in the generated dockerfile." }, - "deploymentProperties": { - "type": "object", - "$ref": "#/types/azure-native:devhub:DeploymentPropertiesResponse" - }, - "dockerBuildContext": { - "type": "string", - "description": "Path to Dockerfile Build Context within the repository." - }, - "dockerfile": { - "type": "string", - "description": "Path to the Dockerfile within the repository." - }, "dockerfileGenerationMode": { "type": "string", "description": "The mode of generation to be used for generating Dockerfiles." @@ -765753,6 +765846,11 @@ "type": "string", "description": "The programming language used." }, + "githubWorkflowProfile": { + "type": "object", + "$ref": "#/types/azure-native:devhub:GitHubWorkflowProfileResponse", + "description": "Profile of a github workflow." + }, "id": { "type": "string", "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" @@ -765769,10 +765867,6 @@ "type": "string", "description": "The version of the language image used for execution in the generated dockerfile." }, - "lastWorkflowRun": { - "type": "object", - "$ref": "#/types/azure-native:devhub:WorkflowRunResponse" - }, "location": { "type": "string", "description": "The geo-location where the resource lives" @@ -765795,37 +765889,12 @@ }, "namespace": { "type": "string", - "description": "Kubernetes namespace the application is deployed to." - }, - "oidcCredentials": { - "type": "object", - "$ref": "#/types/azure-native:devhub:GitHubWorkflowProfileResponseOidcCredentials", - "description": "The fields needed for OIDC with GitHub." + "description": "The namespace to deploy the application to." }, "port": { "type": "string", "description": "The port the application is exposed on." }, - "prStatus": { - "type": "string", - "description": "The status of the Pull Request submitted against the users repository." - }, - "prURL": { - "type": "string", - "description": "The URL to the Pull Request submitted against the users repository." - }, - "pullNumber": { - "type": "integer", - "description": "The number associated with the submitted pull request." - }, - "repositoryName": { - "type": "string", - "description": "Repository Name" - }, - "repositoryOwner": { - "type": "string", - "description": "Repository Owner" - }, "systemData": { "type": "object", "$ref": "#/types/azure-native:devhub:SystemDataResponse", @@ -765845,13 +765914,9 @@ }, "type": "object", "required": [ - "authStatus", "id", "location", "name", - "prStatus", - "prURL", - "pullNumber", "systemData", "type" ] @@ -773613,6 +773678,11 @@ "$ref": "#/types/azure-native:education:SystemDataResponse", "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." }, + "totalBudget": { + "type": "object", + "$ref": "#/types/azure-native:education:AmountResponse", + "description": "Total budget" + }, "type": { "type": "string", "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" @@ -773635,6 +773705,7 @@ "name", "status", "systemData", + "totalBudget", "type" ] } @@ -825648,81 +825719,18 @@ }, "name": { "type": "string", - "description": "The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name." - }, - "p2SVpnGateways": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:SubResourceResponse" - }, - "description": "List of references to P2SVpnGateways." - }, - "p2SVpnServerConfigRadiusClientRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnServerConfigRadiusClientRootCertificateResponse" - }, - "description": "Radius client root certificate of P2SVpnServerConfiguration." - }, - "p2SVpnServerConfigRadiusServerRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnServerConfigRadiusServerRootCertificateResponse" - }, - "description": "Radius Server root certificate of P2SVpnServerConfiguration." - }, - "p2SVpnServerConfigVpnClientRevokedCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnServerConfigVpnClientRevokedCertificateResponse" - }, - "description": "VPN client revoked certificate of P2SVpnServerConfiguration." - }, - "p2SVpnServerConfigVpnClientRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnServerConfigVpnClientRootCertificateResponse" - }, - "description": "VPN client root certificate of P2SVpnServerConfiguration." - }, - "provisioningState": { - "type": "string", - "description": "The provisioning state of the P2S VPN server configuration resource." - }, - "radiusServerAddress": { - "type": "string", - "description": "The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection." - }, - "radiusServerSecret": { - "type": "string", - "description": "The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection." - }, - "vpnClientIpsecPolicies": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:IpsecPolicyResponse" - }, - "description": "VpnClientIpsecPolicies for P2SVpnServerConfiguration." + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." }, - "vpnProtocols": { - "type": "array", - "items": { - "type": "string" - }, - "description": "VPN protocols for the P2SVpnServerConfiguration." + "properties": { + "type": "object", + "$ref": "#/types/azure-native:network:P2SVpnServerConfigurationPropertiesResponse", + "description": "Properties of the P2SVpnServer configuration." } }, "type": "object", "required": [ "etag", - "p2SVpnGateways", - "provisioningState" + "properties" ] } }, @@ -831143,19 +831151,6 @@ "outputs": { "description": "VpnServerConfiguration Resource.", "properties": { - "aadAuthenticationParameters": { - "type": "object", - "$ref": "#/types/azure-native:network:AadAuthenticationParametersResponse", - "description": "The set of aad vpn authentication parameters." - }, - "configurationPolicyGroups": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigurationPolicyGroupResponse" - }, - "description": "List of all VpnServerConfigurationPolicyGroups." - }, "etag": { "type": "string", "description": "A unique read-only string that changes whenever the resource is updated." @@ -831172,49 +831167,10 @@ "type": "string", "description": "Resource name." }, - "p2SVpnGateways": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:P2SVpnGatewayResponse" - }, - "description": "List of references to P2SVpnGateways." - }, - "provisioningState": { - "type": "string", - "description": "The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." - }, - "radiusClientRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigRadiusClientRootCertificateResponse" - }, - "description": "Radius client root certificate of VpnServerConfiguration." - }, - "radiusServerAddress": { - "type": "string", - "description": "The radius server address property of the VpnServerConfiguration resource for point to site client connection." - }, - "radiusServerRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigRadiusServerRootCertificateResponse" - }, - "description": "Radius Server root certificate of VpnServerConfiguration." - }, - "radiusServerSecret": { - "type": "string", - "description": "The radius secret property of the VpnServerConfiguration resource for point to site client connection." - }, - "radiusServers": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:RadiusServerResponse" - }, - "description": "Multiple Radius Server configuration for VpnServerConfiguration." + "properties": { + "type": "object", + "$ref": "#/types/azure-native:network:VpnServerConfigurationPropertiesResponse", + "description": "Properties of the P2SVpnServer configuration." }, "tags": { "type": "object", @@ -831226,52 +831182,13 @@ "type": { "type": "string", "description": "Resource type." - }, - "vpnAuthenticationTypes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "VPN authentication types for the VpnServerConfiguration." - }, - "vpnClientIpsecPolicies": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:IpsecPolicyResponse" - }, - "description": "VpnClientIpsecPolicies for VpnServerConfiguration." - }, - "vpnClientRevokedCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigVpnClientRevokedCertificateResponse" - }, - "description": "VPN client revoked certificate of VpnServerConfiguration." - }, - "vpnClientRootCertificates": { - "type": "array", - "items": { - "type": "object", - "$ref": "#/types/azure-native:network:VpnServerConfigVpnClientRootCertificateResponse" - }, - "description": "VPN client root certificate of VpnServerConfiguration." - }, - "vpnProtocols": { - "type": "array", - "items": { - "type": "string" - }, - "description": "VPN protocols for the VpnServerConfiguration." } }, "type": "object", "required": [ "etag", "name", - "p2SVpnGateways", - "provisioningState", + "properties", "type" ] } @@ -851325,6 +851242,69 @@ ] } }, + "azure-native:security:getDefenderForStorage": { + "description": "Gets the Defender for Storage settings for the specified storage account.\nAzure REST API version: 2022-12-01-preview.", + "inputs": { + "properties": { + "resourceId": { + "type": "string", + "description": "The identifier of the resource.", + "willReplaceOnChanges": true + }, + "settingName": { + "type": "string", + "description": "Defender for Storage setting name.", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "resourceId", + "settingName" + ] + }, + "outputs": { + "description": "The Defender for Storage resource.", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + }, + "isEnabled": { + "type": "boolean", + "description": "Indicates whether Defender for Storage is enabled on this storage account." + }, + "malwareScanning": { + "type": "object", + "$ref": "#/types/azure-native:security:MalwareScanningPropertiesResponse", + "description": "Properties of Malware Scanning." + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "overrideSubscriptionLevelSettings": { + "type": "boolean", + "description": "Indicates whether the settings defined for this storage account should override the settings defined for the subscription." + }, + "sensitiveDataDiscovery": { + "type": "object", + "$ref": "#/types/azure-native:security:SensitiveDataDiscoveryPropertiesResponse", + "description": "Properties of Sensitive Data Discovery." + }, + "type": { + "type": "string", + "description": "Resource type" + } + }, + "type": "object", + "required": [ + "id", + "name", + "type" + ] + } + }, "azure-native:security:getDevOpsConfiguration": { "description": "DevOps Configuration resource.\nAzure REST API version: 2023-09-01-preview.", "inputs": { @@ -881384,25 +881364,9 @@ "outputs": { "description": "Dedicated cloud node model", "properties": { - "availabilityZoneId": { - "type": "string", - "description": "Availability Zone id, e.g. \"az1\"" - }, - "availabilityZoneName": { - "type": "string", - "description": "Availability Zone name, e.g. \"Availability Zone 1\"" - }, - "cloudRackName": { - "type": "string", - "description": "VMWare Cloud Rack Name" - }, - "created": { - "type": "string", - "description": "date time the resource was created" - }, "id": { "type": "string", - "description": "SKU's id" + "description": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/dedicatedCloudNodes/{dedicatedCloudNodeName}" }, "location": { "type": "string", @@ -881410,45 +881374,18 @@ }, "name": { "type": "string", - "description": "SKU's name" + "description": "{dedicatedCloudNodeName}" }, - "nodesCount": { - "type": "integer", - "description": "count of nodes to create" - }, - "placementGroupId": { - "type": "string", - "description": "Placement Group id, e.g. \"n1\"" - }, - "placementGroupName": { - "type": "string", - "description": "Placement Name, e.g. \"Placement Group 1\"" - }, - "privateCloudId": { - "type": "string", - "description": "Private Cloud Id" - }, - "privateCloudName": { - "type": "string", - "description": "Resource Pool Name" - }, - "provisioningState": { - "type": "string", - "description": "The provisioning status of the resource" - }, - "purchaseId": { - "type": "string", - "description": "purchase id" + "properties": { + "type": "object", + "$ref": "#/types/azure-native:vmwarecloudsimple:DedicatedCloudNodePropertiesResponse", + "description": "Dedicated Cloud Nodes properties" }, "sku": { "type": "object", "$ref": "#/types/azure-native:vmwarecloudsimple:SkuResponse", "description": "Dedicated Cloud Nodes SKU" }, - "status": { - "type": "string", - "description": "Node status, indicates is private cloud set up on this node or not" - }, "tags": { "type": "object", "additionalProperties": { @@ -881459,31 +881396,15 @@ "type": { "type": "string", "description": "{resourceProviderNamespace}/{resourceType}" - }, - "vmwareClusterName": { - "type": "string", - "description": "VMWare Cluster Name" } }, "type": "object", "required": [ - "availabilityZoneId", - "availabilityZoneName", - "cloudRackName", - "created", "id", "location", "name", - "nodesCount", - "placementGroupId", - "placementGroupName", - "privateCloudId", - "privateCloudName", - "provisioningState", - "purchaseId", - "status", - "type", - "vmwareClusterName" + "properties", + "type" ] } }, diff --git a/provider/pkg/gen/properties.go b/provider/pkg/gen/properties.go index 00285a6a35f1..d9da0fdafbcf 100644 --- a/provider/pkg/gen/properties.go +++ b/provider/pkg/gen/properties.go @@ -84,8 +84,11 @@ func (m *moduleGenerator) genProperties(resolvedSchema *openapi.Schema, isOutput sdkName = ToLowerCamel(sdkName) // Flattened properties aren't modelled in the SDK explicitly: their sub-properties are merged directly to the parent. - // If the type is marked as a dictionary, ignore the extension and proceed with modeling this property explicitly. - // We can't flatten dictionaries in a type-safe manner. + // There are two exceptions to this rule, for which we skip the merging: + // 1. If the type is marked as a dictionary, ignore the extension and proceed with modeling this property explicitly. + // We can't flatten dictionaries in a type-safe manner. + // 2. Sometimes the Azure spec misuses the "x-ms-client-flatten" extension in cases where flattening would cause two + // properties to conflict because the outer and the inner type both have a property with the same name. isDict := resolvedProperty.AdditionalProperties != nil //TODO: Remove when https://github.com/Azure/azure-rest-api-specs/pull/14550 is rolled back workaroundDelegatedNetworkBreakingChange := property.Ref.String() == "#/definitions/OrchestratorResourceProperties" || @@ -97,36 +100,39 @@ func (m *moduleGenerator) genProperties(resolvedSchema *openapi.Schema, isOutput return nil, err } - // Check that none of the inner properties already exists on the outer type. This - // causes a conflict when flattening, and will probably need to be handled in v3. + // Check that none of the inner properties already exists on the outer type. + hasConflict := false for propName := range bag.properties { - if _, has := result.properties[propName]; has { + if _, hasConflict = result.properties[propName]; hasConflict { m.flattenedPropertyConflicts[fmt.Sprintf("%s.%s", name, propName)] = struct{}{} + break } } - // Adjust every property to mark them as flattened. - newProperties := map[string]resources.AzureAPIProperty{} - for n, value := range bag.properties { - // The order of containers is important, so we prepend the outermost name. - value.Containers = append([]string{name}, value.Containers...) - newProperties[n] = value - } - bag.properties = newProperties + if !hasConflict { + // Adjust every property to mark them as flattened. + newProperties := map[string]resources.AzureAPIProperty{} + for n, value := range bag.properties { + // The order of containers is important, so we prepend the outermost name. + value.Containers = append([]string{name}, value.Containers...) + newProperties[n] = value + } + bag.properties = newProperties - newRequiredContainers := make(RequiredContainers, len(bag.requiredContainers)) - for i, containers := range bag.requiredContainers { - newRequiredContainers[i] = append([]string{name}, containers...) - } - for _, requiredName := range resolvedSchema.Required { - if requiredName == name { - newRequiredContainers = append(newRequiredContainers, []string{name}) + newRequiredContainers := make(RequiredContainers, len(bag.requiredContainers)) + for i, containers := range bag.requiredContainers { + newRequiredContainers[i] = append([]string{name}, containers...) } - } - bag.requiredContainers = newRequiredContainers + for _, requiredName := range resolvedSchema.Required { + if requiredName == name { + newRequiredContainers = append(newRequiredContainers, []string{name}) + } + } + bag.requiredContainers = newRequiredContainers - result.merge(bag) - continue + result.merge(bag) + continue + } } // Skip read-only properties for input types and write-only properties for output types. diff --git a/provider/pkg/openapi/defaults/defaultResourcesState.go b/provider/pkg/openapi/defaults/defaultResourcesState.go index dacb4e8020c0..ea8a40c3c820 100644 --- a/provider/pkg/openapi/defaults/defaultResourcesState.go +++ b/provider/pkg/openapi/defaults/defaultResourcesState.go @@ -47,6 +47,11 @@ var defaultResourcesStateRaw = map[string]map[string]interface{}{ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/ProactiveDetectionConfigs/{ConfigurationId}": { "enabled": false, }, + "/{resourceId}/providers/Microsoft.Security/defenderForStorageSettings/{settingName}": { + "isEnabled": false, + // https://learn.microsoft.com/en-us/azure/storage/common/azure-defender-storage-configure?tabs=enable-subscription#rest-api-1 + "overrideSubscriptionLevelSettings": true, + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets/default": { "defaultAction": "Deny", }, diff --git a/reports/allResourceVersionsByResource.json b/reports/allResourceVersionsByResource.json index 7a3d1b319226..2e90a5f9a074 100644 --- a/reports/allResourceVersionsByResource.json +++ b/reports/allResourceVersionsByResource.json @@ -18002,6 +18002,9 @@ "CustomEntityStoreAssignment": [ "2021-07-01-preview" ], + "DefenderForStorage": [ + "2022-12-01-preview" + ], "DevOpsConfiguration": [ "2023-09-01-preview" ], diff --git a/reports/allResourcesByVersion.json b/reports/allResourcesByVersion.json index aff6761f8abc..d6180605d2e8 100644 --- a/reports/allResourcesByVersion.json +++ b/reports/allResourcesByVersion.json @@ -17463,6 +17463,9 @@ "2022-11-20-preview": [ "APICollection" ], + "2022-12-01-preview": [ + "DefenderForStorage" + ], "2023-01-01-preview": [ "SecurityOperator" ], diff --git a/reports/flattenedPropertyConflicts.json b/reports/flattenedPropertyConflicts.json index 387f5531f2e3..d251d215f0ed 100644 --- a/reports/flattenedPropertyConflicts.json +++ b/reports/flattenedPropertyConflicts.json @@ -97,20 +97,16 @@ }, "azure-native:security/v20221201preview:DefenderForStorage": { "malwareScanning.isEnabled": {}, - "sensitiveDataDiscovery.isEnabled": {}, - "sensitiveDataDiscovery.operationStatus": {} + "sensitiveDataDiscovery.isEnabled": {} }, "azure-native:security:DefenderForStorage": { "malwareScanning.isEnabled": {}, - "sensitiveDataDiscovery.isEnabled": {}, - "sensitiveDataDiscovery.operationStatus": {} + "sensitiveDataDiscovery.isEnabled": {} }, "azure-native:vmwarecloudsimple/v20190401:DedicatedCloudNode": { - "properties.id": {}, - "properties.name": {} + "properties.id": {} }, "azure-native:vmwarecloudsimple:DedicatedCloudNode": { - "properties.id": {}, - "properties.name": {} + "properties.id": {} } } \ No newline at end of file diff --git a/reports/pending.json b/reports/pending.json index 186c37931a80..636ee1792da3 100644 --- a/reports/pending.json +++ b/reports/pending.json @@ -869,6 +869,7 @@ "2022-07-01-preview", "2022-08-01-preview", "2022-11-20-preview", + "2022-12-01-preview", "2023-01-01-preview", "2023-02-01-preview", "2023-03-01-preview", diff --git a/sdk/dotnet/Authorization/AccessReviewHistoryDefinitionById.cs b/sdk/dotnet/Authorization/AccessReviewHistoryDefinitionById.cs index 3b83157feb82..a5a466a2009f 100644 --- a/sdk/dotnet/Authorization/AccessReviewHistoryDefinitionById.cs +++ b/sdk/dotnet/Authorization/AccessReviewHistoryDefinitionById.cs @@ -34,12 +34,6 @@ public partial class AccessReviewHistoryDefinitionById : global::Pulumi.CustomRe [Output("displayName")] public Output DisplayName { get; private set; } = null!; - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Output("endDate")] - public Output EndDate { get; private set; } = null!; - /// /// Set of access review history instances for this history definition. /// @@ -58,12 +52,6 @@ public partial class AccessReviewHistoryDefinitionById : global::Pulumi.CustomRe [Output("name")] public Output Name { get; private set; } = null!; - /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - [Output("numberOfOccurrences")] - public Output NumberOfOccurrences { get; private set; } = null!; - /// /// The identity id /// @@ -82,6 +70,12 @@ public partial class AccessReviewHistoryDefinitionById : global::Pulumi.CustomRe [Output("principalType")] public Output PrincipalType { get; private set; } = null!; + /// + /// Access Review History Definition recurrence settings. + /// + [Output("range")] + public Output Range { get; private set; } = null!; + /// /// Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. /// @@ -100,12 +94,6 @@ public partial class AccessReviewHistoryDefinitionById : global::Pulumi.CustomRe [Output("scopes")] public Output> Scopes { get; private set; } = null!; - /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - [Output("startDate")] - public Output StartDate { get; private set; } = null!; - /// /// This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. /// @@ -192,12 +180,6 @@ public sealed class AccessReviewHistoryDefinitionByIdArgs : global::Pulumi.Resou [Input("displayName")] public Input? DisplayName { get; set; } - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Input("endDate")] - public Input? EndDate { get; set; } - /// /// The id of the access review history definition. /// @@ -223,10 +205,10 @@ public InputList Instances public Input? Interval { get; set; } /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. + /// Access Review History Definition recurrence settings. /// - [Input("numberOfOccurrences")] - public Input? NumberOfOccurrences { get; set; } + [Input("range")] + public Input? Range { get; set; } [Input("scopes")] private InputList? _scopes; @@ -241,16 +223,10 @@ public InputList Scopes } /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - [Input("startDate")] - public Input? StartDate { get; set; } - - /// - /// The recurrence range type. The possible values are: endDate, noEnd, numbered. + /// The recurrence type : weekly, monthly, etc. /// [Input("type")] - public InputUnion? Type { get; set; } + public InputUnion? Type { get; set; } public AccessReviewHistoryDefinitionByIdArgs() { diff --git a/sdk/dotnet/Authorization/AccessReviewScheduleDefinitionById.cs b/sdk/dotnet/Authorization/AccessReviewScheduleDefinitionById.cs index 479feaecc5b6..cf2948ed8673 100644 --- a/sdk/dotnet/Authorization/AccessReviewScheduleDefinitionById.cs +++ b/sdk/dotnet/Authorization/AccessReviewScheduleDefinitionById.cs @@ -16,12 +16,6 @@ namespace Pulumi.AzureNative.Authorization [AzureNativeResourceType("azure-native:authorization:AccessReviewScheduleDefinitionById")] public partial class AccessReviewScheduleDefinitionById : global::Pulumi.CustomResource { - /// - /// The role assignment state eligible/active to review - /// - [Output("assignmentState")] - public Output AssignmentState { get; private set; } = null!; - /// /// Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. /// @@ -64,48 +58,6 @@ public partial class AccessReviewScheduleDefinitionById : global::Pulumi.CustomR [Output("displayName")] public Output DisplayName { get; private set; } = null!; - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Output("endDate")] - public Output EndDate { get; private set; } = null!; - - /// - /// This is used to indicate the resource id(s) to exclude - /// - [Output("excludeResourceId")] - public Output ExcludeResourceId { get; private set; } = null!; - - /// - /// This is used to indicate the role definition id(s) to exclude - /// - [Output("excludeRoleDefinitionId")] - public Output ExcludeRoleDefinitionId { get; private set; } = null!; - - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - [Output("expandNestedMemberships")] - public Output ExpandNestedMemberships { get; private set; } = null!; - - /// - /// Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - /// - [Output("inactiveDuration")] - public Output InactiveDuration { get; private set; } = null!; - - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - [Output("includeAccessBelowResource")] - public Output IncludeAccessBelowResource { get; private set; } = null!; - - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - [Output("includeInheritedAccess")] - public Output IncludeInheritedAccess { get; private set; } = null!; - /// /// The duration in days for an instance. /// @@ -142,12 +94,6 @@ public partial class AccessReviewScheduleDefinitionById : global::Pulumi.CustomR [Output("name")] public Output Name { get; private set; } = null!; - /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - [Output("numberOfOccurrences")] - public Output NumberOfOccurrences { get; private set; } = null!; - /// /// The identity id /// @@ -161,11 +107,17 @@ public partial class AccessReviewScheduleDefinitionById : global::Pulumi.CustomR public Output PrincipalName { get; private set; } = null!; /// - /// The identity type user/servicePrincipal to review + /// The identity type : user/servicePrincipal /// [Output("principalType")] public Output PrincipalType { get; private set; } = null!; + /// + /// Access Review schedule definition recurrence range. + /// + [Output("range")] + public Output Range { get; private set; } = null!; + /// /// Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) /// @@ -184,12 +136,6 @@ public partial class AccessReviewScheduleDefinitionById : global::Pulumi.CustomR [Output("reminderNotificationsEnabled")] public Output ReminderNotificationsEnabled { get; private set; } = null!; - /// - /// ResourceId in which this review is getting created - /// - [Output("resourceId")] - public Output ResourceId { get; private set; } = null!; - /// /// This is the collection of reviewers. /// @@ -203,16 +149,10 @@ public partial class AccessReviewScheduleDefinitionById : global::Pulumi.CustomR public Output ReviewersType { get; private set; } = null!; /// - /// This is used to indicate the role being reviewed - /// - [Output("roleDefinitionId")] - public Output RoleDefinitionId { get; private set; } = null!; - - /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + /// This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. /// - [Output("startDate")] - public Output StartDate { get; private set; } = null!; + [Output("scope")] + public Output Scope { get; private set; } = null!; /// /// This read-only field specifies the status of an accessReview. @@ -333,12 +273,6 @@ public InputList BackupReviewers [Input("displayName")] public Input? DisplayName { get; set; } - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Input("endDate")] - public Input? EndDate { get; set; } - /// /// This is used to indicate the resource id(s) to exclude /// @@ -412,10 +346,10 @@ public InputList Instances public Input? MailNotificationsEnabled { get; set; } /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. + /// Access Review schedule definition recurrence range. /// - [Input("numberOfOccurrences")] - public Input? NumberOfOccurrences { get; set; } + [Input("range")] + public Input? Range { get; set; } /// /// Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) @@ -454,16 +388,10 @@ public InputList Reviewers public Input? ScheduleDefinitionId { get; set; } /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - [Input("startDate")] - public Input? StartDate { get; set; } - - /// - /// The recurrence range type. The possible values are: endDate, noEnd, numbered. + /// The recurrence type : weekly, monthly, etc. /// [Input("type")] - public InputUnion? Type { get; set; } + public InputUnion? Type { get; set; } public AccessReviewScheduleDefinitionByIdArgs() { diff --git a/sdk/dotnet/Authorization/GetAccessReviewHistoryDefinitionById.cs b/sdk/dotnet/Authorization/GetAccessReviewHistoryDefinitionById.cs index 6c59acab7eee..79089696fc29 100644 --- a/sdk/dotnet/Authorization/GetAccessReviewHistoryDefinitionById.cs +++ b/sdk/dotnet/Authorization/GetAccessReviewHistoryDefinitionById.cs @@ -72,10 +72,6 @@ public sealed class GetAccessReviewHistoryDefinitionByIdResult /// public readonly string? DisplayName; /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - public readonly string? EndDate; - /// /// The access review history definition id. /// public readonly string Id; @@ -92,10 +88,6 @@ public sealed class GetAccessReviewHistoryDefinitionByIdResult /// public readonly string Name; /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - public readonly int? NumberOfOccurrences; - /// /// The identity id /// public readonly string PrincipalId; @@ -108,6 +100,10 @@ public sealed class GetAccessReviewHistoryDefinitionByIdResult /// public readonly string PrincipalType; /// + /// Access Review History Definition recurrence settings. + /// + public readonly Outputs.AccessReviewRecurrenceRangeResponse? Range; + /// /// Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. /// public readonly string ReviewHistoryPeriodEndDateTime; @@ -120,10 +116,6 @@ public sealed class GetAccessReviewHistoryDefinitionByIdResult /// public readonly ImmutableArray Scopes; /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - public readonly string? StartDate; - /// /// This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. /// public readonly string Status; @@ -144,8 +136,6 @@ private GetAccessReviewHistoryDefinitionByIdResult( string? displayName, - string? endDate, - string id, ImmutableArray instances, @@ -154,22 +144,20 @@ private GetAccessReviewHistoryDefinitionByIdResult( string name, - int? numberOfOccurrences, - string principalId, string principalName, string principalType, + Outputs.AccessReviewRecurrenceRangeResponse? range, + string reviewHistoryPeriodEndDateTime, string reviewHistoryPeriodStartDateTime, ImmutableArray scopes, - string? startDate, - string status, string type, @@ -179,19 +167,17 @@ private GetAccessReviewHistoryDefinitionByIdResult( CreatedDateTime = createdDateTime; Decisions = decisions; DisplayName = displayName; - EndDate = endDate; Id = id; Instances = instances; Interval = interval; Name = name; - NumberOfOccurrences = numberOfOccurrences; PrincipalId = principalId; PrincipalName = principalName; PrincipalType = principalType; + Range = range; ReviewHistoryPeriodEndDateTime = reviewHistoryPeriodEndDateTime; ReviewHistoryPeriodStartDateTime = reviewHistoryPeriodStartDateTime; Scopes = scopes; - StartDate = startDate; Status = status; Type = type; UserPrincipalName = userPrincipalName; diff --git a/sdk/dotnet/Authorization/GetAccessReviewScheduleDefinitionById.cs b/sdk/dotnet/Authorization/GetAccessReviewScheduleDefinitionById.cs index b903cea15646..5f3dfc73c20d 100644 --- a/sdk/dotnet/Authorization/GetAccessReviewScheduleDefinitionById.cs +++ b/sdk/dotnet/Authorization/GetAccessReviewScheduleDefinitionById.cs @@ -59,10 +59,6 @@ public GetAccessReviewScheduleDefinitionByIdInvokeArgs() [OutputType] public sealed class GetAccessReviewScheduleDefinitionByIdResult { - /// - /// The role assignment state eligible/active to review - /// - public readonly string AssignmentState; /// /// Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. /// @@ -92,38 +88,10 @@ public sealed class GetAccessReviewScheduleDefinitionByIdResult /// public readonly string? DisplayName; /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - public readonly string? EndDate; - /// - /// This is used to indicate the resource id(s) to exclude - /// - public readonly string? ExcludeResourceId; - /// - /// This is used to indicate the role definition id(s) to exclude - /// - public readonly string? ExcludeRoleDefinitionId; - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - public readonly bool? ExpandNestedMemberships; - /// /// The access review schedule definition id. /// public readonly string Id; /// - /// Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - /// - public readonly string? InactiveDuration; - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - public readonly bool? IncludeAccessBelowResource; - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - public readonly bool? IncludeInheritedAccess; - /// /// The duration in days for an instance. /// public readonly int? InstanceDurationInDays; @@ -148,10 +116,6 @@ public sealed class GetAccessReviewScheduleDefinitionByIdResult /// public readonly string Name; /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - public readonly int? NumberOfOccurrences; - /// /// The identity id /// public readonly string PrincipalId; @@ -160,10 +124,14 @@ public sealed class GetAccessReviewScheduleDefinitionByIdResult /// public readonly string PrincipalName; /// - /// The identity type user/servicePrincipal to review + /// The identity type : user/servicePrincipal /// public readonly string PrincipalType; /// + /// Access Review schedule definition recurrence range. + /// + public readonly Outputs.AccessReviewRecurrenceRangeResponse? Range; + /// /// Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) /// public readonly string? RecommendationLookBackDuration; @@ -176,10 +144,6 @@ public sealed class GetAccessReviewScheduleDefinitionByIdResult /// public readonly bool? ReminderNotificationsEnabled; /// - /// ResourceId in which this review is getting created - /// - public readonly string ResourceId; - /// /// This is the collection of reviewers. /// public readonly ImmutableArray Reviewers; @@ -188,13 +152,9 @@ public sealed class GetAccessReviewScheduleDefinitionByIdResult /// public readonly string ReviewersType; /// - /// This is used to indicate the role being reviewed + /// This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. /// - public readonly string RoleDefinitionId; - /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - public readonly string? StartDate; + public readonly Outputs.AccessReviewScopeResponse Scope; /// /// This read-only field specifies the status of an accessReview. /// @@ -210,8 +170,6 @@ public sealed class GetAccessReviewScheduleDefinitionByIdResult [OutputConstructor] private GetAccessReviewScheduleDefinitionByIdResult( - string assignmentState, - bool? autoApplyDecisionsEnabled, ImmutableArray backupReviewers, @@ -226,22 +184,8 @@ private GetAccessReviewScheduleDefinitionByIdResult( string? displayName, - string? endDate, - - string? excludeResourceId, - - string? excludeRoleDefinitionId, - - bool? expandNestedMemberships, - string id, - string? inactiveDuration, - - bool? includeAccessBelowResource, - - bool? includeInheritedAccess, - int? instanceDurationInDays, ImmutableArray instances, @@ -254,29 +198,25 @@ private GetAccessReviewScheduleDefinitionByIdResult( string name, - int? numberOfOccurrences, - string principalId, string principalName, string principalType, + Outputs.AccessReviewRecurrenceRangeResponse? range, + string? recommendationLookBackDuration, bool? recommendationsEnabled, bool? reminderNotificationsEnabled, - string resourceId, - ImmutableArray reviewers, string reviewersType, - string roleDefinitionId, - - string? startDate, + Outputs.AccessReviewScopeResponse scope, string status, @@ -284,7 +224,6 @@ private GetAccessReviewScheduleDefinitionByIdResult( string userPrincipalName) { - AssignmentState = assignmentState; AutoApplyDecisionsEnabled = autoApplyDecisionsEnabled; BackupReviewers = backupReviewers; DefaultDecision = defaultDecision; @@ -292,32 +231,23 @@ private GetAccessReviewScheduleDefinitionByIdResult( DescriptionForAdmins = descriptionForAdmins; DescriptionForReviewers = descriptionForReviewers; DisplayName = displayName; - EndDate = endDate; - ExcludeResourceId = excludeResourceId; - ExcludeRoleDefinitionId = excludeRoleDefinitionId; - ExpandNestedMemberships = expandNestedMemberships; Id = id; - InactiveDuration = inactiveDuration; - IncludeAccessBelowResource = includeAccessBelowResource; - IncludeInheritedAccess = includeInheritedAccess; InstanceDurationInDays = instanceDurationInDays; Instances = instances; Interval = interval; JustificationRequiredOnApproval = justificationRequiredOnApproval; MailNotificationsEnabled = mailNotificationsEnabled; Name = name; - NumberOfOccurrences = numberOfOccurrences; PrincipalId = principalId; PrincipalName = principalName; PrincipalType = principalType; + Range = range; RecommendationLookBackDuration = recommendationLookBackDuration; RecommendationsEnabled = recommendationsEnabled; ReminderNotificationsEnabled = reminderNotificationsEnabled; - ResourceId = resourceId; Reviewers = reviewers; ReviewersType = reviewersType; - RoleDefinitionId = roleDefinitionId; - StartDate = startDate; + Scope = scope; Status = status; Type = type; UserPrincipalName = userPrincipalName; diff --git a/sdk/dotnet/Authorization/GetScopeAccessReviewHistoryDefinitionById.cs b/sdk/dotnet/Authorization/GetScopeAccessReviewHistoryDefinitionById.cs index 06921d294e34..a4439253e278 100644 --- a/sdk/dotnet/Authorization/GetScopeAccessReviewHistoryDefinitionById.cs +++ b/sdk/dotnet/Authorization/GetScopeAccessReviewHistoryDefinitionById.cs @@ -84,10 +84,6 @@ public sealed class GetScopeAccessReviewHistoryDefinitionByIdResult /// public readonly string? DisplayName; /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - public readonly string? EndDate; - /// /// The access review history definition id. /// public readonly string Id; @@ -104,10 +100,6 @@ public sealed class GetScopeAccessReviewHistoryDefinitionByIdResult /// public readonly string Name; /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - public readonly int? NumberOfOccurrences; - /// /// The identity id /// public readonly string PrincipalId; @@ -120,6 +112,10 @@ public sealed class GetScopeAccessReviewHistoryDefinitionByIdResult /// public readonly string PrincipalType; /// + /// Access Review History Definition recurrence settings. + /// + public readonly Outputs.AccessReviewRecurrenceRangeResponse? Range; + /// /// Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. /// public readonly string ReviewHistoryPeriodEndDateTime; @@ -132,10 +128,6 @@ public sealed class GetScopeAccessReviewHistoryDefinitionByIdResult /// public readonly ImmutableArray Scopes; /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - public readonly string? StartDate; - /// /// This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. /// public readonly string Status; @@ -156,8 +148,6 @@ private GetScopeAccessReviewHistoryDefinitionByIdResult( string? displayName, - string? endDate, - string id, ImmutableArray instances, @@ -166,22 +156,20 @@ private GetScopeAccessReviewHistoryDefinitionByIdResult( string name, - int? numberOfOccurrences, - string principalId, string principalName, string principalType, + Outputs.AccessReviewRecurrenceRangeResponse? range, + string reviewHistoryPeriodEndDateTime, string reviewHistoryPeriodStartDateTime, ImmutableArray scopes, - string? startDate, - string status, string type, @@ -191,19 +179,17 @@ private GetScopeAccessReviewHistoryDefinitionByIdResult( CreatedDateTime = createdDateTime; Decisions = decisions; DisplayName = displayName; - EndDate = endDate; Id = id; Instances = instances; Interval = interval; Name = name; - NumberOfOccurrences = numberOfOccurrences; PrincipalId = principalId; PrincipalName = principalName; PrincipalType = principalType; + Range = range; ReviewHistoryPeriodEndDateTime = reviewHistoryPeriodEndDateTime; ReviewHistoryPeriodStartDateTime = reviewHistoryPeriodStartDateTime; Scopes = scopes; - StartDate = startDate; Status = status; Type = type; UserPrincipalName = userPrincipalName; diff --git a/sdk/dotnet/Authorization/GetScopeAccessReviewScheduleDefinitionById.cs b/sdk/dotnet/Authorization/GetScopeAccessReviewScheduleDefinitionById.cs index f1633b62be73..d8c6e2e7e539 100644 --- a/sdk/dotnet/Authorization/GetScopeAccessReviewScheduleDefinitionById.cs +++ b/sdk/dotnet/Authorization/GetScopeAccessReviewScheduleDefinitionById.cs @@ -71,10 +71,6 @@ public GetScopeAccessReviewScheduleDefinitionByIdInvokeArgs() [OutputType] public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult { - /// - /// The role assignment state eligible/active to review - /// - public readonly string AssignmentState; /// /// Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. /// @@ -104,38 +100,10 @@ public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult /// public readonly string? DisplayName; /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - public readonly string? EndDate; - /// - /// This is used to indicate the resource id(s) to exclude - /// - public readonly string? ExcludeResourceId; - /// - /// This is used to indicate the role definition id(s) to exclude - /// - public readonly string? ExcludeRoleDefinitionId; - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - public readonly bool? ExpandNestedMemberships; - /// /// The access review schedule definition id. /// public readonly string Id; /// - /// Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - /// - public readonly string? InactiveDuration; - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - public readonly bool? IncludeAccessBelowResource; - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - public readonly bool? IncludeInheritedAccess; - /// /// The duration in days for an instance. /// public readonly int? InstanceDurationInDays; @@ -160,10 +128,6 @@ public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult /// public readonly string Name; /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - public readonly int? NumberOfOccurrences; - /// /// The identity id /// public readonly string PrincipalId; @@ -172,10 +136,14 @@ public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult /// public readonly string PrincipalName; /// - /// The identity type user/servicePrincipal to review + /// The identity type : user/servicePrincipal /// public readonly string PrincipalType; /// + /// Access Review schedule definition recurrence range. + /// + public readonly Outputs.AccessReviewRecurrenceRangeResponse? Range; + /// /// Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) /// public readonly string? RecommendationLookBackDuration; @@ -188,10 +156,6 @@ public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult /// public readonly bool? ReminderNotificationsEnabled; /// - /// ResourceId in which this review is getting created - /// - public readonly string ResourceId; - /// /// This is the collection of reviewers. /// public readonly ImmutableArray Reviewers; @@ -200,13 +164,9 @@ public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult /// public readonly string ReviewersType; /// - /// This is used to indicate the role being reviewed + /// This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. /// - public readonly string RoleDefinitionId; - /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - public readonly string? StartDate; + public readonly Outputs.AccessReviewScopeResponse Scope; /// /// This read-only field specifies the status of an accessReview. /// @@ -222,8 +182,6 @@ public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult [OutputConstructor] private GetScopeAccessReviewScheduleDefinitionByIdResult( - string assignmentState, - bool? autoApplyDecisionsEnabled, ImmutableArray backupReviewers, @@ -238,22 +196,8 @@ private GetScopeAccessReviewScheduleDefinitionByIdResult( string? displayName, - string? endDate, - - string? excludeResourceId, - - string? excludeRoleDefinitionId, - - bool? expandNestedMemberships, - string id, - string? inactiveDuration, - - bool? includeAccessBelowResource, - - bool? includeInheritedAccess, - int? instanceDurationInDays, ImmutableArray instances, @@ -266,29 +210,25 @@ private GetScopeAccessReviewScheduleDefinitionByIdResult( string name, - int? numberOfOccurrences, - string principalId, string principalName, string principalType, + Outputs.AccessReviewRecurrenceRangeResponse? range, + string? recommendationLookBackDuration, bool? recommendationsEnabled, bool? reminderNotificationsEnabled, - string resourceId, - ImmutableArray reviewers, string reviewersType, - string roleDefinitionId, - - string? startDate, + Outputs.AccessReviewScopeResponse scope, string status, @@ -296,7 +236,6 @@ private GetScopeAccessReviewScheduleDefinitionByIdResult( string userPrincipalName) { - AssignmentState = assignmentState; AutoApplyDecisionsEnabled = autoApplyDecisionsEnabled; BackupReviewers = backupReviewers; DefaultDecision = defaultDecision; @@ -304,32 +243,23 @@ private GetScopeAccessReviewScheduleDefinitionByIdResult( DescriptionForAdmins = descriptionForAdmins; DescriptionForReviewers = descriptionForReviewers; DisplayName = displayName; - EndDate = endDate; - ExcludeResourceId = excludeResourceId; - ExcludeRoleDefinitionId = excludeRoleDefinitionId; - ExpandNestedMemberships = expandNestedMemberships; Id = id; - InactiveDuration = inactiveDuration; - IncludeAccessBelowResource = includeAccessBelowResource; - IncludeInheritedAccess = includeInheritedAccess; InstanceDurationInDays = instanceDurationInDays; Instances = instances; Interval = interval; JustificationRequiredOnApproval = justificationRequiredOnApproval; MailNotificationsEnabled = mailNotificationsEnabled; Name = name; - NumberOfOccurrences = numberOfOccurrences; PrincipalId = principalId; PrincipalName = principalName; PrincipalType = principalType; + Range = range; RecommendationLookBackDuration = recommendationLookBackDuration; RecommendationsEnabled = recommendationsEnabled; ReminderNotificationsEnabled = reminderNotificationsEnabled; - ResourceId = resourceId; Reviewers = reviewers; ReviewersType = reviewersType; - RoleDefinitionId = roleDefinitionId; - StartDate = startDate; + Scope = scope; Status = status; Type = type; UserPrincipalName = userPrincipalName; diff --git a/sdk/dotnet/Authorization/Inputs/AccessReviewRecurrenceRangeArgs.cs b/sdk/dotnet/Authorization/Inputs/AccessReviewRecurrenceRangeArgs.cs new file mode 100644 index 000000000000..455b13f96d41 --- /dev/null +++ b/sdk/dotnet/Authorization/Inputs/AccessReviewRecurrenceRangeArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Authorization.Inputs +{ + + /// + /// Recurrence Range of an Access Review Schedule Definition. + /// + public sealed class AccessReviewRecurrenceRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// The DateTime when the review is scheduled to end. Required if type is endDate + /// + [Input("endDate")] + public Input? EndDate { get; set; } + + /// + /// The number of times to repeat the access review. Required and must be positive if type is numbered. + /// + [Input("numberOfOccurrences")] + public Input? NumberOfOccurrences { get; set; } + + /// + /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + /// + [Input("startDate")] + public Input? StartDate { get; set; } + + /// + /// The recurrence range type. The possible values are: endDate, noEnd, numbered. + /// + [Input("type")] + public InputUnion? Type { get; set; } + + public AccessReviewRecurrenceRangeArgs() + { + } + public static new AccessReviewRecurrenceRangeArgs Empty => new AccessReviewRecurrenceRangeArgs(); + } +} diff --git a/sdk/dotnet/Authorization/Outputs/AccessReviewRecurrenceRangeResponse.cs b/sdk/dotnet/Authorization/Outputs/AccessReviewRecurrenceRangeResponse.cs new file mode 100644 index 000000000000..3412cd9f1df9 --- /dev/null +++ b/sdk/dotnet/Authorization/Outputs/AccessReviewRecurrenceRangeResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Authorization.Outputs +{ + + /// + /// Recurrence Range of an Access Review Schedule Definition. + /// + [OutputType] + public sealed class AccessReviewRecurrenceRangeResponse + { + /// + /// The DateTime when the review is scheduled to end. Required if type is endDate + /// + public readonly string? EndDate; + /// + /// The number of times to repeat the access review. Required and must be positive if type is numbered. + /// + public readonly int? NumberOfOccurrences; + /// + /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + /// + public readonly string? StartDate; + /// + /// The recurrence range type. The possible values are: endDate, noEnd, numbered. + /// + public readonly string? Type; + + [OutputConstructor] + private AccessReviewRecurrenceRangeResponse( + string? endDate, + + int? numberOfOccurrences, + + string? startDate, + + string? type) + { + EndDate = endDate; + NumberOfOccurrences = numberOfOccurrences; + StartDate = startDate; + Type = type; + } + } +} diff --git a/sdk/dotnet/Authorization/ScopeAccessReviewHistoryDefinitionById.cs b/sdk/dotnet/Authorization/ScopeAccessReviewHistoryDefinitionById.cs index 7e73a678e185..e2ce58f877ab 100644 --- a/sdk/dotnet/Authorization/ScopeAccessReviewHistoryDefinitionById.cs +++ b/sdk/dotnet/Authorization/ScopeAccessReviewHistoryDefinitionById.cs @@ -34,12 +34,6 @@ public partial class ScopeAccessReviewHistoryDefinitionById : global::Pulumi.Cus [Output("displayName")] public Output DisplayName { get; private set; } = null!; - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Output("endDate")] - public Output EndDate { get; private set; } = null!; - /// /// Set of access review history instances for this history definition. /// @@ -58,12 +52,6 @@ public partial class ScopeAccessReviewHistoryDefinitionById : global::Pulumi.Cus [Output("name")] public Output Name { get; private set; } = null!; - /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - [Output("numberOfOccurrences")] - public Output NumberOfOccurrences { get; private set; } = null!; - /// /// The identity id /// @@ -82,6 +70,12 @@ public partial class ScopeAccessReviewHistoryDefinitionById : global::Pulumi.Cus [Output("principalType")] public Output PrincipalType { get; private set; } = null!; + /// + /// Access Review History Definition recurrence settings. + /// + [Output("range")] + public Output Range { get; private set; } = null!; + /// /// Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. /// @@ -100,12 +94,6 @@ public partial class ScopeAccessReviewHistoryDefinitionById : global::Pulumi.Cus [Output("scopes")] public Output> Scopes { get; private set; } = null!; - /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - [Output("startDate")] - public Output StartDate { get; private set; } = null!; - /// /// This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. /// @@ -191,12 +179,6 @@ public sealed class ScopeAccessReviewHistoryDefinitionByIdArgs : global::Pulumi. [Input("displayName")] public Input? DisplayName { get; set; } - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Input("endDate")] - public Input? EndDate { get; set; } - /// /// The id of the access review history definition. /// @@ -222,10 +204,10 @@ public InputList Instances public Input? Interval { get; set; } /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. + /// Access Review History Definition recurrence settings. /// - [Input("numberOfOccurrences")] - public Input? NumberOfOccurrences { get; set; } + [Input("range")] + public Input? Range { get; set; } /// /// The scope of the resource. @@ -246,16 +228,10 @@ public InputList Scopes } /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - [Input("startDate")] - public Input? StartDate { get; set; } - - /// - /// The recurrence range type. The possible values are: endDate, noEnd, numbered. + /// The recurrence type : weekly, monthly, etc. /// [Input("type")] - public InputUnion? Type { get; set; } + public InputUnion? Type { get; set; } public ScopeAccessReviewHistoryDefinitionByIdArgs() { diff --git a/sdk/dotnet/Authorization/ScopeAccessReviewScheduleDefinitionById.cs b/sdk/dotnet/Authorization/ScopeAccessReviewScheduleDefinitionById.cs index f923a6576e54..cd94b89d7ce8 100644 --- a/sdk/dotnet/Authorization/ScopeAccessReviewScheduleDefinitionById.cs +++ b/sdk/dotnet/Authorization/ScopeAccessReviewScheduleDefinitionById.cs @@ -16,12 +16,6 @@ namespace Pulumi.AzureNative.Authorization [AzureNativeResourceType("azure-native:authorization:ScopeAccessReviewScheduleDefinitionById")] public partial class ScopeAccessReviewScheduleDefinitionById : global::Pulumi.CustomResource { - /// - /// The role assignment state eligible/active to review - /// - [Output("assignmentState")] - public Output AssignmentState { get; private set; } = null!; - /// /// Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. /// @@ -64,48 +58,6 @@ public partial class ScopeAccessReviewScheduleDefinitionById : global::Pulumi.Cu [Output("displayName")] public Output DisplayName { get; private set; } = null!; - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Output("endDate")] - public Output EndDate { get; private set; } = null!; - - /// - /// This is used to indicate the resource id(s) to exclude - /// - [Output("excludeResourceId")] - public Output ExcludeResourceId { get; private set; } = null!; - - /// - /// This is used to indicate the role definition id(s) to exclude - /// - [Output("excludeRoleDefinitionId")] - public Output ExcludeRoleDefinitionId { get; private set; } = null!; - - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - [Output("expandNestedMemberships")] - public Output ExpandNestedMemberships { get; private set; } = null!; - - /// - /// Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - /// - [Output("inactiveDuration")] - public Output InactiveDuration { get; private set; } = null!; - - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - [Output("includeAccessBelowResource")] - public Output IncludeAccessBelowResource { get; private set; } = null!; - - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - [Output("includeInheritedAccess")] - public Output IncludeInheritedAccess { get; private set; } = null!; - /// /// The duration in days for an instance. /// @@ -142,12 +94,6 @@ public partial class ScopeAccessReviewScheduleDefinitionById : global::Pulumi.Cu [Output("name")] public Output Name { get; private set; } = null!; - /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - [Output("numberOfOccurrences")] - public Output NumberOfOccurrences { get; private set; } = null!; - /// /// The identity id /// @@ -161,11 +107,17 @@ public partial class ScopeAccessReviewScheduleDefinitionById : global::Pulumi.Cu public Output PrincipalName { get; private set; } = null!; /// - /// The identity type user/servicePrincipal to review + /// The identity type : user/servicePrincipal /// [Output("principalType")] public Output PrincipalType { get; private set; } = null!; + /// + /// Access Review schedule definition recurrence range. + /// + [Output("range")] + public Output Range { get; private set; } = null!; + /// /// Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) /// @@ -184,12 +136,6 @@ public partial class ScopeAccessReviewScheduleDefinitionById : global::Pulumi.Cu [Output("reminderNotificationsEnabled")] public Output ReminderNotificationsEnabled { get; private set; } = null!; - /// - /// ResourceId in which this review is getting created - /// - [Output("resourceId")] - public Output ResourceId { get; private set; } = null!; - /// /// This is the collection of reviewers. /// @@ -203,16 +149,10 @@ public partial class ScopeAccessReviewScheduleDefinitionById : global::Pulumi.Cu public Output ReviewersType { get; private set; } = null!; /// - /// This is used to indicate the role being reviewed - /// - [Output("roleDefinitionId")] - public Output RoleDefinitionId { get; private set; } = null!; - - /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + /// This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. /// - [Output("startDate")] - public Output StartDate { get; private set; } = null!; + [Output("scope")] + public Output Scope { get; private set; } = null!; /// /// This read-only field specifies the status of an accessReview. @@ -329,12 +269,6 @@ public InputList BackupReviewers [Input("displayName")] public Input? DisplayName { get; set; } - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Input("endDate")] - public Input? EndDate { get; set; } - /// /// This is used to indicate the resource id(s) to exclude /// @@ -408,10 +342,10 @@ public InputList Instances public Input? MailNotificationsEnabled { get; set; } /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. + /// Access Review schedule definition recurrence range. /// - [Input("numberOfOccurrences")] - public Input? NumberOfOccurrences { get; set; } + [Input("range")] + public Input? Range { get; set; } /// /// Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) @@ -456,16 +390,10 @@ public InputList Reviewers public Input Scope { get; set; } = null!; /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - [Input("startDate")] - public Input? StartDate { get; set; } - - /// - /// The recurrence range type. The possible values are: endDate, noEnd, numbered. + /// The recurrence type : weekly, monthly, etc. /// [Input("type")] - public InputUnion? Type { get; set; } + public InputUnion? Type { get; set; } public ScopeAccessReviewScheduleDefinitionByIdArgs() { diff --git a/sdk/dotnet/Authorization/V20211201Preview/AccessReviewHistoryDefinitionById.cs b/sdk/dotnet/Authorization/V20211201Preview/AccessReviewHistoryDefinitionById.cs index 4fbeeb3c432e..31ddbaee9b36 100644 --- a/sdk/dotnet/Authorization/V20211201Preview/AccessReviewHistoryDefinitionById.cs +++ b/sdk/dotnet/Authorization/V20211201Preview/AccessReviewHistoryDefinitionById.cs @@ -33,12 +33,6 @@ public partial class AccessReviewHistoryDefinitionById : global::Pulumi.CustomRe [Output("displayName")] public Output DisplayName { get; private set; } = null!; - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Output("endDate")] - public Output EndDate { get; private set; } = null!; - /// /// Set of access review history instances for this history definition. /// @@ -57,12 +51,6 @@ public partial class AccessReviewHistoryDefinitionById : global::Pulumi.CustomRe [Output("name")] public Output Name { get; private set; } = null!; - /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - [Output("numberOfOccurrences")] - public Output NumberOfOccurrences { get; private set; } = null!; - /// /// The identity id /// @@ -81,6 +69,12 @@ public partial class AccessReviewHistoryDefinitionById : global::Pulumi.CustomRe [Output("principalType")] public Output PrincipalType { get; private set; } = null!; + /// + /// Access Review History Definition recurrence settings. + /// + [Output("range")] + public Output Range { get; private set; } = null!; + /// /// Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. /// @@ -99,12 +93,6 @@ public partial class AccessReviewHistoryDefinitionById : global::Pulumi.CustomRe [Output("scopes")] public Output> Scopes { get; private set; } = null!; - /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - [Output("startDate")] - public Output StartDate { get; private set; } = null!; - /// /// This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. /// @@ -191,12 +179,6 @@ public sealed class AccessReviewHistoryDefinitionByIdArgs : global::Pulumi.Resou [Input("displayName")] public Input? DisplayName { get; set; } - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Input("endDate")] - public Input? EndDate { get; set; } - /// /// The id of the access review history definition. /// @@ -222,10 +204,10 @@ public InputList Instances public Input? Interval { get; set; } /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. + /// Access Review History Definition recurrence settings. /// - [Input("numberOfOccurrences")] - public Input? NumberOfOccurrences { get; set; } + [Input("range")] + public Input? Range { get; set; } [Input("scopes")] private InputList? _scopes; @@ -240,16 +222,10 @@ public InputList Scopes } /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - [Input("startDate")] - public Input? StartDate { get; set; } - - /// - /// The recurrence range type. The possible values are: endDate, noEnd, numbered. + /// The recurrence type : weekly, monthly, etc. /// [Input("type")] - public InputUnion? Type { get; set; } + public InputUnion? Type { get; set; } public AccessReviewHistoryDefinitionByIdArgs() { diff --git a/sdk/dotnet/Authorization/V20211201Preview/AccessReviewScheduleDefinitionById.cs b/sdk/dotnet/Authorization/V20211201Preview/AccessReviewScheduleDefinitionById.cs index 7a6766f44a4e..e3eb56d8f376 100644 --- a/sdk/dotnet/Authorization/V20211201Preview/AccessReviewScheduleDefinitionById.cs +++ b/sdk/dotnet/Authorization/V20211201Preview/AccessReviewScheduleDefinitionById.cs @@ -15,12 +15,6 @@ namespace Pulumi.AzureNative.Authorization.V20211201Preview [AzureNativeResourceType("azure-native:authorization/v20211201preview:AccessReviewScheduleDefinitionById")] public partial class AccessReviewScheduleDefinitionById : global::Pulumi.CustomResource { - /// - /// The role assignment state eligible/active to review - /// - [Output("assignmentState")] - public Output AssignmentState { get; private set; } = null!; - /// /// Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. /// @@ -63,48 +57,6 @@ public partial class AccessReviewScheduleDefinitionById : global::Pulumi.CustomR [Output("displayName")] public Output DisplayName { get; private set; } = null!; - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Output("endDate")] - public Output EndDate { get; private set; } = null!; - - /// - /// This is used to indicate the resource id(s) to exclude - /// - [Output("excludeResourceId")] - public Output ExcludeResourceId { get; private set; } = null!; - - /// - /// This is used to indicate the role definition id(s) to exclude - /// - [Output("excludeRoleDefinitionId")] - public Output ExcludeRoleDefinitionId { get; private set; } = null!; - - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - [Output("expandNestedMemberships")] - public Output ExpandNestedMemberships { get; private set; } = null!; - - /// - /// Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - /// - [Output("inactiveDuration")] - public Output InactiveDuration { get; private set; } = null!; - - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - [Output("includeAccessBelowResource")] - public Output IncludeAccessBelowResource { get; private set; } = null!; - - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - [Output("includeInheritedAccess")] - public Output IncludeInheritedAccess { get; private set; } = null!; - /// /// The duration in days for an instance. /// @@ -141,12 +93,6 @@ public partial class AccessReviewScheduleDefinitionById : global::Pulumi.CustomR [Output("name")] public Output Name { get; private set; } = null!; - /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - [Output("numberOfOccurrences")] - public Output NumberOfOccurrences { get; private set; } = null!; - /// /// The identity id /// @@ -160,11 +106,17 @@ public partial class AccessReviewScheduleDefinitionById : global::Pulumi.CustomR public Output PrincipalName { get; private set; } = null!; /// - /// The identity type user/servicePrincipal to review + /// The identity type : user/servicePrincipal /// [Output("principalType")] public Output PrincipalType { get; private set; } = null!; + /// + /// Access Review schedule definition recurrence range. + /// + [Output("range")] + public Output Range { get; private set; } = null!; + /// /// Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) /// @@ -183,12 +135,6 @@ public partial class AccessReviewScheduleDefinitionById : global::Pulumi.CustomR [Output("reminderNotificationsEnabled")] public Output ReminderNotificationsEnabled { get; private set; } = null!; - /// - /// ResourceId in which this review is getting created - /// - [Output("resourceId")] - public Output ResourceId { get; private set; } = null!; - /// /// This is the collection of reviewers. /// @@ -202,16 +148,10 @@ public partial class AccessReviewScheduleDefinitionById : global::Pulumi.CustomR public Output ReviewersType { get; private set; } = null!; /// - /// This is used to indicate the role being reviewed - /// - [Output("roleDefinitionId")] - public Output RoleDefinitionId { get; private set; } = null!; - - /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + /// This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. /// - [Output("startDate")] - public Output StartDate { get; private set; } = null!; + [Output("scope")] + public Output Scope { get; private set; } = null!; /// /// This read-only field specifies the status of an accessReview. @@ -332,12 +272,6 @@ public InputList BackupReviewers [Input("displayName")] public Input? DisplayName { get; set; } - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Input("endDate")] - public Input? EndDate { get; set; } - /// /// This is used to indicate the resource id(s) to exclude /// @@ -411,10 +345,10 @@ public InputList Instances public Input? MailNotificationsEnabled { get; set; } /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. + /// Access Review schedule definition recurrence range. /// - [Input("numberOfOccurrences")] - public Input? NumberOfOccurrences { get; set; } + [Input("range")] + public Input? Range { get; set; } /// /// Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) @@ -453,16 +387,10 @@ public InputList Reviewers public Input? ScheduleDefinitionId { get; set; } /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - [Input("startDate")] - public Input? StartDate { get; set; } - - /// - /// The recurrence range type. The possible values are: endDate, noEnd, numbered. + /// The recurrence type : weekly, monthly, etc. /// [Input("type")] - public InputUnion? Type { get; set; } + public InputUnion? Type { get; set; } public AccessReviewScheduleDefinitionByIdArgs() { diff --git a/sdk/dotnet/Authorization/V20211201Preview/GetAccessReviewHistoryDefinitionById.cs b/sdk/dotnet/Authorization/V20211201Preview/GetAccessReviewHistoryDefinitionById.cs index 3065c7b2dfc5..ed0d3c2f70b1 100644 --- a/sdk/dotnet/Authorization/V20211201Preview/GetAccessReviewHistoryDefinitionById.cs +++ b/sdk/dotnet/Authorization/V20211201Preview/GetAccessReviewHistoryDefinitionById.cs @@ -70,10 +70,6 @@ public sealed class GetAccessReviewHistoryDefinitionByIdResult /// public readonly string? DisplayName; /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - public readonly string? EndDate; - /// /// The access review history definition id. /// public readonly string Id; @@ -90,10 +86,6 @@ public sealed class GetAccessReviewHistoryDefinitionByIdResult /// public readonly string Name; /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - public readonly int? NumberOfOccurrences; - /// /// The identity id /// public readonly string PrincipalId; @@ -106,6 +98,10 @@ public sealed class GetAccessReviewHistoryDefinitionByIdResult /// public readonly string PrincipalType; /// + /// Access Review History Definition recurrence settings. + /// + public readonly Outputs.AccessReviewRecurrenceRangeResponse? Range; + /// /// Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. /// public readonly string ReviewHistoryPeriodEndDateTime; @@ -118,10 +114,6 @@ public sealed class GetAccessReviewHistoryDefinitionByIdResult /// public readonly ImmutableArray Scopes; /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - public readonly string? StartDate; - /// /// This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. /// public readonly string Status; @@ -142,8 +134,6 @@ private GetAccessReviewHistoryDefinitionByIdResult( string? displayName, - string? endDate, - string id, ImmutableArray instances, @@ -152,22 +142,20 @@ private GetAccessReviewHistoryDefinitionByIdResult( string name, - int? numberOfOccurrences, - string principalId, string principalName, string principalType, + Outputs.AccessReviewRecurrenceRangeResponse? range, + string reviewHistoryPeriodEndDateTime, string reviewHistoryPeriodStartDateTime, ImmutableArray scopes, - string? startDate, - string status, string type, @@ -177,19 +165,17 @@ private GetAccessReviewHistoryDefinitionByIdResult( CreatedDateTime = createdDateTime; Decisions = decisions; DisplayName = displayName; - EndDate = endDate; Id = id; Instances = instances; Interval = interval; Name = name; - NumberOfOccurrences = numberOfOccurrences; PrincipalId = principalId; PrincipalName = principalName; PrincipalType = principalType; + Range = range; ReviewHistoryPeriodEndDateTime = reviewHistoryPeriodEndDateTime; ReviewHistoryPeriodStartDateTime = reviewHistoryPeriodStartDateTime; Scopes = scopes; - StartDate = startDate; Status = status; Type = type; UserPrincipalName = userPrincipalName; diff --git a/sdk/dotnet/Authorization/V20211201Preview/GetAccessReviewScheduleDefinitionById.cs b/sdk/dotnet/Authorization/V20211201Preview/GetAccessReviewScheduleDefinitionById.cs index f58beca9b83f..55420c304b7d 100644 --- a/sdk/dotnet/Authorization/V20211201Preview/GetAccessReviewScheduleDefinitionById.cs +++ b/sdk/dotnet/Authorization/V20211201Preview/GetAccessReviewScheduleDefinitionById.cs @@ -57,10 +57,6 @@ public GetAccessReviewScheduleDefinitionByIdInvokeArgs() [OutputType] public sealed class GetAccessReviewScheduleDefinitionByIdResult { - /// - /// The role assignment state eligible/active to review - /// - public readonly string AssignmentState; /// /// Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. /// @@ -90,38 +86,10 @@ public sealed class GetAccessReviewScheduleDefinitionByIdResult /// public readonly string? DisplayName; /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - public readonly string? EndDate; - /// - /// This is used to indicate the resource id(s) to exclude - /// - public readonly string? ExcludeResourceId; - /// - /// This is used to indicate the role definition id(s) to exclude - /// - public readonly string? ExcludeRoleDefinitionId; - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - public readonly bool? ExpandNestedMemberships; - /// /// The access review schedule definition id. /// public readonly string Id; /// - /// Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - /// - public readonly string? InactiveDuration; - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - public readonly bool? IncludeAccessBelowResource; - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - public readonly bool? IncludeInheritedAccess; - /// /// The duration in days for an instance. /// public readonly int? InstanceDurationInDays; @@ -146,10 +114,6 @@ public sealed class GetAccessReviewScheduleDefinitionByIdResult /// public readonly string Name; /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - public readonly int? NumberOfOccurrences; - /// /// The identity id /// public readonly string PrincipalId; @@ -158,10 +122,14 @@ public sealed class GetAccessReviewScheduleDefinitionByIdResult /// public readonly string PrincipalName; /// - /// The identity type user/servicePrincipal to review + /// The identity type : user/servicePrincipal /// public readonly string PrincipalType; /// + /// Access Review schedule definition recurrence range. + /// + public readonly Outputs.AccessReviewRecurrenceRangeResponse? Range; + /// /// Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) /// public readonly string? RecommendationLookBackDuration; @@ -174,10 +142,6 @@ public sealed class GetAccessReviewScheduleDefinitionByIdResult /// public readonly bool? ReminderNotificationsEnabled; /// - /// ResourceId in which this review is getting created - /// - public readonly string ResourceId; - /// /// This is the collection of reviewers. /// public readonly ImmutableArray Reviewers; @@ -186,13 +150,9 @@ public sealed class GetAccessReviewScheduleDefinitionByIdResult /// public readonly string ReviewersType; /// - /// This is used to indicate the role being reviewed + /// This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. /// - public readonly string RoleDefinitionId; - /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - public readonly string? StartDate; + public readonly Outputs.AccessReviewScopeResponse Scope; /// /// This read-only field specifies the status of an accessReview. /// @@ -208,8 +168,6 @@ public sealed class GetAccessReviewScheduleDefinitionByIdResult [OutputConstructor] private GetAccessReviewScheduleDefinitionByIdResult( - string assignmentState, - bool? autoApplyDecisionsEnabled, ImmutableArray backupReviewers, @@ -224,22 +182,8 @@ private GetAccessReviewScheduleDefinitionByIdResult( string? displayName, - string? endDate, - - string? excludeResourceId, - - string? excludeRoleDefinitionId, - - bool? expandNestedMemberships, - string id, - string? inactiveDuration, - - bool? includeAccessBelowResource, - - bool? includeInheritedAccess, - int? instanceDurationInDays, ImmutableArray instances, @@ -252,29 +196,25 @@ private GetAccessReviewScheduleDefinitionByIdResult( string name, - int? numberOfOccurrences, - string principalId, string principalName, string principalType, + Outputs.AccessReviewRecurrenceRangeResponse? range, + string? recommendationLookBackDuration, bool? recommendationsEnabled, bool? reminderNotificationsEnabled, - string resourceId, - ImmutableArray reviewers, string reviewersType, - string roleDefinitionId, - - string? startDate, + Outputs.AccessReviewScopeResponse scope, string status, @@ -282,7 +222,6 @@ private GetAccessReviewScheduleDefinitionByIdResult( string userPrincipalName) { - AssignmentState = assignmentState; AutoApplyDecisionsEnabled = autoApplyDecisionsEnabled; BackupReviewers = backupReviewers; DefaultDecision = defaultDecision; @@ -290,32 +229,23 @@ private GetAccessReviewScheduleDefinitionByIdResult( DescriptionForAdmins = descriptionForAdmins; DescriptionForReviewers = descriptionForReviewers; DisplayName = displayName; - EndDate = endDate; - ExcludeResourceId = excludeResourceId; - ExcludeRoleDefinitionId = excludeRoleDefinitionId; - ExpandNestedMemberships = expandNestedMemberships; Id = id; - InactiveDuration = inactiveDuration; - IncludeAccessBelowResource = includeAccessBelowResource; - IncludeInheritedAccess = includeInheritedAccess; InstanceDurationInDays = instanceDurationInDays; Instances = instances; Interval = interval; JustificationRequiredOnApproval = justificationRequiredOnApproval; MailNotificationsEnabled = mailNotificationsEnabled; Name = name; - NumberOfOccurrences = numberOfOccurrences; PrincipalId = principalId; PrincipalName = principalName; PrincipalType = principalType; + Range = range; RecommendationLookBackDuration = recommendationLookBackDuration; RecommendationsEnabled = recommendationsEnabled; ReminderNotificationsEnabled = reminderNotificationsEnabled; - ResourceId = resourceId; Reviewers = reviewers; ReviewersType = reviewersType; - RoleDefinitionId = roleDefinitionId; - StartDate = startDate; + Scope = scope; Status = status; Type = type; UserPrincipalName = userPrincipalName; diff --git a/sdk/dotnet/Authorization/V20211201Preview/GetScopeAccessReviewHistoryDefinitionById.cs b/sdk/dotnet/Authorization/V20211201Preview/GetScopeAccessReviewHistoryDefinitionById.cs index 4561f36d276f..a7204ed4aaa8 100644 --- a/sdk/dotnet/Authorization/V20211201Preview/GetScopeAccessReviewHistoryDefinitionById.cs +++ b/sdk/dotnet/Authorization/V20211201Preview/GetScopeAccessReviewHistoryDefinitionById.cs @@ -82,10 +82,6 @@ public sealed class GetScopeAccessReviewHistoryDefinitionByIdResult /// public readonly string? DisplayName; /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - public readonly string? EndDate; - /// /// The access review history definition id. /// public readonly string Id; @@ -102,10 +98,6 @@ public sealed class GetScopeAccessReviewHistoryDefinitionByIdResult /// public readonly string Name; /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - public readonly int? NumberOfOccurrences; - /// /// The identity id /// public readonly string PrincipalId; @@ -118,6 +110,10 @@ public sealed class GetScopeAccessReviewHistoryDefinitionByIdResult /// public readonly string PrincipalType; /// + /// Access Review History Definition recurrence settings. + /// + public readonly Outputs.AccessReviewRecurrenceRangeResponse? Range; + /// /// Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. /// public readonly string ReviewHistoryPeriodEndDateTime; @@ -130,10 +126,6 @@ public sealed class GetScopeAccessReviewHistoryDefinitionByIdResult /// public readonly ImmutableArray Scopes; /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - public readonly string? StartDate; - /// /// This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. /// public readonly string Status; @@ -154,8 +146,6 @@ private GetScopeAccessReviewHistoryDefinitionByIdResult( string? displayName, - string? endDate, - string id, ImmutableArray instances, @@ -164,22 +154,20 @@ private GetScopeAccessReviewHistoryDefinitionByIdResult( string name, - int? numberOfOccurrences, - string principalId, string principalName, string principalType, + Outputs.AccessReviewRecurrenceRangeResponse? range, + string reviewHistoryPeriodEndDateTime, string reviewHistoryPeriodStartDateTime, ImmutableArray scopes, - string? startDate, - string status, string type, @@ -189,19 +177,17 @@ private GetScopeAccessReviewHistoryDefinitionByIdResult( CreatedDateTime = createdDateTime; Decisions = decisions; DisplayName = displayName; - EndDate = endDate; Id = id; Instances = instances; Interval = interval; Name = name; - NumberOfOccurrences = numberOfOccurrences; PrincipalId = principalId; PrincipalName = principalName; PrincipalType = principalType; + Range = range; ReviewHistoryPeriodEndDateTime = reviewHistoryPeriodEndDateTime; ReviewHistoryPeriodStartDateTime = reviewHistoryPeriodStartDateTime; Scopes = scopes; - StartDate = startDate; Status = status; Type = type; UserPrincipalName = userPrincipalName; diff --git a/sdk/dotnet/Authorization/V20211201Preview/GetScopeAccessReviewScheduleDefinitionById.cs b/sdk/dotnet/Authorization/V20211201Preview/GetScopeAccessReviewScheduleDefinitionById.cs index 056265187418..6c8e4c18116d 100644 --- a/sdk/dotnet/Authorization/V20211201Preview/GetScopeAccessReviewScheduleDefinitionById.cs +++ b/sdk/dotnet/Authorization/V20211201Preview/GetScopeAccessReviewScheduleDefinitionById.cs @@ -69,10 +69,6 @@ public GetScopeAccessReviewScheduleDefinitionByIdInvokeArgs() [OutputType] public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult { - /// - /// The role assignment state eligible/active to review - /// - public readonly string AssignmentState; /// /// Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. /// @@ -102,38 +98,10 @@ public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult /// public readonly string? DisplayName; /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - public readonly string? EndDate; - /// - /// This is used to indicate the resource id(s) to exclude - /// - public readonly string? ExcludeResourceId; - /// - /// This is used to indicate the role definition id(s) to exclude - /// - public readonly string? ExcludeRoleDefinitionId; - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - public readonly bool? ExpandNestedMemberships; - /// /// The access review schedule definition id. /// public readonly string Id; /// - /// Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - /// - public readonly string? InactiveDuration; - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - public readonly bool? IncludeAccessBelowResource; - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - public readonly bool? IncludeInheritedAccess; - /// /// The duration in days for an instance. /// public readonly int? InstanceDurationInDays; @@ -158,10 +126,6 @@ public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult /// public readonly string Name; /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - public readonly int? NumberOfOccurrences; - /// /// The identity id /// public readonly string PrincipalId; @@ -170,10 +134,14 @@ public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult /// public readonly string PrincipalName; /// - /// The identity type user/servicePrincipal to review + /// The identity type : user/servicePrincipal /// public readonly string PrincipalType; /// + /// Access Review schedule definition recurrence range. + /// + public readonly Outputs.AccessReviewRecurrenceRangeResponse? Range; + /// /// Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) /// public readonly string? RecommendationLookBackDuration; @@ -186,10 +154,6 @@ public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult /// public readonly bool? ReminderNotificationsEnabled; /// - /// ResourceId in which this review is getting created - /// - public readonly string ResourceId; - /// /// This is the collection of reviewers. /// public readonly ImmutableArray Reviewers; @@ -198,13 +162,9 @@ public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult /// public readonly string ReviewersType; /// - /// This is used to indicate the role being reviewed + /// This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. /// - public readonly string RoleDefinitionId; - /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - public readonly string? StartDate; + public readonly Outputs.AccessReviewScopeResponse Scope; /// /// This read-only field specifies the status of an accessReview. /// @@ -220,8 +180,6 @@ public sealed class GetScopeAccessReviewScheduleDefinitionByIdResult [OutputConstructor] private GetScopeAccessReviewScheduleDefinitionByIdResult( - string assignmentState, - bool? autoApplyDecisionsEnabled, ImmutableArray backupReviewers, @@ -236,22 +194,8 @@ private GetScopeAccessReviewScheduleDefinitionByIdResult( string? displayName, - string? endDate, - - string? excludeResourceId, - - string? excludeRoleDefinitionId, - - bool? expandNestedMemberships, - string id, - string? inactiveDuration, - - bool? includeAccessBelowResource, - - bool? includeInheritedAccess, - int? instanceDurationInDays, ImmutableArray instances, @@ -264,29 +208,25 @@ private GetScopeAccessReviewScheduleDefinitionByIdResult( string name, - int? numberOfOccurrences, - string principalId, string principalName, string principalType, + Outputs.AccessReviewRecurrenceRangeResponse? range, + string? recommendationLookBackDuration, bool? recommendationsEnabled, bool? reminderNotificationsEnabled, - string resourceId, - ImmutableArray reviewers, string reviewersType, - string roleDefinitionId, - - string? startDate, + Outputs.AccessReviewScopeResponse scope, string status, @@ -294,7 +234,6 @@ private GetScopeAccessReviewScheduleDefinitionByIdResult( string userPrincipalName) { - AssignmentState = assignmentState; AutoApplyDecisionsEnabled = autoApplyDecisionsEnabled; BackupReviewers = backupReviewers; DefaultDecision = defaultDecision; @@ -302,32 +241,23 @@ private GetScopeAccessReviewScheduleDefinitionByIdResult( DescriptionForAdmins = descriptionForAdmins; DescriptionForReviewers = descriptionForReviewers; DisplayName = displayName; - EndDate = endDate; - ExcludeResourceId = excludeResourceId; - ExcludeRoleDefinitionId = excludeRoleDefinitionId; - ExpandNestedMemberships = expandNestedMemberships; Id = id; - InactiveDuration = inactiveDuration; - IncludeAccessBelowResource = includeAccessBelowResource; - IncludeInheritedAccess = includeInheritedAccess; InstanceDurationInDays = instanceDurationInDays; Instances = instances; Interval = interval; JustificationRequiredOnApproval = justificationRequiredOnApproval; MailNotificationsEnabled = mailNotificationsEnabled; Name = name; - NumberOfOccurrences = numberOfOccurrences; PrincipalId = principalId; PrincipalName = principalName; PrincipalType = principalType; + Range = range; RecommendationLookBackDuration = recommendationLookBackDuration; RecommendationsEnabled = recommendationsEnabled; ReminderNotificationsEnabled = reminderNotificationsEnabled; - ResourceId = resourceId; Reviewers = reviewers; ReviewersType = reviewersType; - RoleDefinitionId = roleDefinitionId; - StartDate = startDate; + Scope = scope; Status = status; Type = type; UserPrincipalName = userPrincipalName; diff --git a/sdk/dotnet/Authorization/V20211201Preview/Inputs/AccessReviewRecurrenceRangeArgs.cs b/sdk/dotnet/Authorization/V20211201Preview/Inputs/AccessReviewRecurrenceRangeArgs.cs new file mode 100644 index 000000000000..55e36cbc17e9 --- /dev/null +++ b/sdk/dotnet/Authorization/V20211201Preview/Inputs/AccessReviewRecurrenceRangeArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Authorization.V20211201Preview.Inputs +{ + + /// + /// Recurrence Range of an Access Review Schedule Definition. + /// + public sealed class AccessReviewRecurrenceRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// The DateTime when the review is scheduled to end. Required if type is endDate + /// + [Input("endDate")] + public Input? EndDate { get; set; } + + /// + /// The number of times to repeat the access review. Required and must be positive if type is numbered. + /// + [Input("numberOfOccurrences")] + public Input? NumberOfOccurrences { get; set; } + + /// + /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + /// + [Input("startDate")] + public Input? StartDate { get; set; } + + /// + /// The recurrence range type. The possible values are: endDate, noEnd, numbered. + /// + [Input("type")] + public InputUnion? Type { get; set; } + + public AccessReviewRecurrenceRangeArgs() + { + } + public static new AccessReviewRecurrenceRangeArgs Empty => new AccessReviewRecurrenceRangeArgs(); + } +} diff --git a/sdk/dotnet/Authorization/V20211201Preview/Outputs/AccessReviewRecurrenceRangeResponse.cs b/sdk/dotnet/Authorization/V20211201Preview/Outputs/AccessReviewRecurrenceRangeResponse.cs new file mode 100644 index 000000000000..ed2a736f700f --- /dev/null +++ b/sdk/dotnet/Authorization/V20211201Preview/Outputs/AccessReviewRecurrenceRangeResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Authorization.V20211201Preview.Outputs +{ + + /// + /// Recurrence Range of an Access Review Schedule Definition. + /// + [OutputType] + public sealed class AccessReviewRecurrenceRangeResponse + { + /// + /// The DateTime when the review is scheduled to end. Required if type is endDate + /// + public readonly string? EndDate; + /// + /// The number of times to repeat the access review. Required and must be positive if type is numbered. + /// + public readonly int? NumberOfOccurrences; + /// + /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + /// + public readonly string? StartDate; + /// + /// The recurrence range type. The possible values are: endDate, noEnd, numbered. + /// + public readonly string? Type; + + [OutputConstructor] + private AccessReviewRecurrenceRangeResponse( + string? endDate, + + int? numberOfOccurrences, + + string? startDate, + + string? type) + { + EndDate = endDate; + NumberOfOccurrences = numberOfOccurrences; + StartDate = startDate; + Type = type; + } + } +} diff --git a/sdk/dotnet/Authorization/V20211201Preview/ScopeAccessReviewHistoryDefinitionById.cs b/sdk/dotnet/Authorization/V20211201Preview/ScopeAccessReviewHistoryDefinitionById.cs index cb9da41963dd..9e334fd90abf 100644 --- a/sdk/dotnet/Authorization/V20211201Preview/ScopeAccessReviewHistoryDefinitionById.cs +++ b/sdk/dotnet/Authorization/V20211201Preview/ScopeAccessReviewHistoryDefinitionById.cs @@ -33,12 +33,6 @@ public partial class ScopeAccessReviewHistoryDefinitionById : global::Pulumi.Cus [Output("displayName")] public Output DisplayName { get; private set; } = null!; - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Output("endDate")] - public Output EndDate { get; private set; } = null!; - /// /// Set of access review history instances for this history definition. /// @@ -57,12 +51,6 @@ public partial class ScopeAccessReviewHistoryDefinitionById : global::Pulumi.Cus [Output("name")] public Output Name { get; private set; } = null!; - /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - [Output("numberOfOccurrences")] - public Output NumberOfOccurrences { get; private set; } = null!; - /// /// The identity id /// @@ -81,6 +69,12 @@ public partial class ScopeAccessReviewHistoryDefinitionById : global::Pulumi.Cus [Output("principalType")] public Output PrincipalType { get; private set; } = null!; + /// + /// Access Review History Definition recurrence settings. + /// + [Output("range")] + public Output Range { get; private set; } = null!; + /// /// Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. /// @@ -99,12 +93,6 @@ public partial class ScopeAccessReviewHistoryDefinitionById : global::Pulumi.Cus [Output("scopes")] public Output> Scopes { get; private set; } = null!; - /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - [Output("startDate")] - public Output StartDate { get; private set; } = null!; - /// /// This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. /// @@ -190,12 +178,6 @@ public sealed class ScopeAccessReviewHistoryDefinitionByIdArgs : global::Pulumi. [Input("displayName")] public Input? DisplayName { get; set; } - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Input("endDate")] - public Input? EndDate { get; set; } - /// /// The id of the access review history definition. /// @@ -221,10 +203,10 @@ public InputList Instances public Input? Interval { get; set; } /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. + /// Access Review History Definition recurrence settings. /// - [Input("numberOfOccurrences")] - public Input? NumberOfOccurrences { get; set; } + [Input("range")] + public Input? Range { get; set; } /// /// The scope of the resource. @@ -245,16 +227,10 @@ public InputList Scopes } /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - [Input("startDate")] - public Input? StartDate { get; set; } - - /// - /// The recurrence range type. The possible values are: endDate, noEnd, numbered. + /// The recurrence type : weekly, monthly, etc. /// [Input("type")] - public InputUnion? Type { get; set; } + public InputUnion? Type { get; set; } public ScopeAccessReviewHistoryDefinitionByIdArgs() { diff --git a/sdk/dotnet/Authorization/V20211201Preview/ScopeAccessReviewScheduleDefinitionById.cs b/sdk/dotnet/Authorization/V20211201Preview/ScopeAccessReviewScheduleDefinitionById.cs index 4682d48d1940..79e35b6c777a 100644 --- a/sdk/dotnet/Authorization/V20211201Preview/ScopeAccessReviewScheduleDefinitionById.cs +++ b/sdk/dotnet/Authorization/V20211201Preview/ScopeAccessReviewScheduleDefinitionById.cs @@ -15,12 +15,6 @@ namespace Pulumi.AzureNative.Authorization.V20211201Preview [AzureNativeResourceType("azure-native:authorization/v20211201preview:ScopeAccessReviewScheduleDefinitionById")] public partial class ScopeAccessReviewScheduleDefinitionById : global::Pulumi.CustomResource { - /// - /// The role assignment state eligible/active to review - /// - [Output("assignmentState")] - public Output AssignmentState { get; private set; } = null!; - /// /// Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. /// @@ -63,48 +57,6 @@ public partial class ScopeAccessReviewScheduleDefinitionById : global::Pulumi.Cu [Output("displayName")] public Output DisplayName { get; private set; } = null!; - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Output("endDate")] - public Output EndDate { get; private set; } = null!; - - /// - /// This is used to indicate the resource id(s) to exclude - /// - [Output("excludeResourceId")] - public Output ExcludeResourceId { get; private set; } = null!; - - /// - /// This is used to indicate the role definition id(s) to exclude - /// - [Output("excludeRoleDefinitionId")] - public Output ExcludeRoleDefinitionId { get; private set; } = null!; - - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - [Output("expandNestedMemberships")] - public Output ExpandNestedMemberships { get; private set; } = null!; - - /// - /// Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - /// - [Output("inactiveDuration")] - public Output InactiveDuration { get; private set; } = null!; - - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - [Output("includeAccessBelowResource")] - public Output IncludeAccessBelowResource { get; private set; } = null!; - - /// - /// Flag to indicate whether to expand nested memberships or not. - /// - [Output("includeInheritedAccess")] - public Output IncludeInheritedAccess { get; private set; } = null!; - /// /// The duration in days for an instance. /// @@ -141,12 +93,6 @@ public partial class ScopeAccessReviewScheduleDefinitionById : global::Pulumi.Cu [Output("name")] public Output Name { get; private set; } = null!; - /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. - /// - [Output("numberOfOccurrences")] - public Output NumberOfOccurrences { get; private set; } = null!; - /// /// The identity id /// @@ -160,11 +106,17 @@ public partial class ScopeAccessReviewScheduleDefinitionById : global::Pulumi.Cu public Output PrincipalName { get; private set; } = null!; /// - /// The identity type user/servicePrincipal to review + /// The identity type : user/servicePrincipal /// [Output("principalType")] public Output PrincipalType { get; private set; } = null!; + /// + /// Access Review schedule definition recurrence range. + /// + [Output("range")] + public Output Range { get; private set; } = null!; + /// /// Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) /// @@ -183,12 +135,6 @@ public partial class ScopeAccessReviewScheduleDefinitionById : global::Pulumi.Cu [Output("reminderNotificationsEnabled")] public Output ReminderNotificationsEnabled { get; private set; } = null!; - /// - /// ResourceId in which this review is getting created - /// - [Output("resourceId")] - public Output ResourceId { get; private set; } = null!; - /// /// This is the collection of reviewers. /// @@ -202,16 +148,10 @@ public partial class ScopeAccessReviewScheduleDefinitionById : global::Pulumi.Cu public Output ReviewersType { get; private set; } = null!; /// - /// This is used to indicate the role being reviewed - /// - [Output("roleDefinitionId")] - public Output RoleDefinitionId { get; private set; } = null!; - - /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + /// This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. /// - [Output("startDate")] - public Output StartDate { get; private set; } = null!; + [Output("scope")] + public Output Scope { get; private set; } = null!; /// /// This read-only field specifies the status of an accessReview. @@ -328,12 +268,6 @@ public InputList BackupReviewers [Input("displayName")] public Input? DisplayName { get; set; } - /// - /// The DateTime when the review is scheduled to end. Required if type is endDate - /// - [Input("endDate")] - public Input? EndDate { get; set; } - /// /// This is used to indicate the resource id(s) to exclude /// @@ -407,10 +341,10 @@ public InputList Instances public Input? MailNotificationsEnabled { get; set; } /// - /// The number of times to repeat the access review. Required and must be positive if type is numbered. + /// Access Review schedule definition recurrence range. /// - [Input("numberOfOccurrences")] - public Input? NumberOfOccurrences { get; set; } + [Input("range")] + public Input? Range { get; set; } /// /// Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) @@ -455,16 +389,10 @@ public InputList Reviewers public Input Scope { get; set; } = null!; /// - /// The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - /// - [Input("startDate")] - public Input? StartDate { get; set; } - - /// - /// The recurrence range type. The possible values are: endDate, noEnd, numbered. + /// The recurrence type : weekly, monthly, etc. /// [Input("type")] - public InputUnion? Type { get; set; } + public InputUnion? Type { get; set; } public ScopeAccessReviewScheduleDefinitionByIdArgs() { diff --git a/sdk/dotnet/DevHub/GetWorkflow.cs b/sdk/dotnet/DevHub/GetWorkflow.cs index b441011d3535..dd3992401a07 100644 --- a/sdk/dotnet/DevHub/GetWorkflow.cs +++ b/sdk/dotnet/DevHub/GetWorkflow.cs @@ -75,39 +75,14 @@ public GetWorkflowInvokeArgs() [OutputType] public sealed class GetWorkflowResult { - /// - /// Information on the azure container registry - /// - public readonly Outputs.ACRResponse? Acr; - /// - /// The Azure Kubernetes Cluster Resource the application will be deployed to. - /// - public readonly string? AksResourceId; /// /// The name of the app. /// public readonly string? AppName; /// - /// Determines the authorization status of requests. - /// - public readonly string AuthStatus; - /// - /// Repository Branch Name - /// - public readonly string? BranchName; - /// /// The version of the language image used for building the code in the generated dockerfile. /// public readonly string? BuilderVersion; - public readonly Outputs.DeploymentPropertiesResponse? DeploymentProperties; - /// - /// Path to Dockerfile Build Context within the repository. - /// - public readonly string? DockerBuildContext; - /// - /// Path to the Dockerfile within the repository. - /// - public readonly string? Dockerfile; /// /// The mode of generation to be used for generating Dockerfiles. /// @@ -121,6 +96,10 @@ public sealed class GetWorkflowResult /// public readonly string? GenerationLanguage; /// + /// Profile of a github workflow. + /// + public readonly Outputs.GitHubWorkflowProfileResponse? GithubWorkflowProfile; + /// /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} /// public readonly string Id; @@ -136,7 +115,6 @@ public sealed class GetWorkflowResult /// The version of the language image used for execution in the generated dockerfile. /// public readonly string? LanguageVersion; - public readonly Outputs.WorkflowRunResponse? LastWorkflowRun; /// /// The geo-location where the resource lives /// @@ -158,38 +136,14 @@ public sealed class GetWorkflowResult /// public readonly string Name; /// - /// Kubernetes namespace the application is deployed to. + /// The namespace to deploy the application to. /// public readonly string? Namespace; /// - /// The fields needed for OIDC with GitHub. - /// - public readonly Outputs.GitHubWorkflowProfileResponseOidcCredentials? OidcCredentials; - /// /// The port the application is exposed on. /// public readonly string? Port; /// - /// The status of the Pull Request submitted against the users repository. - /// - public readonly string PrStatus; - /// - /// The URL to the Pull Request submitted against the users repository. - /// - public readonly string PrURL; - /// - /// The number associated with the submitted pull request. - /// - public readonly int PullNumber; - /// - /// Repository Name - /// - public readonly string? RepositoryName; - /// - /// Repository Owner - /// - public readonly string? RepositoryOwner; - /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. /// public readonly Outputs.SystemDataResponse SystemData; @@ -204,30 +158,18 @@ public sealed class GetWorkflowResult [OutputConstructor] private GetWorkflowResult( - Outputs.ACRResponse? acr, - - string? aksResourceId, - string? appName, - string authStatus, - - string? branchName, - string? builderVersion, - Outputs.DeploymentPropertiesResponse? deploymentProperties, - - string? dockerBuildContext, - - string? dockerfile, - string? dockerfileGenerationMode, string? dockerfileOutputDirectory, string? generationLanguage, + Outputs.GitHubWorkflowProfileResponse? githubWorkflowProfile, + string id, string? imageName, @@ -236,8 +178,6 @@ private GetWorkflowResult( string? languageVersion, - Outputs.WorkflowRunResponse? lastWorkflowRun, - string location, string? manifestGenerationMode, @@ -250,56 +190,31 @@ private GetWorkflowResult( string? @namespace, - Outputs.GitHubWorkflowProfileResponseOidcCredentials? oidcCredentials, - string? port, - string prStatus, - - string prURL, - - int pullNumber, - - string? repositoryName, - - string? repositoryOwner, - Outputs.SystemDataResponse systemData, ImmutableDictionary? tags, string type) { - Acr = acr; - AksResourceId = aksResourceId; AppName = appName; - AuthStatus = authStatus; - BranchName = branchName; BuilderVersion = builderVersion; - DeploymentProperties = deploymentProperties; - DockerBuildContext = dockerBuildContext; - Dockerfile = dockerfile; DockerfileGenerationMode = dockerfileGenerationMode; DockerfileOutputDirectory = dockerfileOutputDirectory; GenerationLanguage = generationLanguage; + GithubWorkflowProfile = githubWorkflowProfile; Id = id; ImageName = imageName; ImageTag = imageTag; LanguageVersion = languageVersion; - LastWorkflowRun = lastWorkflowRun; Location = location; ManifestGenerationMode = manifestGenerationMode; ManifestOutputDirectory = manifestOutputDirectory; ManifestType = manifestType; Name = name; Namespace = @namespace; - OidcCredentials = oidcCredentials; Port = port; - PrStatus = prStatus; - PrURL = prURL; - PullNumber = pullNumber; - RepositoryName = repositoryName; - RepositoryOwner = repositoryOwner; SystemData = systemData; Tags = tags; Type = type; diff --git a/sdk/dotnet/DevHub/Inputs/GitHubWorkflowProfileArgs.cs b/sdk/dotnet/DevHub/Inputs/GitHubWorkflowProfileArgs.cs new file mode 100644 index 000000000000..a6c1081d03cf --- /dev/null +++ b/sdk/dotnet/DevHub/Inputs/GitHubWorkflowProfileArgs.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.DevHub.Inputs +{ + + /// + /// GitHub Workflow Profile + /// + public sealed class GitHubWorkflowProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Information on the azure container registry + /// + [Input("acr")] + public Input? Acr { get; set; } + + /// + /// The Azure Kubernetes Cluster Resource the application will be deployed to. + /// + [Input("aksResourceId")] + public Input? AksResourceId { get; set; } + + /// + /// Repository Branch Name + /// + [Input("branchName")] + public Input? BranchName { get; set; } + + [Input("deploymentProperties")] + public Input? DeploymentProperties { get; set; } + + /// + /// Path to Dockerfile Build Context within the repository. + /// + [Input("dockerBuildContext")] + public Input? DockerBuildContext { get; set; } + + /// + /// Path to the Dockerfile within the repository. + /// + [Input("dockerfile")] + public Input? Dockerfile { get; set; } + + [Input("lastWorkflowRun")] + public Input? LastWorkflowRun { get; set; } + + /// + /// Kubernetes namespace the application is deployed to. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// The fields needed for OIDC with GitHub. + /// + [Input("oidcCredentials")] + public Input? OidcCredentials { get; set; } + + /// + /// Repository Name + /// + [Input("repositoryName")] + public Input? RepositoryName { get; set; } + + /// + /// Repository Owner + /// + [Input("repositoryOwner")] + public Input? RepositoryOwner { get; set; } + + public GitHubWorkflowProfileArgs() + { + } + public static new GitHubWorkflowProfileArgs Empty => new GitHubWorkflowProfileArgs(); + } +} diff --git a/sdk/dotnet/DevHub/Outputs/GitHubWorkflowProfileResponse.cs b/sdk/dotnet/DevHub/Outputs/GitHubWorkflowProfileResponse.cs new file mode 100644 index 000000000000..dd647fc6cc3b --- /dev/null +++ b/sdk/dotnet/DevHub/Outputs/GitHubWorkflowProfileResponse.cs @@ -0,0 +1,123 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.DevHub.Outputs +{ + + /// + /// GitHub Workflow Profile + /// + [OutputType] + public sealed class GitHubWorkflowProfileResponse + { + /// + /// Information on the azure container registry + /// + public readonly Outputs.ACRResponse? Acr; + /// + /// The Azure Kubernetes Cluster Resource the application will be deployed to. + /// + public readonly string? AksResourceId; + /// + /// Determines the authorization status of requests. + /// + public readonly string AuthStatus; + /// + /// Repository Branch Name + /// + public readonly string? BranchName; + public readonly Outputs.DeploymentPropertiesResponse? DeploymentProperties; + /// + /// Path to Dockerfile Build Context within the repository. + /// + public readonly string? DockerBuildContext; + /// + /// Path to the Dockerfile within the repository. + /// + public readonly string? Dockerfile; + public readonly Outputs.WorkflowRunResponse? LastWorkflowRun; + /// + /// Kubernetes namespace the application is deployed to. + /// + public readonly string? Namespace; + /// + /// The fields needed for OIDC with GitHub. + /// + public readonly Outputs.GitHubWorkflowProfileResponseOidcCredentials? OidcCredentials; + /// + /// The status of the Pull Request submitted against the users repository. + /// + public readonly string PrStatus; + /// + /// The URL to the Pull Request submitted against the users repository. + /// + public readonly string PrURL; + /// + /// The number associated with the submitted pull request. + /// + public readonly int PullNumber; + /// + /// Repository Name + /// + public readonly string? RepositoryName; + /// + /// Repository Owner + /// + public readonly string? RepositoryOwner; + + [OutputConstructor] + private GitHubWorkflowProfileResponse( + Outputs.ACRResponse? acr, + + string? aksResourceId, + + string authStatus, + + string? branchName, + + Outputs.DeploymentPropertiesResponse? deploymentProperties, + + string? dockerBuildContext, + + string? dockerfile, + + Outputs.WorkflowRunResponse? lastWorkflowRun, + + string? @namespace, + + Outputs.GitHubWorkflowProfileResponseOidcCredentials? oidcCredentials, + + string prStatus, + + string prURL, + + int pullNumber, + + string? repositoryName, + + string? repositoryOwner) + { + Acr = acr; + AksResourceId = aksResourceId; + AuthStatus = authStatus; + BranchName = branchName; + DeploymentProperties = deploymentProperties; + DockerBuildContext = dockerBuildContext; + Dockerfile = dockerfile; + LastWorkflowRun = lastWorkflowRun; + Namespace = @namespace; + OidcCredentials = oidcCredentials; + PrStatus = prStatus; + PrURL = prURL; + PullNumber = pullNumber; + RepositoryName = repositoryName; + RepositoryOwner = repositoryOwner; + } + } +} diff --git a/sdk/dotnet/DevHub/V20221011Preview/GetWorkflow.cs b/sdk/dotnet/DevHub/V20221011Preview/GetWorkflow.cs index 86ff7cf091df..ac75746aba13 100644 --- a/sdk/dotnet/DevHub/V20221011Preview/GetWorkflow.cs +++ b/sdk/dotnet/DevHub/V20221011Preview/GetWorkflow.cs @@ -69,39 +69,14 @@ public GetWorkflowInvokeArgs() [OutputType] public sealed class GetWorkflowResult { - /// - /// Information on the azure container registry - /// - public readonly Outputs.ACRResponse? Acr; - /// - /// The Azure Kubernetes Cluster Resource the application will be deployed to. - /// - public readonly string? AksResourceId; /// /// The name of the app. /// public readonly string? AppName; /// - /// Determines the authorization status of requests. - /// - public readonly string AuthStatus; - /// - /// Repository Branch Name - /// - public readonly string? BranchName; - /// /// The version of the language image used for building the code in the generated dockerfile. /// public readonly string? BuilderVersion; - public readonly Outputs.DeploymentPropertiesResponse? DeploymentProperties; - /// - /// Path to Dockerfile Build Context within the repository. - /// - public readonly string? DockerBuildContext; - /// - /// Path to the Dockerfile within the repository. - /// - public readonly string? Dockerfile; /// /// The mode of generation to be used for generating Dockerfiles. /// @@ -115,6 +90,10 @@ public sealed class GetWorkflowResult /// public readonly string? GenerationLanguage; /// + /// Profile of a github workflow. + /// + public readonly Outputs.GitHubWorkflowProfileResponse? GithubWorkflowProfile; + /// /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} /// public readonly string Id; @@ -130,7 +109,6 @@ public sealed class GetWorkflowResult /// The version of the language image used for execution in the generated dockerfile. /// public readonly string? LanguageVersion; - public readonly Outputs.WorkflowRunResponse? LastWorkflowRun; /// /// The geo-location where the resource lives /// @@ -152,38 +130,14 @@ public sealed class GetWorkflowResult /// public readonly string Name; /// - /// Kubernetes namespace the application is deployed to. + /// The namespace to deploy the application to. /// public readonly string? Namespace; /// - /// The fields needed for OIDC with GitHub. - /// - public readonly Outputs.GitHubWorkflowProfileResponseOidcCredentials? OidcCredentials; - /// /// The port the application is exposed on. /// public readonly string? Port; /// - /// The status of the Pull Request submitted against the users repository. - /// - public readonly string PrStatus; - /// - /// The URL to the Pull Request submitted against the users repository. - /// - public readonly string PrURL; - /// - /// The number associated with the submitted pull request. - /// - public readonly int PullNumber; - /// - /// Repository Name - /// - public readonly string? RepositoryName; - /// - /// Repository Owner - /// - public readonly string? RepositoryOwner; - /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. /// public readonly Outputs.SystemDataResponse SystemData; @@ -198,30 +152,18 @@ public sealed class GetWorkflowResult [OutputConstructor] private GetWorkflowResult( - Outputs.ACRResponse? acr, - - string? aksResourceId, - string? appName, - string authStatus, - - string? branchName, - string? builderVersion, - Outputs.DeploymentPropertiesResponse? deploymentProperties, - - string? dockerBuildContext, - - string? dockerfile, - string? dockerfileGenerationMode, string? dockerfileOutputDirectory, string? generationLanguage, + Outputs.GitHubWorkflowProfileResponse? githubWorkflowProfile, + string id, string? imageName, @@ -230,8 +172,6 @@ private GetWorkflowResult( string? languageVersion, - Outputs.WorkflowRunResponse? lastWorkflowRun, - string location, string? manifestGenerationMode, @@ -244,56 +184,31 @@ private GetWorkflowResult( string? @namespace, - Outputs.GitHubWorkflowProfileResponseOidcCredentials? oidcCredentials, - string? port, - string prStatus, - - string prURL, - - int pullNumber, - - string? repositoryName, - - string? repositoryOwner, - Outputs.SystemDataResponse systemData, ImmutableDictionary? tags, string type) { - Acr = acr; - AksResourceId = aksResourceId; AppName = appName; - AuthStatus = authStatus; - BranchName = branchName; BuilderVersion = builderVersion; - DeploymentProperties = deploymentProperties; - DockerBuildContext = dockerBuildContext; - Dockerfile = dockerfile; DockerfileGenerationMode = dockerfileGenerationMode; DockerfileOutputDirectory = dockerfileOutputDirectory; GenerationLanguage = generationLanguage; + GithubWorkflowProfile = githubWorkflowProfile; Id = id; ImageName = imageName; ImageTag = imageTag; LanguageVersion = languageVersion; - LastWorkflowRun = lastWorkflowRun; Location = location; ManifestGenerationMode = manifestGenerationMode; ManifestOutputDirectory = manifestOutputDirectory; ManifestType = manifestType; Name = name; Namespace = @namespace; - OidcCredentials = oidcCredentials; Port = port; - PrStatus = prStatus; - PrURL = prURL; - PullNumber = pullNumber; - RepositoryName = repositoryName; - RepositoryOwner = repositoryOwner; SystemData = systemData; Tags = tags; Type = type; diff --git a/sdk/dotnet/DevHub/V20221011Preview/Inputs/GitHubWorkflowProfileArgs.cs b/sdk/dotnet/DevHub/V20221011Preview/Inputs/GitHubWorkflowProfileArgs.cs new file mode 100644 index 000000000000..e47401ee2898 --- /dev/null +++ b/sdk/dotnet/DevHub/V20221011Preview/Inputs/GitHubWorkflowProfileArgs.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.DevHub.V20221011Preview.Inputs +{ + + /// + /// GitHub Workflow Profile + /// + public sealed class GitHubWorkflowProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Information on the azure container registry + /// + [Input("acr")] + public Input? Acr { get; set; } + + /// + /// The Azure Kubernetes Cluster Resource the application will be deployed to. + /// + [Input("aksResourceId")] + public Input? AksResourceId { get; set; } + + /// + /// Repository Branch Name + /// + [Input("branchName")] + public Input? BranchName { get; set; } + + [Input("deploymentProperties")] + public Input? DeploymentProperties { get; set; } + + /// + /// Path to Dockerfile Build Context within the repository. + /// + [Input("dockerBuildContext")] + public Input? DockerBuildContext { get; set; } + + /// + /// Path to the Dockerfile within the repository. + /// + [Input("dockerfile")] + public Input? Dockerfile { get; set; } + + [Input("lastWorkflowRun")] + public Input? LastWorkflowRun { get; set; } + + /// + /// Kubernetes namespace the application is deployed to. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// The fields needed for OIDC with GitHub. + /// + [Input("oidcCredentials")] + public Input? OidcCredentials { get; set; } + + /// + /// Repository Name + /// + [Input("repositoryName")] + public Input? RepositoryName { get; set; } + + /// + /// Repository Owner + /// + [Input("repositoryOwner")] + public Input? RepositoryOwner { get; set; } + + public GitHubWorkflowProfileArgs() + { + } + public static new GitHubWorkflowProfileArgs Empty => new GitHubWorkflowProfileArgs(); + } +} diff --git a/sdk/dotnet/DevHub/V20221011Preview/Outputs/GitHubWorkflowProfileResponse.cs b/sdk/dotnet/DevHub/V20221011Preview/Outputs/GitHubWorkflowProfileResponse.cs new file mode 100644 index 000000000000..6e20d9e3716d --- /dev/null +++ b/sdk/dotnet/DevHub/V20221011Preview/Outputs/GitHubWorkflowProfileResponse.cs @@ -0,0 +1,123 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.DevHub.V20221011Preview.Outputs +{ + + /// + /// GitHub Workflow Profile + /// + [OutputType] + public sealed class GitHubWorkflowProfileResponse + { + /// + /// Information on the azure container registry + /// + public readonly Outputs.ACRResponse? Acr; + /// + /// The Azure Kubernetes Cluster Resource the application will be deployed to. + /// + public readonly string? AksResourceId; + /// + /// Determines the authorization status of requests. + /// + public readonly string AuthStatus; + /// + /// Repository Branch Name + /// + public readonly string? BranchName; + public readonly Outputs.DeploymentPropertiesResponse? DeploymentProperties; + /// + /// Path to Dockerfile Build Context within the repository. + /// + public readonly string? DockerBuildContext; + /// + /// Path to the Dockerfile within the repository. + /// + public readonly string? Dockerfile; + public readonly Outputs.WorkflowRunResponse? LastWorkflowRun; + /// + /// Kubernetes namespace the application is deployed to. + /// + public readonly string? Namespace; + /// + /// The fields needed for OIDC with GitHub. + /// + public readonly Outputs.GitHubWorkflowProfileResponseOidcCredentials? OidcCredentials; + /// + /// The status of the Pull Request submitted against the users repository. + /// + public readonly string PrStatus; + /// + /// The URL to the Pull Request submitted against the users repository. + /// + public readonly string PrURL; + /// + /// The number associated with the submitted pull request. + /// + public readonly int PullNumber; + /// + /// Repository Name + /// + public readonly string? RepositoryName; + /// + /// Repository Owner + /// + public readonly string? RepositoryOwner; + + [OutputConstructor] + private GitHubWorkflowProfileResponse( + Outputs.ACRResponse? acr, + + string? aksResourceId, + + string authStatus, + + string? branchName, + + Outputs.DeploymentPropertiesResponse? deploymentProperties, + + string? dockerBuildContext, + + string? dockerfile, + + Outputs.WorkflowRunResponse? lastWorkflowRun, + + string? @namespace, + + Outputs.GitHubWorkflowProfileResponseOidcCredentials? oidcCredentials, + + string prStatus, + + string prURL, + + int pullNumber, + + string? repositoryName, + + string? repositoryOwner) + { + Acr = acr; + AksResourceId = aksResourceId; + AuthStatus = authStatus; + BranchName = branchName; + DeploymentProperties = deploymentProperties; + DockerBuildContext = dockerBuildContext; + Dockerfile = dockerfile; + LastWorkflowRun = lastWorkflowRun; + Namespace = @namespace; + OidcCredentials = oidcCredentials; + PrStatus = prStatus; + PrURL = prURL; + PullNumber = pullNumber; + RepositoryName = repositoryName; + RepositoryOwner = repositoryOwner; + } + } +} diff --git a/sdk/dotnet/DevHub/V20221011Preview/Workflow.cs b/sdk/dotnet/DevHub/V20221011Preview/Workflow.cs index 29d18faa34e8..cc823e312b32 100644 --- a/sdk/dotnet/DevHub/V20221011Preview/Workflow.cs +++ b/sdk/dotnet/DevHub/V20221011Preview/Workflow.cs @@ -15,57 +15,18 @@ namespace Pulumi.AzureNative.DevHub.V20221011Preview [AzureNativeResourceType("azure-native:devhub/v20221011preview:Workflow")] public partial class Workflow : global::Pulumi.CustomResource { - /// - /// Information on the azure container registry - /// - [Output("acr")] - public Output Acr { get; private set; } = null!; - - /// - /// The Azure Kubernetes Cluster Resource the application will be deployed to. - /// - [Output("aksResourceId")] - public Output AksResourceId { get; private set; } = null!; - /// /// The name of the app. /// [Output("appName")] public Output AppName { get; private set; } = null!; - /// - /// Determines the authorization status of requests. - /// - [Output("authStatus")] - public Output AuthStatus { get; private set; } = null!; - - /// - /// Repository Branch Name - /// - [Output("branchName")] - public Output BranchName { get; private set; } = null!; - /// /// The version of the language image used for building the code in the generated dockerfile. /// [Output("builderVersion")] public Output BuilderVersion { get; private set; } = null!; - [Output("deploymentProperties")] - public Output DeploymentProperties { get; private set; } = null!; - - /// - /// Path to Dockerfile Build Context within the repository. - /// - [Output("dockerBuildContext")] - public Output DockerBuildContext { get; private set; } = null!; - - /// - /// Path to the Dockerfile within the repository. - /// - [Output("dockerfile")] - public Output Dockerfile { get; private set; } = null!; - /// /// The mode of generation to be used for generating Dockerfiles. /// @@ -84,6 +45,12 @@ public partial class Workflow : global::Pulumi.CustomResource [Output("generationLanguage")] public Output GenerationLanguage { get; private set; } = null!; + /// + /// Profile of a github workflow. + /// + [Output("githubWorkflowProfile")] + public Output GithubWorkflowProfile { get; private set; } = null!; + /// /// The name of the image to be generated. /// @@ -102,9 +69,6 @@ public partial class Workflow : global::Pulumi.CustomResource [Output("languageVersion")] public Output LanguageVersion { get; private set; } = null!; - [Output("lastWorkflowRun")] - public Output LastWorkflowRun { get; private set; } = null!; - /// /// The geo-location where the resource lives /// @@ -136,53 +100,17 @@ public partial class Workflow : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// Kubernetes namespace the application is deployed to. + /// The namespace to deploy the application to. /// [Output("namespace")] public Output Namespace { get; private set; } = null!; - /// - /// The fields needed for OIDC with GitHub. - /// - [Output("oidcCredentials")] - public Output OidcCredentials { get; private set; } = null!; - /// /// The port the application is exposed on. /// [Output("port")] public Output Port { get; private set; } = null!; - /// - /// The status of the Pull Request submitted against the users repository. - /// - [Output("prStatus")] - public Output PrStatus { get; private set; } = null!; - - /// - /// The URL to the Pull Request submitted against the users repository. - /// - [Output("prURL")] - public Output PrURL { get; private set; } = null!; - - /// - /// The number associated with the submitted pull request. - /// - [Output("pullNumber")] - public Output PullNumber { get; private set; } = null!; - - /// - /// Repository Name - /// - [Output("repositoryName")] - public Output RepositoryName { get; private set; } = null!; - - /// - /// Repository Owner - /// - [Output("repositoryOwner")] - public Output RepositoryOwner { get; private set; } = null!; - /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. /// @@ -252,51 +180,18 @@ public static Workflow Get(string name, Input id, CustomResourceOptions? public sealed class WorkflowArgs : global::Pulumi.ResourceArgs { - /// - /// Information on the azure container registry - /// - [Input("acr")] - public Input? Acr { get; set; } - - /// - /// The Azure Kubernetes Cluster Resource the application will be deployed to. - /// - [Input("aksResourceId")] - public Input? AksResourceId { get; set; } - /// /// The name of the app. /// [Input("appName")] public Input? AppName { get; set; } - /// - /// Repository Branch Name - /// - [Input("branchName")] - public Input? BranchName { get; set; } - /// /// The version of the language image used for building the code in the generated dockerfile. /// [Input("builderVersion")] public Input? BuilderVersion { get; set; } - [Input("deploymentProperties")] - public Input? DeploymentProperties { get; set; } - - /// - /// Path to Dockerfile Build Context within the repository. - /// - [Input("dockerBuildContext")] - public Input? DockerBuildContext { get; set; } - - /// - /// Path to the Dockerfile within the repository. - /// - [Input("dockerfile")] - public Input? Dockerfile { get; set; } - /// /// The mode of generation to be used for generating Dockerfiles. /// @@ -315,6 +210,12 @@ public sealed class WorkflowArgs : global::Pulumi.ResourceArgs [Input("generationLanguage")] public InputUnion? GenerationLanguage { get; set; } + /// + /// Profile of a github workflow. + /// + [Input("githubWorkflowProfile")] + public Input? GithubWorkflowProfile { get; set; } + /// /// The name of the image to be generated. /// @@ -333,9 +234,6 @@ public sealed class WorkflowArgs : global::Pulumi.ResourceArgs [Input("languageVersion")] public Input? LanguageVersion { get; set; } - [Input("lastWorkflowRun")] - public Input? LastWorkflowRun { get; set; } - /// /// The geo-location where the resource lives /// @@ -361,35 +259,17 @@ public sealed class WorkflowArgs : global::Pulumi.ResourceArgs public InputUnion? ManifestType { get; set; } /// - /// Kubernetes namespace the application is deployed to. + /// The namespace to deploy the application to. /// [Input("namespace")] public Input? Namespace { get; set; } - /// - /// The fields needed for OIDC with GitHub. - /// - [Input("oidcCredentials")] - public Input? OidcCredentials { get; set; } - /// /// The port the application is exposed on. /// [Input("port")] public Input? Port { get; set; } - /// - /// Repository Name - /// - [Input("repositoryName")] - public Input? RepositoryName { get; set; } - - /// - /// Repository Owner - /// - [Input("repositoryOwner")] - public Input? RepositoryOwner { get; set; } - /// /// The name of the resource group. The name is case insensitive. /// diff --git a/sdk/dotnet/DevHub/V20230801/GetWorkflow.cs b/sdk/dotnet/DevHub/V20230801/GetWorkflow.cs index 4ae4715fd0d7..518b22eebccd 100644 --- a/sdk/dotnet/DevHub/V20230801/GetWorkflow.cs +++ b/sdk/dotnet/DevHub/V20230801/GetWorkflow.cs @@ -69,39 +69,14 @@ public GetWorkflowInvokeArgs() [OutputType] public sealed class GetWorkflowResult { - /// - /// Information on the azure container registry - /// - public readonly Outputs.ACRResponse? Acr; - /// - /// The Azure Kubernetes Cluster Resource the application will be deployed to. - /// - public readonly string? AksResourceId; /// /// The name of the app. /// public readonly string? AppName; /// - /// Determines the authorization status of requests. - /// - public readonly string AuthStatus; - /// - /// Repository Branch Name - /// - public readonly string? BranchName; - /// /// The version of the language image used for building the code in the generated dockerfile. /// public readonly string? BuilderVersion; - public readonly Outputs.DeploymentPropertiesResponse? DeploymentProperties; - /// - /// Path to Dockerfile Build Context within the repository. - /// - public readonly string? DockerBuildContext; - /// - /// Path to the Dockerfile within the repository. - /// - public readonly string? Dockerfile; /// /// The mode of generation to be used for generating Dockerfiles. /// @@ -115,6 +90,10 @@ public sealed class GetWorkflowResult /// public readonly string? GenerationLanguage; /// + /// Profile of a github workflow. + /// + public readonly Outputs.GitHubWorkflowProfileResponse? GithubWorkflowProfile; + /// /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} /// public readonly string Id; @@ -130,7 +109,6 @@ public sealed class GetWorkflowResult /// The version of the language image used for execution in the generated dockerfile. /// public readonly string? LanguageVersion; - public readonly Outputs.WorkflowRunResponse? LastWorkflowRun; /// /// The geo-location where the resource lives /// @@ -152,38 +130,14 @@ public sealed class GetWorkflowResult /// public readonly string Name; /// - /// Kubernetes namespace the application is deployed to. + /// The namespace to deploy the application to. /// public readonly string? Namespace; /// - /// The fields needed for OIDC with GitHub. - /// - public readonly Outputs.GitHubWorkflowProfileResponseOidcCredentials? OidcCredentials; - /// /// The port the application is exposed on. /// public readonly string? Port; /// - /// The status of the Pull Request submitted against the users repository. - /// - public readonly string PrStatus; - /// - /// The URL to the Pull Request submitted against the users repository. - /// - public readonly string PrURL; - /// - /// The number associated with the submitted pull request. - /// - public readonly int PullNumber; - /// - /// Repository Name - /// - public readonly string? RepositoryName; - /// - /// Repository Owner - /// - public readonly string? RepositoryOwner; - /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. /// public readonly Outputs.SystemDataResponse SystemData; @@ -198,30 +152,18 @@ public sealed class GetWorkflowResult [OutputConstructor] private GetWorkflowResult( - Outputs.ACRResponse? acr, - - string? aksResourceId, - string? appName, - string authStatus, - - string? branchName, - string? builderVersion, - Outputs.DeploymentPropertiesResponse? deploymentProperties, - - string? dockerBuildContext, - - string? dockerfile, - string? dockerfileGenerationMode, string? dockerfileOutputDirectory, string? generationLanguage, + Outputs.GitHubWorkflowProfileResponse? githubWorkflowProfile, + string id, string? imageName, @@ -230,8 +172,6 @@ private GetWorkflowResult( string? languageVersion, - Outputs.WorkflowRunResponse? lastWorkflowRun, - string location, string? manifestGenerationMode, @@ -244,56 +184,31 @@ private GetWorkflowResult( string? @namespace, - Outputs.GitHubWorkflowProfileResponseOidcCredentials? oidcCredentials, - string? port, - string prStatus, - - string prURL, - - int pullNumber, - - string? repositoryName, - - string? repositoryOwner, - Outputs.SystemDataResponse systemData, ImmutableDictionary? tags, string type) { - Acr = acr; - AksResourceId = aksResourceId; AppName = appName; - AuthStatus = authStatus; - BranchName = branchName; BuilderVersion = builderVersion; - DeploymentProperties = deploymentProperties; - DockerBuildContext = dockerBuildContext; - Dockerfile = dockerfile; DockerfileGenerationMode = dockerfileGenerationMode; DockerfileOutputDirectory = dockerfileOutputDirectory; GenerationLanguage = generationLanguage; + GithubWorkflowProfile = githubWorkflowProfile; Id = id; ImageName = imageName; ImageTag = imageTag; LanguageVersion = languageVersion; - LastWorkflowRun = lastWorkflowRun; Location = location; ManifestGenerationMode = manifestGenerationMode; ManifestOutputDirectory = manifestOutputDirectory; ManifestType = manifestType; Name = name; Namespace = @namespace; - OidcCredentials = oidcCredentials; Port = port; - PrStatus = prStatus; - PrURL = prURL; - PullNumber = pullNumber; - RepositoryName = repositoryName; - RepositoryOwner = repositoryOwner; SystemData = systemData; Tags = tags; Type = type; diff --git a/sdk/dotnet/DevHub/V20230801/Inputs/GitHubWorkflowProfileArgs.cs b/sdk/dotnet/DevHub/V20230801/Inputs/GitHubWorkflowProfileArgs.cs new file mode 100644 index 000000000000..dd01daf69c01 --- /dev/null +++ b/sdk/dotnet/DevHub/V20230801/Inputs/GitHubWorkflowProfileArgs.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.DevHub.V20230801.Inputs +{ + + /// + /// GitHub Workflow Profile + /// + public sealed class GitHubWorkflowProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// Information on the azure container registry + /// + [Input("acr")] + public Input? Acr { get; set; } + + /// + /// The Azure Kubernetes Cluster Resource the application will be deployed to. + /// + [Input("aksResourceId")] + public Input? AksResourceId { get; set; } + + /// + /// Repository Branch Name + /// + [Input("branchName")] + public Input? BranchName { get; set; } + + [Input("deploymentProperties")] + public Input? DeploymentProperties { get; set; } + + /// + /// Path to Dockerfile Build Context within the repository. + /// + [Input("dockerBuildContext")] + public Input? DockerBuildContext { get; set; } + + /// + /// Path to the Dockerfile within the repository. + /// + [Input("dockerfile")] + public Input? Dockerfile { get; set; } + + [Input("lastWorkflowRun")] + public Input? LastWorkflowRun { get; set; } + + /// + /// Kubernetes namespace the application is deployed to. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// The fields needed for OIDC with GitHub. + /// + [Input("oidcCredentials")] + public Input? OidcCredentials { get; set; } + + /// + /// Repository Name + /// + [Input("repositoryName")] + public Input? RepositoryName { get; set; } + + /// + /// Repository Owner + /// + [Input("repositoryOwner")] + public Input? RepositoryOwner { get; set; } + + public GitHubWorkflowProfileArgs() + { + } + public static new GitHubWorkflowProfileArgs Empty => new GitHubWorkflowProfileArgs(); + } +} diff --git a/sdk/dotnet/DevHub/V20230801/Outputs/GitHubWorkflowProfileResponse.cs b/sdk/dotnet/DevHub/V20230801/Outputs/GitHubWorkflowProfileResponse.cs new file mode 100644 index 000000000000..b0d7a1041a93 --- /dev/null +++ b/sdk/dotnet/DevHub/V20230801/Outputs/GitHubWorkflowProfileResponse.cs @@ -0,0 +1,123 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.DevHub.V20230801.Outputs +{ + + /// + /// GitHub Workflow Profile + /// + [OutputType] + public sealed class GitHubWorkflowProfileResponse + { + /// + /// Information on the azure container registry + /// + public readonly Outputs.ACRResponse? Acr; + /// + /// The Azure Kubernetes Cluster Resource the application will be deployed to. + /// + public readonly string? AksResourceId; + /// + /// Determines the authorization status of requests. + /// + public readonly string AuthStatus; + /// + /// Repository Branch Name + /// + public readonly string? BranchName; + public readonly Outputs.DeploymentPropertiesResponse? DeploymentProperties; + /// + /// Path to Dockerfile Build Context within the repository. + /// + public readonly string? DockerBuildContext; + /// + /// Path to the Dockerfile within the repository. + /// + public readonly string? Dockerfile; + public readonly Outputs.WorkflowRunResponse? LastWorkflowRun; + /// + /// Kubernetes namespace the application is deployed to. + /// + public readonly string? Namespace; + /// + /// The fields needed for OIDC with GitHub. + /// + public readonly Outputs.GitHubWorkflowProfileResponseOidcCredentials? OidcCredentials; + /// + /// The status of the Pull Request submitted against the users repository. + /// + public readonly string PrStatus; + /// + /// The URL to the Pull Request submitted against the users repository. + /// + public readonly string PrURL; + /// + /// The number associated with the submitted pull request. + /// + public readonly int PullNumber; + /// + /// Repository Name + /// + public readonly string? RepositoryName; + /// + /// Repository Owner + /// + public readonly string? RepositoryOwner; + + [OutputConstructor] + private GitHubWorkflowProfileResponse( + Outputs.ACRResponse? acr, + + string? aksResourceId, + + string authStatus, + + string? branchName, + + Outputs.DeploymentPropertiesResponse? deploymentProperties, + + string? dockerBuildContext, + + string? dockerfile, + + Outputs.WorkflowRunResponse? lastWorkflowRun, + + string? @namespace, + + Outputs.GitHubWorkflowProfileResponseOidcCredentials? oidcCredentials, + + string prStatus, + + string prURL, + + int pullNumber, + + string? repositoryName, + + string? repositoryOwner) + { + Acr = acr; + AksResourceId = aksResourceId; + AuthStatus = authStatus; + BranchName = branchName; + DeploymentProperties = deploymentProperties; + DockerBuildContext = dockerBuildContext; + Dockerfile = dockerfile; + LastWorkflowRun = lastWorkflowRun; + Namespace = @namespace; + OidcCredentials = oidcCredentials; + PrStatus = prStatus; + PrURL = prURL; + PullNumber = pullNumber; + RepositoryName = repositoryName; + RepositoryOwner = repositoryOwner; + } + } +} diff --git a/sdk/dotnet/DevHub/V20230801/Workflow.cs b/sdk/dotnet/DevHub/V20230801/Workflow.cs index f13ec0a4145a..72ac5dc8414e 100644 --- a/sdk/dotnet/DevHub/V20230801/Workflow.cs +++ b/sdk/dotnet/DevHub/V20230801/Workflow.cs @@ -15,57 +15,18 @@ namespace Pulumi.AzureNative.DevHub.V20230801 [AzureNativeResourceType("azure-native:devhub/v20230801:Workflow")] public partial class Workflow : global::Pulumi.CustomResource { - /// - /// Information on the azure container registry - /// - [Output("acr")] - public Output Acr { get; private set; } = null!; - - /// - /// The Azure Kubernetes Cluster Resource the application will be deployed to. - /// - [Output("aksResourceId")] - public Output AksResourceId { get; private set; } = null!; - /// /// The name of the app. /// [Output("appName")] public Output AppName { get; private set; } = null!; - /// - /// Determines the authorization status of requests. - /// - [Output("authStatus")] - public Output AuthStatus { get; private set; } = null!; - - /// - /// Repository Branch Name - /// - [Output("branchName")] - public Output BranchName { get; private set; } = null!; - /// /// The version of the language image used for building the code in the generated dockerfile. /// [Output("builderVersion")] public Output BuilderVersion { get; private set; } = null!; - [Output("deploymentProperties")] - public Output DeploymentProperties { get; private set; } = null!; - - /// - /// Path to Dockerfile Build Context within the repository. - /// - [Output("dockerBuildContext")] - public Output DockerBuildContext { get; private set; } = null!; - - /// - /// Path to the Dockerfile within the repository. - /// - [Output("dockerfile")] - public Output Dockerfile { get; private set; } = null!; - /// /// The mode of generation to be used for generating Dockerfiles. /// @@ -84,6 +45,12 @@ public partial class Workflow : global::Pulumi.CustomResource [Output("generationLanguage")] public Output GenerationLanguage { get; private set; } = null!; + /// + /// Profile of a github workflow. + /// + [Output("githubWorkflowProfile")] + public Output GithubWorkflowProfile { get; private set; } = null!; + /// /// The name of the image to be generated. /// @@ -102,9 +69,6 @@ public partial class Workflow : global::Pulumi.CustomResource [Output("languageVersion")] public Output LanguageVersion { get; private set; } = null!; - [Output("lastWorkflowRun")] - public Output LastWorkflowRun { get; private set; } = null!; - /// /// The geo-location where the resource lives /// @@ -136,53 +100,17 @@ public partial class Workflow : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// Kubernetes namespace the application is deployed to. + /// The namespace to deploy the application to. /// [Output("namespace")] public Output Namespace { get; private set; } = null!; - /// - /// The fields needed for OIDC with GitHub. - /// - [Output("oidcCredentials")] - public Output OidcCredentials { get; private set; } = null!; - /// /// The port the application is exposed on. /// [Output("port")] public Output Port { get; private set; } = null!; - /// - /// The status of the Pull Request submitted against the users repository. - /// - [Output("prStatus")] - public Output PrStatus { get; private set; } = null!; - - /// - /// The URL to the Pull Request submitted against the users repository. - /// - [Output("prURL")] - public Output PrURL { get; private set; } = null!; - - /// - /// The number associated with the submitted pull request. - /// - [Output("pullNumber")] - public Output PullNumber { get; private set; } = null!; - - /// - /// Repository Name - /// - [Output("repositoryName")] - public Output RepositoryName { get; private set; } = null!; - - /// - /// Repository Owner - /// - [Output("repositoryOwner")] - public Output RepositoryOwner { get; private set; } = null!; - /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. /// @@ -252,51 +180,18 @@ public static Workflow Get(string name, Input id, CustomResourceOptions? public sealed class WorkflowArgs : global::Pulumi.ResourceArgs { - /// - /// Information on the azure container registry - /// - [Input("acr")] - public Input? Acr { get; set; } - - /// - /// The Azure Kubernetes Cluster Resource the application will be deployed to. - /// - [Input("aksResourceId")] - public Input? AksResourceId { get; set; } - /// /// The name of the app. /// [Input("appName")] public Input? AppName { get; set; } - /// - /// Repository Branch Name - /// - [Input("branchName")] - public Input? BranchName { get; set; } - /// /// The version of the language image used for building the code in the generated dockerfile. /// [Input("builderVersion")] public Input? BuilderVersion { get; set; } - [Input("deploymentProperties")] - public Input? DeploymentProperties { get; set; } - - /// - /// Path to Dockerfile Build Context within the repository. - /// - [Input("dockerBuildContext")] - public Input? DockerBuildContext { get; set; } - - /// - /// Path to the Dockerfile within the repository. - /// - [Input("dockerfile")] - public Input? Dockerfile { get; set; } - /// /// The mode of generation to be used for generating Dockerfiles. /// @@ -315,6 +210,12 @@ public sealed class WorkflowArgs : global::Pulumi.ResourceArgs [Input("generationLanguage")] public InputUnion? GenerationLanguage { get; set; } + /// + /// Profile of a github workflow. + /// + [Input("githubWorkflowProfile")] + public Input? GithubWorkflowProfile { get; set; } + /// /// The name of the image to be generated. /// @@ -333,9 +234,6 @@ public sealed class WorkflowArgs : global::Pulumi.ResourceArgs [Input("languageVersion")] public Input? LanguageVersion { get; set; } - [Input("lastWorkflowRun")] - public Input? LastWorkflowRun { get; set; } - /// /// The geo-location where the resource lives /// @@ -361,35 +259,17 @@ public sealed class WorkflowArgs : global::Pulumi.ResourceArgs public InputUnion? ManifestType { get; set; } /// - /// Kubernetes namespace the application is deployed to. + /// The namespace to deploy the application to. /// [Input("namespace")] public Input? Namespace { get; set; } - /// - /// The fields needed for OIDC with GitHub. - /// - [Input("oidcCredentials")] - public Input? OidcCredentials { get; set; } - /// /// The port the application is exposed on. /// [Input("port")] public Input? Port { get; set; } - /// - /// Repository Name - /// - [Input("repositoryName")] - public Input? RepositoryName { get; set; } - - /// - /// Repository Owner - /// - [Input("repositoryOwner")] - public Input? RepositoryOwner { get; set; } - /// /// The name of the resource group. The name is case insensitive. /// diff --git a/sdk/dotnet/DevHub/Workflow.cs b/sdk/dotnet/DevHub/Workflow.cs index 4ed81cb5be6b..50676acb8fda 100644 --- a/sdk/dotnet/DevHub/Workflow.cs +++ b/sdk/dotnet/DevHub/Workflow.cs @@ -18,57 +18,18 @@ namespace Pulumi.AzureNative.DevHub [AzureNativeResourceType("azure-native:devhub:Workflow")] public partial class Workflow : global::Pulumi.CustomResource { - /// - /// Information on the azure container registry - /// - [Output("acr")] - public Output Acr { get; private set; } = null!; - - /// - /// The Azure Kubernetes Cluster Resource the application will be deployed to. - /// - [Output("aksResourceId")] - public Output AksResourceId { get; private set; } = null!; - /// /// The name of the app. /// [Output("appName")] public Output AppName { get; private set; } = null!; - /// - /// Determines the authorization status of requests. - /// - [Output("authStatus")] - public Output AuthStatus { get; private set; } = null!; - - /// - /// Repository Branch Name - /// - [Output("branchName")] - public Output BranchName { get; private set; } = null!; - /// /// The version of the language image used for building the code in the generated dockerfile. /// [Output("builderVersion")] public Output BuilderVersion { get; private set; } = null!; - [Output("deploymentProperties")] - public Output DeploymentProperties { get; private set; } = null!; - - /// - /// Path to Dockerfile Build Context within the repository. - /// - [Output("dockerBuildContext")] - public Output DockerBuildContext { get; private set; } = null!; - - /// - /// Path to the Dockerfile within the repository. - /// - [Output("dockerfile")] - public Output Dockerfile { get; private set; } = null!; - /// /// The mode of generation to be used for generating Dockerfiles. /// @@ -87,6 +48,12 @@ public partial class Workflow : global::Pulumi.CustomResource [Output("generationLanguage")] public Output GenerationLanguage { get; private set; } = null!; + /// + /// Profile of a github workflow. + /// + [Output("githubWorkflowProfile")] + public Output GithubWorkflowProfile { get; private set; } = null!; + /// /// The name of the image to be generated. /// @@ -105,9 +72,6 @@ public partial class Workflow : global::Pulumi.CustomResource [Output("languageVersion")] public Output LanguageVersion { get; private set; } = null!; - [Output("lastWorkflowRun")] - public Output LastWorkflowRun { get; private set; } = null!; - /// /// The geo-location where the resource lives /// @@ -139,53 +103,17 @@ public partial class Workflow : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// Kubernetes namespace the application is deployed to. + /// The namespace to deploy the application to. /// [Output("namespace")] public Output Namespace { get; private set; } = null!; - /// - /// The fields needed for OIDC with GitHub. - /// - [Output("oidcCredentials")] - public Output OidcCredentials { get; private set; } = null!; - /// /// The port the application is exposed on. /// [Output("port")] public Output Port { get; private set; } = null!; - /// - /// The status of the Pull Request submitted against the users repository. - /// - [Output("prStatus")] - public Output PrStatus { get; private set; } = null!; - - /// - /// The URL to the Pull Request submitted against the users repository. - /// - [Output("prURL")] - public Output PrURL { get; private set; } = null!; - - /// - /// The number associated with the submitted pull request. - /// - [Output("pullNumber")] - public Output PullNumber { get; private set; } = null!; - - /// - /// Repository Name - /// - [Output("repositoryName")] - public Output RepositoryName { get; private set; } = null!; - - /// - /// Repository Owner - /// - [Output("repositoryOwner")] - public Output RepositoryOwner { get; private set; } = null!; - /// /// Azure Resource Manager metadata containing createdBy and modifiedBy information. /// @@ -255,51 +183,18 @@ public static Workflow Get(string name, Input id, CustomResourceOptions? public sealed class WorkflowArgs : global::Pulumi.ResourceArgs { - /// - /// Information on the azure container registry - /// - [Input("acr")] - public Input? Acr { get; set; } - - /// - /// The Azure Kubernetes Cluster Resource the application will be deployed to. - /// - [Input("aksResourceId")] - public Input? AksResourceId { get; set; } - /// /// The name of the app. /// [Input("appName")] public Input? AppName { get; set; } - /// - /// Repository Branch Name - /// - [Input("branchName")] - public Input? BranchName { get; set; } - /// /// The version of the language image used for building the code in the generated dockerfile. /// [Input("builderVersion")] public Input? BuilderVersion { get; set; } - [Input("deploymentProperties")] - public Input? DeploymentProperties { get; set; } - - /// - /// Path to Dockerfile Build Context within the repository. - /// - [Input("dockerBuildContext")] - public Input? DockerBuildContext { get; set; } - - /// - /// Path to the Dockerfile within the repository. - /// - [Input("dockerfile")] - public Input? Dockerfile { get; set; } - /// /// The mode of generation to be used for generating Dockerfiles. /// @@ -318,6 +213,12 @@ public sealed class WorkflowArgs : global::Pulumi.ResourceArgs [Input("generationLanguage")] public InputUnion? GenerationLanguage { get; set; } + /// + /// Profile of a github workflow. + /// + [Input("githubWorkflowProfile")] + public Input? GithubWorkflowProfile { get; set; } + /// /// The name of the image to be generated. /// @@ -336,9 +237,6 @@ public sealed class WorkflowArgs : global::Pulumi.ResourceArgs [Input("languageVersion")] public Input? LanguageVersion { get; set; } - [Input("lastWorkflowRun")] - public Input? LastWorkflowRun { get; set; } - /// /// The geo-location where the resource lives /// @@ -364,35 +262,17 @@ public sealed class WorkflowArgs : global::Pulumi.ResourceArgs public InputUnion? ManifestType { get; set; } /// - /// Kubernetes namespace the application is deployed to. + /// The namespace to deploy the application to. /// [Input("namespace")] public Input? Namespace { get; set; } - /// - /// The fields needed for OIDC with GitHub. - /// - [Input("oidcCredentials")] - public Input? OidcCredentials { get; set; } - /// /// The port the application is exposed on. /// [Input("port")] public Input? Port { get; set; } - /// - /// Repository Name - /// - [Input("repositoryName")] - public Input? RepositoryName { get; set; } - - /// - /// Repository Owner - /// - [Input("repositoryOwner")] - public Input? RepositoryOwner { get; set; } - /// /// The name of the resource group. The name is case insensitive. /// diff --git a/sdk/dotnet/Education/GetLab.cs b/sdk/dotnet/Education/GetLab.cs index 7f49575e3dce..f608458dcd19 100644 --- a/sdk/dotnet/Education/GetLab.cs +++ b/sdk/dotnet/Education/GetLab.cs @@ -144,6 +144,10 @@ public sealed class GetLabResult /// public readonly Outputs.SystemDataResponse SystemData; /// + /// Total budget + /// + public readonly Outputs.AmountResponse TotalBudget; + /// /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" /// public readonly string Type; @@ -178,6 +182,8 @@ private GetLabResult( Outputs.SystemDataResponse systemData, + Outputs.AmountResponse totalBudget, + string type, double? value) @@ -194,6 +200,7 @@ private GetLabResult( Name = name; Status = status; SystemData = systemData; + TotalBudget = totalBudget; Type = type; Value = value; } diff --git a/sdk/dotnet/Education/Lab.cs b/sdk/dotnet/Education/Lab.cs index f2dead45b54c..2f8800bd334e 100644 --- a/sdk/dotnet/Education/Lab.cs +++ b/sdk/dotnet/Education/Lab.cs @@ -82,6 +82,12 @@ public partial class Lab : global::Pulumi.CustomResource [Output("systemData")] public Output SystemData { get; private set; } = null!; + /// + /// Total budget + /// + [Output("totalBudget")] + public Output TotalBudget { get; private set; } = null!; + /// /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" /// diff --git a/sdk/dotnet/Education/V20211201Preview/GetLab.cs b/sdk/dotnet/Education/V20211201Preview/GetLab.cs index 64cb0201bdac..e5a3944da028 100644 --- a/sdk/dotnet/Education/V20211201Preview/GetLab.cs +++ b/sdk/dotnet/Education/V20211201Preview/GetLab.cs @@ -142,6 +142,10 @@ public sealed class GetLabResult /// public readonly Outputs.SystemDataResponse SystemData; /// + /// Total budget + /// + public readonly Outputs.AmountResponse TotalBudget; + /// /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" /// public readonly string Type; @@ -176,6 +180,8 @@ private GetLabResult( Outputs.SystemDataResponse systemData, + Outputs.AmountResponse totalBudget, + string type, double? value) @@ -192,6 +198,7 @@ private GetLabResult( Name = name; Status = status; SystemData = systemData; + TotalBudget = totalBudget; Type = type; Value = value; } diff --git a/sdk/dotnet/Education/V20211201Preview/Lab.cs b/sdk/dotnet/Education/V20211201Preview/Lab.cs index 4c552e69a694..e88390960b71 100644 --- a/sdk/dotnet/Education/V20211201Preview/Lab.cs +++ b/sdk/dotnet/Education/V20211201Preview/Lab.cs @@ -81,6 +81,12 @@ public partial class Lab : global::Pulumi.CustomResource [Output("systemData")] public Output SystemData { get; private set; } = null!; + /// + /// Total budget + /// + [Output("totalBudget")] + public Output TotalBudget { get; private set; } = null!; + /// /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" /// diff --git a/sdk/dotnet/Insights/V20150501/GetWorkbook.cs b/sdk/dotnet/Insights/V20150501/GetWorkbook.cs index 37fcc6579868..83b1d91a283f 100644 --- a/sdk/dotnet/Insights/V20150501/GetWorkbook.cs +++ b/sdk/dotnet/Insights/V20150501/GetWorkbook.cs @@ -69,10 +69,6 @@ public GetWorkbookInvokeArgs() [OutputType] public sealed class GetWorkbookResult { - /// - /// Workbook category, as defined by the user at creation time. - /// - public readonly string Category; /// /// Azure resource Id /// @@ -90,46 +86,20 @@ public sealed class GetWorkbookResult /// public readonly string Name; /// - /// Configuration of this particular workbook. Configuration data is a string containing valid JSON - /// - public readonly string SerializedData; - /// - /// Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. - /// - public readonly string SharedTypeKind; - /// - /// Optional resourceId for a source resource. + /// Metadata describing a web test for an Azure resource. /// - public readonly string? SourceResourceId; + public readonly Outputs.WorkbookPropertiesResponse Properties; /// /// Resource tags /// public readonly ImmutableDictionary? Tags; /// - /// Date and time in UTC of the last modification that was made to this workbook definition. - /// - public readonly string TimeModified; - /// /// Azure resource type /// public readonly string Type; - /// - /// Unique user id of the specific user that owns this workbook. - /// - public readonly string UserId; - /// - /// This instance's version of the data model. This can change as new features are added that can be marked workbook. - /// - public readonly string? Version; - /// - /// Internally assigned unique id of the workbook definition. - /// - public readonly string WorkbookId; [OutputConstructor] private GetWorkbookResult( - string category, - string id, string? kind, @@ -138,38 +108,19 @@ private GetWorkbookResult( string name, - string serializedData, - - string sharedTypeKind, - - string? sourceResourceId, + Outputs.WorkbookPropertiesResponse properties, ImmutableDictionary? tags, - string timeModified, - - string type, - - string userId, - - string? version, - - string workbookId) + string type) { - Category = category; Id = id; Kind = kind; Location = location; Name = name; - SerializedData = serializedData; - SharedTypeKind = sharedTypeKind; - SourceResourceId = sourceResourceId; + Properties = properties; Tags = tags; - TimeModified = timeModified; Type = type; - UserId = userId; - Version = version; - WorkbookId = workbookId; } } } diff --git a/sdk/dotnet/Insights/V20150501/Inputs/WorkbookPropertiesArgs.cs b/sdk/dotnet/Insights/V20150501/Inputs/WorkbookPropertiesArgs.cs new file mode 100644 index 000000000000..a78feb9afc57 --- /dev/null +++ b/sdk/dotnet/Insights/V20150501/Inputs/WorkbookPropertiesArgs.cs @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Insights.V20150501.Inputs +{ + + /// + /// Properties that contain a workbook. + /// + public sealed class WorkbookPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Workbook category, as defined by the user at creation time. + /// + [Input("category", required: true)] + public Input Category { get; set; } = null!; + + /// + /// The user-defined name of the workbook. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Configuration of this particular workbook. Configuration data is a string containing valid JSON + /// + [Input("serializedData", required: true)] + public Input SerializedData { get; set; } = null!; + + /// + /// Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. + /// + [Input("sharedTypeKind", required: true)] + public InputUnion SharedTypeKind { get; set; } = null!; + + /// + /// Optional resourceId for a source resource. + /// + [Input("sourceResourceId")] + public Input? SourceResourceId { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// A list of 0 or more tags that are associated with this workbook definition + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + /// + /// Unique user id of the specific user that owns this workbook. + /// + [Input("userId", required: true)] + public Input UserId { get; set; } = null!; + + /// + /// This instance's version of the data model. This can change as new features are added that can be marked workbook. + /// + [Input("version")] + public Input? Version { get; set; } + + /// + /// Internally assigned unique id of the workbook definition. + /// + [Input("workbookId", required: true)] + public Input WorkbookId { get; set; } = null!; + + public WorkbookPropertiesArgs() + { + SharedTypeKind = "shared"; + } + public static new WorkbookPropertiesArgs Empty => new WorkbookPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Insights/V20150501/Outputs/WorkbookPropertiesResponse.cs b/sdk/dotnet/Insights/V20150501/Outputs/WorkbookPropertiesResponse.cs new file mode 100644 index 000000000000..d730814e56f1 --- /dev/null +++ b/sdk/dotnet/Insights/V20150501/Outputs/WorkbookPropertiesResponse.cs @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Insights.V20150501.Outputs +{ + + /// + /// Properties that contain a workbook. + /// + [OutputType] + public sealed class WorkbookPropertiesResponse + { + /// + /// Workbook category, as defined by the user at creation time. + /// + public readonly string Category; + /// + /// The user-defined name of the workbook. + /// + public readonly string Name; + /// + /// Configuration of this particular workbook. Configuration data is a string containing valid JSON + /// + public readonly string SerializedData; + /// + /// Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. + /// + public readonly string SharedTypeKind; + /// + /// Optional resourceId for a source resource. + /// + public readonly string? SourceResourceId; + /// + /// A list of 0 or more tags that are associated with this workbook definition + /// + public readonly ImmutableArray Tags; + /// + /// Date and time in UTC of the last modification that was made to this workbook definition. + /// + public readonly string TimeModified; + /// + /// Unique user id of the specific user that owns this workbook. + /// + public readonly string UserId; + /// + /// This instance's version of the data model. This can change as new features are added that can be marked workbook. + /// + public readonly string? Version; + /// + /// Internally assigned unique id of the workbook definition. + /// + public readonly string WorkbookId; + + [OutputConstructor] + private WorkbookPropertiesResponse( + string category, + + string name, + + string serializedData, + + string sharedTypeKind, + + string? sourceResourceId, + + ImmutableArray tags, + + string timeModified, + + string userId, + + string? version, + + string workbookId) + { + Category = category; + Name = name; + SerializedData = serializedData; + SharedTypeKind = sharedTypeKind; + SourceResourceId = sourceResourceId; + Tags = tags; + TimeModified = timeModified; + UserId = userId; + Version = version; + WorkbookId = workbookId; + } + } +} diff --git a/sdk/dotnet/Insights/V20150501/Workbook.cs b/sdk/dotnet/Insights/V20150501/Workbook.cs index 3c03f1d41d63..bcec507282a8 100644 --- a/sdk/dotnet/Insights/V20150501/Workbook.cs +++ b/sdk/dotnet/Insights/V20150501/Workbook.cs @@ -15,12 +15,6 @@ namespace Pulumi.AzureNative.Insights.V20150501 [AzureNativeResourceType("azure-native:insights/v20150501:Workbook")] public partial class Workbook : global::Pulumi.CustomResource { - /// - /// Workbook category, as defined by the user at creation time. - /// - [Output("category")] - public Output Category { get; private set; } = null!; - /// /// The kind of workbook. Choices are user and shared. /// @@ -40,22 +34,10 @@ public partial class Workbook : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// Configuration of this particular workbook. Configuration data is a string containing valid JSON - /// - [Output("serializedData")] - public Output SerializedData { get; private set; } = null!; - - /// - /// Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. + /// Metadata describing a web test for an Azure resource. /// - [Output("sharedTypeKind")] - public Output SharedTypeKind { get; private set; } = null!; - - /// - /// Optional resourceId for a source resource. - /// - [Output("sourceResourceId")] - public Output SourceResourceId { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// /// Resource tags @@ -63,36 +45,12 @@ public partial class Workbook : global::Pulumi.CustomResource [Output("tags")] public Output?> Tags { get; private set; } = null!; - /// - /// Date and time in UTC of the last modification that was made to this workbook definition. - /// - [Output("timeModified")] - public Output TimeModified { get; private set; } = null!; - /// /// Azure resource type /// [Output("type")] public Output Type { get; private set; } = null!; - /// - /// Unique user id of the specific user that owns this workbook. - /// - [Output("userId")] - public Output UserId { get; private set; } = null!; - - /// - /// This instance's version of the data model. This can change as new features are added that can be marked workbook. - /// - [Output("version")] - public Output Version { get; private set; } = null!; - - /// - /// Internally assigned unique id of the workbook definition. - /// - [Output("workbookId")] - public Output WorkbookId { get; private set; } = null!; - /// /// Create a Workbook resource with the given unique name, arguments, and options. @@ -148,12 +106,6 @@ public static Workbook Get(string name, Input id, CustomResourceOptions? public sealed class WorkbookArgs : global::Pulumi.ResourceArgs { - /// - /// Workbook category, as defined by the user at creation time. - /// - [Input("category", required: true)] - public Input Category { get; set; } = null!; - /// /// The kind of workbook. Choices are user and shared. /// @@ -167,10 +119,10 @@ public sealed class WorkbookArgs : global::Pulumi.ResourceArgs public Input? Location { get; set; } /// - /// The user-defined name of the workbook. + /// Metadata describing a web test for an Azure resource. /// - [Input("name", required: true)] - public Input Name { get; set; } = null!; + [Input("properties")] + public Input? Properties { get; set; } /// /// The name of the resource group. The name is case insensitive. @@ -184,24 +136,6 @@ public sealed class WorkbookArgs : global::Pulumi.ResourceArgs [Input("resourceName")] public Input? ResourceName { get; set; } - /// - /// Configuration of this particular workbook. Configuration data is a string containing valid JSON - /// - [Input("serializedData", required: true)] - public Input SerializedData { get; set; } = null!; - - /// - /// Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. - /// - [Input("sharedTypeKind", required: true)] - public InputUnion SharedTypeKind { get; set; } = null!; - - /// - /// Optional resourceId for a source resource. - /// - [Input("sourceResourceId")] - public Input? SourceResourceId { get; set; } - [Input("tags")] private InputMap? _tags; @@ -214,27 +148,8 @@ public InputMap Tags set => _tags = value; } - /// - /// Unique user id of the specific user that owns this workbook. - /// - [Input("userId", required: true)] - public Input UserId { get; set; } = null!; - - /// - /// This instance's version of the data model. This can change as new features are added that can be marked workbook. - /// - [Input("version")] - public Input? Version { get; set; } - - /// - /// Internally assigned unique id of the workbook definition. - /// - [Input("workbookId", required: true)] - public Input WorkbookId { get; set; } = null!; - public WorkbookArgs() { - SharedTypeKind = "shared"; } public static new WorkbookArgs Empty => new WorkbookArgs(); } diff --git a/sdk/dotnet/NetApp/V20210401/BackupPolicy.cs b/sdk/dotnet/NetApp/V20210401/BackupPolicy.cs index 60548dedcba9..a98a2270353b 100644 --- a/sdk/dotnet/NetApp/V20210401/BackupPolicy.cs +++ b/sdk/dotnet/NetApp/V20210401/BackupPolicy.cs @@ -15,24 +15,6 @@ namespace Pulumi.AzureNative.NetApp.V20210401 [AzureNativeResourceType("azure-native:netapp/v20210401:BackupPolicy")] public partial class BackupPolicy : global::Pulumi.CustomResource { - /// - /// Backup Policy Resource ID - /// - [Output("backupPolicyId")] - public Output BackupPolicyId { get; private set; } = null!; - - /// - /// Daily backups count to keep - /// - [Output("dailyBackupsToKeep")] - public Output DailyBackupsToKeep { get; private set; } = null!; - - /// - /// The property to decide policy is enabled or not - /// - [Output("enabled")] - public Output Enabled { get; private set; } = null!; - /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -46,22 +28,16 @@ public partial class BackupPolicy : global::Pulumi.CustomResource public Output Location { get; private set; } = null!; /// - /// Monthly backups count to keep - /// - [Output("monthlyBackupsToKeep")] - public Output MonthlyBackupsToKeep { get; private set; } = null!; - - /// - /// Name of backup policy + /// Resource name /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// Azure lifecycle management + /// Backup policy Properties /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// /// The system meta data relating to this resource. @@ -81,30 +57,6 @@ public partial class BackupPolicy : global::Pulumi.CustomResource [Output("type")] public Output Type { get; private set; } = null!; - /// - /// A list of volumes assigned to this policy - /// - [Output("volumeBackups")] - public Output> VolumeBackups { get; private set; } = null!; - - /// - /// Volumes using current backup policy - /// - [Output("volumesAssigned")] - public Output VolumesAssigned { get; private set; } = null!; - - /// - /// Weekly backups count to keep - /// - [Output("weeklyBackupsToKeep")] - public Output WeeklyBackupsToKeep { get; private set; } = null!; - - /// - /// Yearly backups count to keep - /// - [Output("yearlyBackupsToKeep")] - public Output YearlyBackupsToKeep { get; private set; } = null!; - /// /// Create a BackupPolicy resource with the given unique name, arguments, and options. diff --git a/sdk/dotnet/NetApp/V20210401/GetBackupPolicy.cs b/sdk/dotnet/NetApp/V20210401/GetBackupPolicy.cs index 7b548e62de45..a8d5de53d793 100644 --- a/sdk/dotnet/NetApp/V20210401/GetBackupPolicy.cs +++ b/sdk/dotnet/NetApp/V20210401/GetBackupPolicy.cs @@ -81,18 +81,6 @@ public GetBackupPolicyInvokeArgs() [OutputType] public sealed class GetBackupPolicyResult { - /// - /// Backup Policy Resource ID - /// - public readonly string BackupPolicyId; - /// - /// Daily backups count to keep - /// - public readonly int? DailyBackupsToKeep; - /// - /// The property to decide policy is enabled or not - /// - public readonly bool? Enabled; /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -106,17 +94,13 @@ public sealed class GetBackupPolicyResult /// public readonly string Location; /// - /// Monthly backups count to keep - /// - public readonly int? MonthlyBackupsToKeep; - /// - /// Name of backup policy + /// Resource name /// public readonly string Name; /// - /// Azure lifecycle management + /// Backup policy Properties /// - public readonly string ProvisioningState; + public readonly Outputs.BackupPolicyPropertiesResponse Properties; /// /// The system meta data relating to this resource. /// @@ -129,73 +113,33 @@ public sealed class GetBackupPolicyResult /// Resource type /// public readonly string Type; - /// - /// A list of volumes assigned to this policy - /// - public readonly ImmutableArray VolumeBackups; - /// - /// Volumes using current backup policy - /// - public readonly int? VolumesAssigned; - /// - /// Weekly backups count to keep - /// - public readonly int? WeeklyBackupsToKeep; - /// - /// Yearly backups count to keep - /// - public readonly int? YearlyBackupsToKeep; [OutputConstructor] private GetBackupPolicyResult( - string backupPolicyId, - - int? dailyBackupsToKeep, - - bool? enabled, - string etag, string id, string location, - int? monthlyBackupsToKeep, - string name, - string provisioningState, + Outputs.BackupPolicyPropertiesResponse properties, Outputs.SystemDataResponse systemData, ImmutableDictionary? tags, - string type, - - ImmutableArray volumeBackups, - - int? volumesAssigned, - - int? weeklyBackupsToKeep, - - int? yearlyBackupsToKeep) + string type) { - BackupPolicyId = backupPolicyId; - DailyBackupsToKeep = dailyBackupsToKeep; - Enabled = enabled; Etag = etag; Id = id; Location = location; - MonthlyBackupsToKeep = monthlyBackupsToKeep; Name = name; - ProvisioningState = provisioningState; + Properties = properties; SystemData = systemData; Tags = tags; Type = type; - VolumeBackups = volumeBackups; - VolumesAssigned = volumesAssigned; - WeeklyBackupsToKeep = weeklyBackupsToKeep; - YearlyBackupsToKeep = yearlyBackupsToKeep; } } } diff --git a/sdk/dotnet/NetApp/V20210401/Outputs/BackupPolicyPropertiesResponse.cs b/sdk/dotnet/NetApp/V20210401/Outputs/BackupPolicyPropertiesResponse.cs new file mode 100644 index 000000000000..89a50b81fb6d --- /dev/null +++ b/sdk/dotnet/NetApp/V20210401/Outputs/BackupPolicyPropertiesResponse.cs @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.NetApp.V20210401.Outputs +{ + + /// + /// Backup policy properties + /// + [OutputType] + public sealed class BackupPolicyPropertiesResponse + { + /// + /// Backup Policy Resource ID + /// + public readonly string BackupPolicyId; + /// + /// Daily backups count to keep + /// + public readonly int? DailyBackupsToKeep; + /// + /// The property to decide policy is enabled or not + /// + public readonly bool? Enabled; + /// + /// Monthly backups count to keep + /// + public readonly int? MonthlyBackupsToKeep; + /// + /// Name of backup policy + /// + public readonly string Name; + /// + /// Azure lifecycle management + /// + public readonly string ProvisioningState; + /// + /// A list of volumes assigned to this policy + /// + public readonly ImmutableArray VolumeBackups; + /// + /// Volumes using current backup policy + /// + public readonly int? VolumesAssigned; + /// + /// Weekly backups count to keep + /// + public readonly int? WeeklyBackupsToKeep; + /// + /// Yearly backups count to keep + /// + public readonly int? YearlyBackupsToKeep; + + [OutputConstructor] + private BackupPolicyPropertiesResponse( + string backupPolicyId, + + int? dailyBackupsToKeep, + + bool? enabled, + + int? monthlyBackupsToKeep, + + string name, + + string provisioningState, + + ImmutableArray volumeBackups, + + int? volumesAssigned, + + int? weeklyBackupsToKeep, + + int? yearlyBackupsToKeep) + { + BackupPolicyId = backupPolicyId; + DailyBackupsToKeep = dailyBackupsToKeep; + Enabled = enabled; + MonthlyBackupsToKeep = monthlyBackupsToKeep; + Name = name; + ProvisioningState = provisioningState; + VolumeBackups = volumeBackups; + VolumesAssigned = volumesAssigned; + WeeklyBackupsToKeep = weeklyBackupsToKeep; + YearlyBackupsToKeep = yearlyBackupsToKeep; + } + } +} diff --git a/sdk/dotnet/NetApp/V20210401Preview/BackupPolicy.cs b/sdk/dotnet/NetApp/V20210401Preview/BackupPolicy.cs index 40d9a3da6a28..497e3b80b1b3 100644 --- a/sdk/dotnet/NetApp/V20210401Preview/BackupPolicy.cs +++ b/sdk/dotnet/NetApp/V20210401Preview/BackupPolicy.cs @@ -15,18 +15,6 @@ namespace Pulumi.AzureNative.NetApp.V20210401Preview [AzureNativeResourceType("azure-native:netapp/v20210401preview:BackupPolicy")] public partial class BackupPolicy : global::Pulumi.CustomResource { - /// - /// Daily backups count to keep - /// - [Output("dailyBackupsToKeep")] - public Output DailyBackupsToKeep { get; private set; } = null!; - - /// - /// The property to decide policy is enabled or not - /// - [Output("enabled")] - public Output Enabled { get; private set; } = null!; - /// /// Resource location /// @@ -34,22 +22,16 @@ public partial class BackupPolicy : global::Pulumi.CustomResource public Output Location { get; private set; } = null!; /// - /// Monthly backups count to keep - /// - [Output("monthlyBackupsToKeep")] - public Output MonthlyBackupsToKeep { get; private set; } = null!; - - /// - /// Name of backup policy + /// Resource name /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// Azure lifecycle management + /// Backup policy Properties /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// /// Resource tags @@ -63,30 +45,6 @@ public partial class BackupPolicy : global::Pulumi.CustomResource [Output("type")] public Output Type { get; private set; } = null!; - /// - /// A list of volumes assigned to this policy - /// - [Output("volumeBackups")] - public Output> VolumeBackups { get; private set; } = null!; - - /// - /// Volumes using current backup policy - /// - [Output("volumesAssigned")] - public Output VolumesAssigned { get; private set; } = null!; - - /// - /// Weekly backups count to keep - /// - [Output("weeklyBackupsToKeep")] - public Output WeeklyBackupsToKeep { get; private set; } = null!; - - /// - /// Yearly backups count to keep - /// - [Output("yearlyBackupsToKeep")] - public Output YearlyBackupsToKeep { get; private set; } = null!; - /// /// Create a BackupPolicy resource with the given unique name, arguments, and options. diff --git a/sdk/dotnet/NetApp/V20210401Preview/GetBackupPolicy.cs b/sdk/dotnet/NetApp/V20210401Preview/GetBackupPolicy.cs index 6a17b9de6366..b2e56e7dec66 100644 --- a/sdk/dotnet/NetApp/V20210401Preview/GetBackupPolicy.cs +++ b/sdk/dotnet/NetApp/V20210401Preview/GetBackupPolicy.cs @@ -81,14 +81,6 @@ public GetBackupPolicyInvokeArgs() [OutputType] public sealed class GetBackupPolicyResult { - /// - /// Daily backups count to keep - /// - public readonly int? DailyBackupsToKeep; - /// - /// The property to decide policy is enabled or not - /// - public readonly bool? Enabled; /// /// Resource Id /// @@ -98,17 +90,13 @@ public sealed class GetBackupPolicyResult /// public readonly string Location; /// - /// Monthly backups count to keep - /// - public readonly int? MonthlyBackupsToKeep; - /// - /// Name of backup policy + /// Resource name /// public readonly string Name; /// - /// Azure lifecycle management + /// Backup policy Properties /// - public readonly string ProvisioningState; + public readonly Outputs.BackupPolicyPropertiesResponse Properties; /// /// Resource tags /// @@ -117,64 +105,27 @@ public sealed class GetBackupPolicyResult /// Resource type /// public readonly string Type; - /// - /// A list of volumes assigned to this policy - /// - public readonly ImmutableArray VolumeBackups; - /// - /// Volumes using current backup policy - /// - public readonly int? VolumesAssigned; - /// - /// Weekly backups count to keep - /// - public readonly int? WeeklyBackupsToKeep; - /// - /// Yearly backups count to keep - /// - public readonly int? YearlyBackupsToKeep; [OutputConstructor] private GetBackupPolicyResult( - int? dailyBackupsToKeep, - - bool? enabled, - string id, string location, - int? monthlyBackupsToKeep, - string name, - string provisioningState, + Outputs.BackupPolicyPropertiesResponse properties, ImmutableDictionary? tags, - string type, - - ImmutableArray volumeBackups, - - int? volumesAssigned, - - int? weeklyBackupsToKeep, - - int? yearlyBackupsToKeep) + string type) { - DailyBackupsToKeep = dailyBackupsToKeep; - Enabled = enabled; Id = id; Location = location; - MonthlyBackupsToKeep = monthlyBackupsToKeep; Name = name; - ProvisioningState = provisioningState; + Properties = properties; Tags = tags; Type = type; - VolumeBackups = volumeBackups; - VolumesAssigned = volumesAssigned; - WeeklyBackupsToKeep = weeklyBackupsToKeep; - YearlyBackupsToKeep = yearlyBackupsToKeep; } } } diff --git a/sdk/dotnet/NetApp/V20210401Preview/Outputs/BackupPolicyPropertiesResponse.cs b/sdk/dotnet/NetApp/V20210401Preview/Outputs/BackupPolicyPropertiesResponse.cs new file mode 100644 index 000000000000..8bf1a79a77f0 --- /dev/null +++ b/sdk/dotnet/NetApp/V20210401Preview/Outputs/BackupPolicyPropertiesResponse.cs @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.NetApp.V20210401Preview.Outputs +{ + + /// + /// Backup policy properties + /// + [OutputType] + public sealed class BackupPolicyPropertiesResponse + { + /// + /// Daily backups count to keep + /// + public readonly int? DailyBackupsToKeep; + /// + /// The property to decide policy is enabled or not + /// + public readonly bool? Enabled; + /// + /// Monthly backups count to keep + /// + public readonly int? MonthlyBackupsToKeep; + /// + /// Name of backup policy + /// + public readonly string Name; + /// + /// Azure lifecycle management + /// + public readonly string ProvisioningState; + /// + /// A list of volumes assigned to this policy + /// + public readonly ImmutableArray VolumeBackups; + /// + /// Volumes using current backup policy + /// + public readonly int? VolumesAssigned; + /// + /// Weekly backups count to keep + /// + public readonly int? WeeklyBackupsToKeep; + /// + /// Yearly backups count to keep + /// + public readonly int? YearlyBackupsToKeep; + + [OutputConstructor] + private BackupPolicyPropertiesResponse( + int? dailyBackupsToKeep, + + bool? enabled, + + int? monthlyBackupsToKeep, + + string name, + + string provisioningState, + + ImmutableArray volumeBackups, + + int? volumesAssigned, + + int? weeklyBackupsToKeep, + + int? yearlyBackupsToKeep) + { + DailyBackupsToKeep = dailyBackupsToKeep; + Enabled = enabled; + MonthlyBackupsToKeep = monthlyBackupsToKeep; + Name = name; + ProvisioningState = provisioningState; + VolumeBackups = volumeBackups; + VolumesAssigned = volumesAssigned; + WeeklyBackupsToKeep = weeklyBackupsToKeep; + YearlyBackupsToKeep = yearlyBackupsToKeep; + } + } +} diff --git a/sdk/dotnet/Network/GetP2sVpnServerConfiguration.cs b/sdk/dotnet/Network/GetP2sVpnServerConfiguration.cs index 9d057a4238a1..6294e582548f 100644 --- a/sdk/dotnet/Network/GetP2sVpnServerConfiguration.cs +++ b/sdk/dotnet/Network/GetP2sVpnServerConfiguration.cs @@ -92,49 +92,13 @@ public sealed class GetP2sVpnServerConfigurationResult /// public readonly string? Id; /// - /// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// public readonly string? Name; /// - /// List of references to P2SVpnGateways. + /// Properties of the P2SVpnServer configuration. /// - public readonly ImmutableArray P2SVpnGateways; - /// - /// Radius client root certificate of P2SVpnServerConfiguration. - /// - public readonly ImmutableArray P2SVpnServerConfigRadiusClientRootCertificates; - /// - /// Radius Server root certificate of P2SVpnServerConfiguration. - /// - public readonly ImmutableArray P2SVpnServerConfigRadiusServerRootCertificates; - /// - /// VPN client revoked certificate of P2SVpnServerConfiguration. - /// - public readonly ImmutableArray P2SVpnServerConfigVpnClientRevokedCertificates; - /// - /// VPN client root certificate of P2SVpnServerConfiguration. - /// - public readonly ImmutableArray P2SVpnServerConfigVpnClientRootCertificates; - /// - /// The provisioning state of the P2S VPN server configuration resource. - /// - public readonly string ProvisioningState; - /// - /// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - public readonly string? RadiusServerAddress; - /// - /// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - public readonly string? RadiusServerSecret; - /// - /// VpnClientIpsecPolicies for P2SVpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientIpsecPolicies; - /// - /// VPN protocols for the P2SVpnServerConfiguration. - /// - public readonly ImmutableArray VpnProtocols; + public readonly Outputs.P2SVpnServerConfigurationPropertiesResponse Properties; [OutputConstructor] private GetP2sVpnServerConfigurationResult( @@ -144,39 +108,12 @@ private GetP2sVpnServerConfigurationResult( string? name, - ImmutableArray p2SVpnGateways, - - ImmutableArray p2SVpnServerConfigRadiusClientRootCertificates, - - ImmutableArray p2SVpnServerConfigRadiusServerRootCertificates, - - ImmutableArray p2SVpnServerConfigVpnClientRevokedCertificates, - - ImmutableArray p2SVpnServerConfigVpnClientRootCertificates, - - string provisioningState, - - string? radiusServerAddress, - - string? radiusServerSecret, - - ImmutableArray vpnClientIpsecPolicies, - - ImmutableArray vpnProtocols) + Outputs.P2SVpnServerConfigurationPropertiesResponse properties) { Etag = etag; Id = id; Name = name; - P2SVpnGateways = p2SVpnGateways; - P2SVpnServerConfigRadiusClientRootCertificates = p2SVpnServerConfigRadiusClientRootCertificates; - P2SVpnServerConfigRadiusServerRootCertificates = p2SVpnServerConfigRadiusServerRootCertificates; - P2SVpnServerConfigVpnClientRevokedCertificates = p2SVpnServerConfigVpnClientRevokedCertificates; - P2SVpnServerConfigVpnClientRootCertificates = p2SVpnServerConfigVpnClientRootCertificates; - ProvisioningState = provisioningState; - RadiusServerAddress = radiusServerAddress; - RadiusServerSecret = radiusServerSecret; - VpnClientIpsecPolicies = vpnClientIpsecPolicies; - VpnProtocols = vpnProtocols; + Properties = properties; } } } diff --git a/sdk/dotnet/Network/GetVpnServerConfiguration.cs b/sdk/dotnet/Network/GetVpnServerConfiguration.cs index 30639700c277..6f553397c04e 100644 --- a/sdk/dotnet/Network/GetVpnServerConfiguration.cs +++ b/sdk/dotnet/Network/GetVpnServerConfiguration.cs @@ -75,14 +75,6 @@ public GetVpnServerConfigurationInvokeArgs() [OutputType] public sealed class GetVpnServerConfigurationResult { - /// - /// The set of aad vpn authentication parameters. - /// - public readonly Outputs.AadAuthenticationParametersResponse? AadAuthenticationParameters; - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// - public readonly ImmutableArray ConfigurationPolicyGroups; /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -100,33 +92,9 @@ public sealed class GetVpnServerConfigurationResult /// public readonly string Name; /// - /// List of references to P2SVpnGateways. - /// - public readonly ImmutableArray P2SVpnGateways; - /// - /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - /// - public readonly string ProvisioningState; - /// - /// Radius client root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusClientRootCertificates; - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// Properties of the P2SVpnServer configuration. /// - public readonly string? RadiusServerAddress; - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusServerRootCertificates; - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - public readonly string? RadiusServerSecret; - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusServers; + public readonly Outputs.VpnServerConfigurationPropertiesResponse Properties; /// /// Resource tags. /// @@ -135,33 +103,9 @@ public sealed class GetVpnServerConfigurationResult /// Resource type. /// public readonly string Type; - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - public readonly ImmutableArray VpnAuthenticationTypes; - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientIpsecPolicies; - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientRevokedCertificates; - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientRootCertificates; - /// - /// VPN protocols for the VpnServerConfiguration. - /// - public readonly ImmutableArray VpnProtocols; [OutputConstructor] private GetVpnServerConfigurationResult( - Outputs.AadAuthenticationParametersResponse? aadAuthenticationParameters, - - ImmutableArray configurationPolicyGroups, - string etag, string? id, @@ -170,54 +114,19 @@ private GetVpnServerConfigurationResult( string name, - ImmutableArray p2SVpnGateways, - - string provisioningState, - - ImmutableArray radiusClientRootCertificates, - - string? radiusServerAddress, - - ImmutableArray radiusServerRootCertificates, - - string? radiusServerSecret, - - ImmutableArray radiusServers, + Outputs.VpnServerConfigurationPropertiesResponse properties, ImmutableDictionary? tags, - string type, - - ImmutableArray vpnAuthenticationTypes, - - ImmutableArray vpnClientIpsecPolicies, - - ImmutableArray vpnClientRevokedCertificates, - - ImmutableArray vpnClientRootCertificates, - - ImmutableArray vpnProtocols) + string type) { - AadAuthenticationParameters = aadAuthenticationParameters; - ConfigurationPolicyGroups = configurationPolicyGroups; Etag = etag; Id = id; Location = location; Name = name; - P2SVpnGateways = p2SVpnGateways; - ProvisioningState = provisioningState; - RadiusClientRootCertificates = radiusClientRootCertificates; - RadiusServerAddress = radiusServerAddress; - RadiusServerRootCertificates = radiusServerRootCertificates; - RadiusServerSecret = radiusServerSecret; - RadiusServers = radiusServers; + Properties = properties; Tags = tags; Type = type; - VpnAuthenticationTypes = vpnAuthenticationTypes; - VpnClientIpsecPolicies = vpnClientIpsecPolicies; - VpnClientRevokedCertificates = vpnClientRevokedCertificates; - VpnClientRootCertificates = vpnClientRootCertificates; - VpnProtocols = vpnProtocols; } } } diff --git a/sdk/dotnet/Network/Inputs/P2SVpnServerConfigurationPropertiesArgs.cs b/sdk/dotnet/Network/Inputs/P2SVpnServerConfigurationPropertiesArgs.cs new file mode 100644 index 000000000000..855ad9f4a0ef --- /dev/null +++ b/sdk/dotnet/Network/Inputs/P2SVpnServerConfigurationPropertiesArgs.cs @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.Inputs +{ + + /// + /// Parameters for P2SVpnServerConfiguration. + /// + public sealed class P2SVpnServerConfigurationPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// A unique read-only string that changes whenever the resource is updated. + /// + [Input("etag")] + public Input? Etag { get; set; } + + /// + /// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("p2SVpnServerConfigRadiusClientRootCertificates")] + private InputList? _p2SVpnServerConfigRadiusClientRootCertificates; + + /// + /// Radius client root certificate of P2SVpnServerConfiguration. + /// + public InputList P2SVpnServerConfigRadiusClientRootCertificates + { + get => _p2SVpnServerConfigRadiusClientRootCertificates ?? (_p2SVpnServerConfigRadiusClientRootCertificates = new InputList()); + set => _p2SVpnServerConfigRadiusClientRootCertificates = value; + } + + [Input("p2SVpnServerConfigRadiusServerRootCertificates")] + private InputList? _p2SVpnServerConfigRadiusServerRootCertificates; + + /// + /// Radius Server root certificate of P2SVpnServerConfiguration. + /// + public InputList P2SVpnServerConfigRadiusServerRootCertificates + { + get => _p2SVpnServerConfigRadiusServerRootCertificates ?? (_p2SVpnServerConfigRadiusServerRootCertificates = new InputList()); + set => _p2SVpnServerConfigRadiusServerRootCertificates = value; + } + + [Input("p2SVpnServerConfigVpnClientRevokedCertificates")] + private InputList? _p2SVpnServerConfigVpnClientRevokedCertificates; + + /// + /// VPN client revoked certificate of P2SVpnServerConfiguration. + /// + public InputList P2SVpnServerConfigVpnClientRevokedCertificates + { + get => _p2SVpnServerConfigVpnClientRevokedCertificates ?? (_p2SVpnServerConfigVpnClientRevokedCertificates = new InputList()); + set => _p2SVpnServerConfigVpnClientRevokedCertificates = value; + } + + [Input("p2SVpnServerConfigVpnClientRootCertificates")] + private InputList? _p2SVpnServerConfigVpnClientRootCertificates; + + /// + /// VPN client root certificate of P2SVpnServerConfiguration. + /// + public InputList P2SVpnServerConfigVpnClientRootCertificates + { + get => _p2SVpnServerConfigVpnClientRootCertificates ?? (_p2SVpnServerConfigVpnClientRootCertificates = new InputList()); + set => _p2SVpnServerConfigVpnClientRootCertificates = value; + } + + /// + /// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerAddress")] + public Input? RadiusServerAddress { get; set; } + + /// + /// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerSecret")] + public Input? RadiusServerSecret { get; set; } + + [Input("vpnClientIpsecPolicies")] + private InputList? _vpnClientIpsecPolicies; + + /// + /// VpnClientIpsecPolicies for P2SVpnServerConfiguration. + /// + public InputList VpnClientIpsecPolicies + { + get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); + set => _vpnClientIpsecPolicies = value; + } + + [Input("vpnProtocols")] + private InputList>? _vpnProtocols; + + /// + /// VPN protocols for the P2SVpnServerConfiguration. + /// + public InputList> VpnProtocols + { + get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); + set => _vpnProtocols = value; + } + + public P2SVpnServerConfigurationPropertiesArgs() + { + } + public static new P2SVpnServerConfigurationPropertiesArgs Empty => new P2SVpnServerConfigurationPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Network/Inputs/VpnServerConfigurationPropertiesArgs.cs b/sdk/dotnet/Network/Inputs/VpnServerConfigurationPropertiesArgs.cs new file mode 100644 index 000000000000..cedef9e6fb01 --- /dev/null +++ b/sdk/dotnet/Network/Inputs/VpnServerConfigurationPropertiesArgs.cs @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.Inputs +{ + + /// + /// Parameters for VpnServerConfiguration. + /// + public sealed class VpnServerConfigurationPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The set of aad vpn authentication parameters. + /// + [Input("aadAuthenticationParameters")] + public Input? AadAuthenticationParameters { get; set; } + + [Input("configurationPolicyGroups")] + private InputList? _configurationPolicyGroups; + + /// + /// List of all VpnServerConfigurationPolicyGroups. + /// + public InputList ConfigurationPolicyGroups + { + get => _configurationPolicyGroups ?? (_configurationPolicyGroups = new InputList()); + set => _configurationPolicyGroups = value; + } + + /// + /// The name of the VpnServerConfiguration that is unique within a resource group. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("radiusClientRootCertificates")] + private InputList? _radiusClientRootCertificates; + + /// + /// Radius client root certificate of VpnServerConfiguration. + /// + public InputList RadiusClientRootCertificates + { + get => _radiusClientRootCertificates ?? (_radiusClientRootCertificates = new InputList()); + set => _radiusClientRootCertificates = value; + } + + /// + /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerAddress")] + public Input? RadiusServerAddress { get; set; } + + [Input("radiusServerRootCertificates")] + private InputList? _radiusServerRootCertificates; + + /// + /// Radius Server root certificate of VpnServerConfiguration. + /// + public InputList RadiusServerRootCertificates + { + get => _radiusServerRootCertificates ?? (_radiusServerRootCertificates = new InputList()); + set => _radiusServerRootCertificates = value; + } + + /// + /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerSecret")] + public Input? RadiusServerSecret { get; set; } + + [Input("radiusServers")] + private InputList? _radiusServers; + + /// + /// Multiple Radius Server configuration for VpnServerConfiguration. + /// + public InputList RadiusServers + { + get => _radiusServers ?? (_radiusServers = new InputList()); + set => _radiusServers = value; + } + + [Input("vpnAuthenticationTypes")] + private InputList>? _vpnAuthenticationTypes; + + /// + /// VPN authentication types for the VpnServerConfiguration. + /// + public InputList> VpnAuthenticationTypes + { + get => _vpnAuthenticationTypes ?? (_vpnAuthenticationTypes = new InputList>()); + set => _vpnAuthenticationTypes = value; + } + + [Input("vpnClientIpsecPolicies")] + private InputList? _vpnClientIpsecPolicies; + + /// + /// VpnClientIpsecPolicies for VpnServerConfiguration. + /// + public InputList VpnClientIpsecPolicies + { + get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); + set => _vpnClientIpsecPolicies = value; + } + + [Input("vpnClientRevokedCertificates")] + private InputList? _vpnClientRevokedCertificates; + + /// + /// VPN client revoked certificate of VpnServerConfiguration. + /// + public InputList VpnClientRevokedCertificates + { + get => _vpnClientRevokedCertificates ?? (_vpnClientRevokedCertificates = new InputList()); + set => _vpnClientRevokedCertificates = value; + } + + [Input("vpnClientRootCertificates")] + private InputList? _vpnClientRootCertificates; + + /// + /// VPN client root certificate of VpnServerConfiguration. + /// + public InputList VpnClientRootCertificates + { + get => _vpnClientRootCertificates ?? (_vpnClientRootCertificates = new InputList()); + set => _vpnClientRootCertificates = value; + } + + [Input("vpnProtocols")] + private InputList>? _vpnProtocols; + + /// + /// VPN protocols for the VpnServerConfiguration. + /// + public InputList> VpnProtocols + { + get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); + set => _vpnProtocols = value; + } + + public VpnServerConfigurationPropertiesArgs() + { + } + public static new VpnServerConfigurationPropertiesArgs Empty => new VpnServerConfigurationPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Network/Outputs/P2SVpnServerConfigurationPropertiesResponse.cs b/sdk/dotnet/Network/Outputs/P2SVpnServerConfigurationPropertiesResponse.cs new file mode 100644 index 000000000000..90d8f1ad0cf1 --- /dev/null +++ b/sdk/dotnet/Network/Outputs/P2SVpnServerConfigurationPropertiesResponse.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.Outputs +{ + + /// + /// Parameters for P2SVpnServerConfiguration. + /// + [OutputType] + public sealed class P2SVpnServerConfigurationPropertiesResponse + { + /// + /// A unique read-only string that changes whenever the resource is updated. + /// + public readonly string? Etag; + /// + /// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + /// + public readonly string? Name; + /// + /// List of references to P2SVpnGateways. + /// + public readonly ImmutableArray P2SVpnGateways; + /// + /// Radius client root certificate of P2SVpnServerConfiguration. + /// + public readonly ImmutableArray P2SVpnServerConfigRadiusClientRootCertificates; + /// + /// Radius Server root certificate of P2SVpnServerConfiguration. + /// + public readonly ImmutableArray P2SVpnServerConfigRadiusServerRootCertificates; + /// + /// VPN client revoked certificate of P2SVpnServerConfiguration. + /// + public readonly ImmutableArray P2SVpnServerConfigVpnClientRevokedCertificates; + /// + /// VPN client root certificate of P2SVpnServerConfiguration. + /// + public readonly ImmutableArray P2SVpnServerConfigVpnClientRootCertificates; + /// + /// The provisioning state of the P2S VPN server configuration resource. + /// + public readonly string ProvisioningState; + /// + /// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerAddress; + /// + /// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerSecret; + /// + /// VpnClientIpsecPolicies for P2SVpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientIpsecPolicies; + /// + /// VPN protocols for the P2SVpnServerConfiguration. + /// + public readonly ImmutableArray VpnProtocols; + + [OutputConstructor] + private P2SVpnServerConfigurationPropertiesResponse( + string? etag, + + string? name, + + ImmutableArray p2SVpnGateways, + + ImmutableArray p2SVpnServerConfigRadiusClientRootCertificates, + + ImmutableArray p2SVpnServerConfigRadiusServerRootCertificates, + + ImmutableArray p2SVpnServerConfigVpnClientRevokedCertificates, + + ImmutableArray p2SVpnServerConfigVpnClientRootCertificates, + + string provisioningState, + + string? radiusServerAddress, + + string? radiusServerSecret, + + ImmutableArray vpnClientIpsecPolicies, + + ImmutableArray vpnProtocols) + { + Etag = etag; + Name = name; + P2SVpnGateways = p2SVpnGateways; + P2SVpnServerConfigRadiusClientRootCertificates = p2SVpnServerConfigRadiusClientRootCertificates; + P2SVpnServerConfigRadiusServerRootCertificates = p2SVpnServerConfigRadiusServerRootCertificates; + P2SVpnServerConfigVpnClientRevokedCertificates = p2SVpnServerConfigVpnClientRevokedCertificates; + P2SVpnServerConfigVpnClientRootCertificates = p2SVpnServerConfigVpnClientRootCertificates; + ProvisioningState = provisioningState; + RadiusServerAddress = radiusServerAddress; + RadiusServerSecret = radiusServerSecret; + VpnClientIpsecPolicies = vpnClientIpsecPolicies; + VpnProtocols = vpnProtocols; + } + } +} diff --git a/sdk/dotnet/Network/Outputs/VpnServerConfigurationPropertiesResponse.cs b/sdk/dotnet/Network/Outputs/VpnServerConfigurationPropertiesResponse.cs new file mode 100644 index 000000000000..a6ea67262758 --- /dev/null +++ b/sdk/dotnet/Network/Outputs/VpnServerConfigurationPropertiesResponse.cs @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.Outputs +{ + + /// + /// Parameters for VpnServerConfiguration. + /// + [OutputType] + public sealed class VpnServerConfigurationPropertiesResponse + { + /// + /// The set of aad vpn authentication parameters. + /// + public readonly Outputs.AadAuthenticationParametersResponse? AadAuthenticationParameters; + /// + /// List of all VpnServerConfigurationPolicyGroups. + /// + public readonly ImmutableArray ConfigurationPolicyGroups; + /// + /// A unique read-only string that changes whenever the resource is updated. + /// + public readonly string Etag; + /// + /// The name of the VpnServerConfiguration that is unique within a resource group. + /// + public readonly string? Name; + /// + /// List of references to P2SVpnGateways. + /// + public readonly ImmutableArray P2SVpnGateways; + /// + /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + /// + public readonly string ProvisioningState; + /// + /// Radius client root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusClientRootCertificates; + /// + /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerAddress; + /// + /// Radius Server root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusServerRootCertificates; + /// + /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerSecret; + /// + /// Multiple Radius Server configuration for VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusServers; + /// + /// VPN authentication types for the VpnServerConfiguration. + /// + public readonly ImmutableArray VpnAuthenticationTypes; + /// + /// VpnClientIpsecPolicies for VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientIpsecPolicies; + /// + /// VPN client revoked certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientRevokedCertificates; + /// + /// VPN client root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientRootCertificates; + /// + /// VPN protocols for the VpnServerConfiguration. + /// + public readonly ImmutableArray VpnProtocols; + + [OutputConstructor] + private VpnServerConfigurationPropertiesResponse( + Outputs.AadAuthenticationParametersResponse? aadAuthenticationParameters, + + ImmutableArray configurationPolicyGroups, + + string etag, + + string? name, + + ImmutableArray p2SVpnGateways, + + string provisioningState, + + ImmutableArray radiusClientRootCertificates, + + string? radiusServerAddress, + + ImmutableArray radiusServerRootCertificates, + + string? radiusServerSecret, + + ImmutableArray radiusServers, + + ImmutableArray vpnAuthenticationTypes, + + ImmutableArray vpnClientIpsecPolicies, + + ImmutableArray vpnClientRevokedCertificates, + + ImmutableArray vpnClientRootCertificates, + + ImmutableArray vpnProtocols) + { + AadAuthenticationParameters = aadAuthenticationParameters; + ConfigurationPolicyGroups = configurationPolicyGroups; + Etag = etag; + Name = name; + P2SVpnGateways = p2SVpnGateways; + ProvisioningState = provisioningState; + RadiusClientRootCertificates = radiusClientRootCertificates; + RadiusServerAddress = radiusServerAddress; + RadiusServerRootCertificates = radiusServerRootCertificates; + RadiusServerSecret = radiusServerSecret; + RadiusServers = radiusServers; + VpnAuthenticationTypes = vpnAuthenticationTypes; + VpnClientIpsecPolicies = vpnClientIpsecPolicies; + VpnClientRevokedCertificates = vpnClientRevokedCertificates; + VpnClientRootCertificates = vpnClientRootCertificates; + VpnProtocols = vpnProtocols; + } + } +} diff --git a/sdk/dotnet/Network/P2sVpnServerConfiguration.cs b/sdk/dotnet/Network/P2sVpnServerConfiguration.cs index bbd4abf8af0d..6ea0563f6c89 100644 --- a/sdk/dotnet/Network/P2sVpnServerConfiguration.cs +++ b/sdk/dotnet/Network/P2sVpnServerConfiguration.cs @@ -23,70 +23,16 @@ public partial class P2sVpnServerConfiguration : global::Pulumi.CustomResource public Output Etag { get; private set; } = null!; /// - /// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// List of references to P2SVpnGateways. + /// Properties of the P2SVpnServer configuration. /// - [Output("p2SVpnGateways")] - public Output> P2SVpnGateways { get; private set; } = null!; - - /// - /// Radius client root certificate of P2SVpnServerConfiguration. - /// - [Output("p2SVpnServerConfigRadiusClientRootCertificates")] - public Output> P2SVpnServerConfigRadiusClientRootCertificates { get; private set; } = null!; - - /// - /// Radius Server root certificate of P2SVpnServerConfiguration. - /// - [Output("p2SVpnServerConfigRadiusServerRootCertificates")] - public Output> P2SVpnServerConfigRadiusServerRootCertificates { get; private set; } = null!; - - /// - /// VPN client revoked certificate of P2SVpnServerConfiguration. - /// - [Output("p2SVpnServerConfigVpnClientRevokedCertificates")] - public Output> P2SVpnServerConfigVpnClientRevokedCertificates { get; private set; } = null!; - - /// - /// VPN client root certificate of P2SVpnServerConfiguration. - /// - [Output("p2SVpnServerConfigVpnClientRootCertificates")] - public Output> P2SVpnServerConfigVpnClientRootCertificates { get; private set; } = null!; - - /// - /// The provisioning state of the P2S VPN server configuration resource. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerAddress")] - public Output RadiusServerAddress { get; private set; } = null!; - - /// - /// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerSecret")] - public Output RadiusServerSecret { get; private set; } = null!; - - /// - /// VpnClientIpsecPolicies for P2SVpnServerConfiguration. - /// - [Output("vpnClientIpsecPolicies")] - public Output> VpnClientIpsecPolicies { get; private set; } = null!; - - /// - /// VPN protocols for the P2SVpnServerConfiguration. - /// - [Output("vpnProtocols")] - public Output> VpnProtocols { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// @@ -151,59 +97,11 @@ public sealed class P2sVpnServerConfigurationArgs : global::Pulumi.ResourceArgs public Input? Id { get; set; } /// - /// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// [Input("name")] public Input? Name { get; set; } - [Input("p2SVpnServerConfigRadiusClientRootCertificates")] - private InputList? _p2SVpnServerConfigRadiusClientRootCertificates; - - /// - /// Radius client root certificate of P2SVpnServerConfiguration. - /// - public InputList P2SVpnServerConfigRadiusClientRootCertificates - { - get => _p2SVpnServerConfigRadiusClientRootCertificates ?? (_p2SVpnServerConfigRadiusClientRootCertificates = new InputList()); - set => _p2SVpnServerConfigRadiusClientRootCertificates = value; - } - - [Input("p2SVpnServerConfigRadiusServerRootCertificates")] - private InputList? _p2SVpnServerConfigRadiusServerRootCertificates; - - /// - /// Radius Server root certificate of P2SVpnServerConfiguration. - /// - public InputList P2SVpnServerConfigRadiusServerRootCertificates - { - get => _p2SVpnServerConfigRadiusServerRootCertificates ?? (_p2SVpnServerConfigRadiusServerRootCertificates = new InputList()); - set => _p2SVpnServerConfigRadiusServerRootCertificates = value; - } - - [Input("p2SVpnServerConfigVpnClientRevokedCertificates")] - private InputList? _p2SVpnServerConfigVpnClientRevokedCertificates; - - /// - /// VPN client revoked certificate of P2SVpnServerConfiguration. - /// - public InputList P2SVpnServerConfigVpnClientRevokedCertificates - { - get => _p2SVpnServerConfigVpnClientRevokedCertificates ?? (_p2SVpnServerConfigVpnClientRevokedCertificates = new InputList()); - set => _p2SVpnServerConfigVpnClientRevokedCertificates = value; - } - - [Input("p2SVpnServerConfigVpnClientRootCertificates")] - private InputList? _p2SVpnServerConfigVpnClientRootCertificates; - - /// - /// VPN client root certificate of P2SVpnServerConfiguration. - /// - public InputList P2SVpnServerConfigVpnClientRootCertificates - { - get => _p2SVpnServerConfigVpnClientRootCertificates ?? (_p2SVpnServerConfigVpnClientRootCertificates = new InputList()); - set => _p2SVpnServerConfigVpnClientRootCertificates = value; - } - /// /// The name of the P2SVpnServerConfiguration. /// @@ -211,16 +109,10 @@ public InputList P2SVpnSe public Input? P2SVpnServerConfigurationName { get; set; } /// - /// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerAddress")] - public Input? RadiusServerAddress { get; set; } - - /// - /// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + /// Properties of the P2SVpnServer configuration. /// - [Input("radiusServerSecret")] - public Input? RadiusServerSecret { get; set; } + [Input("properties")] + public Input? Properties { get; set; } /// /// The resource group name of the VirtualWan. @@ -234,30 +126,6 @@ public InputList P2SVpnSe [Input("virtualWanName", required: true)] public Input VirtualWanName { get; set; } = null!; - [Input("vpnClientIpsecPolicies")] - private InputList? _vpnClientIpsecPolicies; - - /// - /// VpnClientIpsecPolicies for P2SVpnServerConfiguration. - /// - public InputList VpnClientIpsecPolicies - { - get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); - set => _vpnClientIpsecPolicies = value; - } - - [Input("vpnProtocols")] - private InputList>? _vpnProtocols; - - /// - /// VPN protocols for the P2SVpnServerConfiguration. - /// - public InputList> VpnProtocols - { - get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); - set => _vpnProtocols = value; - } - public P2sVpnServerConfigurationArgs() { } diff --git a/sdk/dotnet/Network/V20190701/GetP2sVpnServerConfiguration.cs b/sdk/dotnet/Network/V20190701/GetP2sVpnServerConfiguration.cs index 4c19dfa59c5b..64eb15ce75cf 100644 --- a/sdk/dotnet/Network/V20190701/GetP2sVpnServerConfiguration.cs +++ b/sdk/dotnet/Network/V20190701/GetP2sVpnServerConfiguration.cs @@ -90,49 +90,13 @@ public sealed class GetP2sVpnServerConfigurationResult /// public readonly string? Id; /// - /// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// public readonly string? Name; /// - /// List of references to P2SVpnGateways. + /// Properties of the P2SVpnServer configuration. /// - public readonly ImmutableArray P2SVpnGateways; - /// - /// Radius client root certificate of P2SVpnServerConfiguration. - /// - public readonly ImmutableArray P2SVpnServerConfigRadiusClientRootCertificates; - /// - /// Radius Server root certificate of P2SVpnServerConfiguration. - /// - public readonly ImmutableArray P2SVpnServerConfigRadiusServerRootCertificates; - /// - /// VPN client revoked certificate of P2SVpnServerConfiguration. - /// - public readonly ImmutableArray P2SVpnServerConfigVpnClientRevokedCertificates; - /// - /// VPN client root certificate of P2SVpnServerConfiguration. - /// - public readonly ImmutableArray P2SVpnServerConfigVpnClientRootCertificates; - /// - /// The provisioning state of the P2S VPN server configuration resource. - /// - public readonly string ProvisioningState; - /// - /// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - public readonly string? RadiusServerAddress; - /// - /// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - public readonly string? RadiusServerSecret; - /// - /// VpnClientIpsecPolicies for P2SVpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientIpsecPolicies; - /// - /// VPN protocols for the P2SVpnServerConfiguration. - /// - public readonly ImmutableArray VpnProtocols; + public readonly Outputs.P2SVpnServerConfigurationPropertiesResponse Properties; [OutputConstructor] private GetP2sVpnServerConfigurationResult( @@ -142,39 +106,12 @@ private GetP2sVpnServerConfigurationResult( string? name, - ImmutableArray p2SVpnGateways, - - ImmutableArray p2SVpnServerConfigRadiusClientRootCertificates, - - ImmutableArray p2SVpnServerConfigRadiusServerRootCertificates, - - ImmutableArray p2SVpnServerConfigVpnClientRevokedCertificates, - - ImmutableArray p2SVpnServerConfigVpnClientRootCertificates, - - string provisioningState, - - string? radiusServerAddress, - - string? radiusServerSecret, - - ImmutableArray vpnClientIpsecPolicies, - - ImmutableArray vpnProtocols) + Outputs.P2SVpnServerConfigurationPropertiesResponse properties) { Etag = etag; Id = id; Name = name; - P2SVpnGateways = p2SVpnGateways; - P2SVpnServerConfigRadiusClientRootCertificates = p2SVpnServerConfigRadiusClientRootCertificates; - P2SVpnServerConfigRadiusServerRootCertificates = p2SVpnServerConfigRadiusServerRootCertificates; - P2SVpnServerConfigVpnClientRevokedCertificates = p2SVpnServerConfigVpnClientRevokedCertificates; - P2SVpnServerConfigVpnClientRootCertificates = p2SVpnServerConfigVpnClientRootCertificates; - ProvisioningState = provisioningState; - RadiusServerAddress = radiusServerAddress; - RadiusServerSecret = radiusServerSecret; - VpnClientIpsecPolicies = vpnClientIpsecPolicies; - VpnProtocols = vpnProtocols; + Properties = properties; } } } diff --git a/sdk/dotnet/Network/V20190701/Inputs/P2SVpnServerConfigurationArgs.cs b/sdk/dotnet/Network/V20190701/Inputs/P2SVpnServerConfigurationArgs.cs index 65e9702d53c9..0e203d9eb1b6 100644 --- a/sdk/dotnet/Network/V20190701/Inputs/P2SVpnServerConfigurationArgs.cs +++ b/sdk/dotnet/Network/V20190701/Inputs/P2SVpnServerConfigurationArgs.cs @@ -15,12 +15,6 @@ namespace Pulumi.AzureNative.Network.V20190701.Inputs /// public sealed class P2SVpnServerConfigurationArgs : global::Pulumi.ResourceArgs { - /// - /// A unique read-only string that changes whenever the resource is updated. - /// - [Input("etag")] - public Input? Etag { get; set; } - /// /// Resource ID. /// @@ -28,94 +22,16 @@ public sealed class P2SVpnServerConfigurationArgs : global::Pulumi.ResourceArgs public Input? Id { get; set; } /// - /// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// [Input("name")] public Input? Name { get; set; } - [Input("p2SVpnServerConfigRadiusClientRootCertificates")] - private InputList? _p2SVpnServerConfigRadiusClientRootCertificates; - - /// - /// Radius client root certificate of P2SVpnServerConfiguration. - /// - public InputList P2SVpnServerConfigRadiusClientRootCertificates - { - get => _p2SVpnServerConfigRadiusClientRootCertificates ?? (_p2SVpnServerConfigRadiusClientRootCertificates = new InputList()); - set => _p2SVpnServerConfigRadiusClientRootCertificates = value; - } - - [Input("p2SVpnServerConfigRadiusServerRootCertificates")] - private InputList? _p2SVpnServerConfigRadiusServerRootCertificates; - - /// - /// Radius Server root certificate of P2SVpnServerConfiguration. - /// - public InputList P2SVpnServerConfigRadiusServerRootCertificates - { - get => _p2SVpnServerConfigRadiusServerRootCertificates ?? (_p2SVpnServerConfigRadiusServerRootCertificates = new InputList()); - set => _p2SVpnServerConfigRadiusServerRootCertificates = value; - } - - [Input("p2SVpnServerConfigVpnClientRevokedCertificates")] - private InputList? _p2SVpnServerConfigVpnClientRevokedCertificates; - - /// - /// VPN client revoked certificate of P2SVpnServerConfiguration. - /// - public InputList P2SVpnServerConfigVpnClientRevokedCertificates - { - get => _p2SVpnServerConfigVpnClientRevokedCertificates ?? (_p2SVpnServerConfigVpnClientRevokedCertificates = new InputList()); - set => _p2SVpnServerConfigVpnClientRevokedCertificates = value; - } - - [Input("p2SVpnServerConfigVpnClientRootCertificates")] - private InputList? _p2SVpnServerConfigVpnClientRootCertificates; - - /// - /// VPN client root certificate of P2SVpnServerConfiguration. - /// - public InputList P2SVpnServerConfigVpnClientRootCertificates - { - get => _p2SVpnServerConfigVpnClientRootCertificates ?? (_p2SVpnServerConfigVpnClientRootCertificates = new InputList()); - set => _p2SVpnServerConfigVpnClientRootCertificates = value; - } - /// - /// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + /// Properties of the P2SVpnServer configuration. /// - [Input("radiusServerAddress")] - public Input? RadiusServerAddress { get; set; } - - /// - /// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerSecret")] - public Input? RadiusServerSecret { get; set; } - - [Input("vpnClientIpsecPolicies")] - private InputList? _vpnClientIpsecPolicies; - - /// - /// VpnClientIpsecPolicies for P2SVpnServerConfiguration. - /// - public InputList VpnClientIpsecPolicies - { - get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); - set => _vpnClientIpsecPolicies = value; - } - - [Input("vpnProtocols")] - private InputList>? _vpnProtocols; - - /// - /// VPN protocols for the P2SVpnServerConfiguration. - /// - public InputList> VpnProtocols - { - get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); - set => _vpnProtocols = value; - } + [Input("properties")] + public Input? Properties { get; set; } public P2SVpnServerConfigurationArgs() { diff --git a/sdk/dotnet/Network/V20190701/Inputs/P2SVpnServerConfigurationPropertiesArgs.cs b/sdk/dotnet/Network/V20190701/Inputs/P2SVpnServerConfigurationPropertiesArgs.cs new file mode 100644 index 000000000000..1668b6815c13 --- /dev/null +++ b/sdk/dotnet/Network/V20190701/Inputs/P2SVpnServerConfigurationPropertiesArgs.cs @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20190701.Inputs +{ + + /// + /// Parameters for P2SVpnServerConfiguration. + /// + public sealed class P2SVpnServerConfigurationPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// A unique read-only string that changes whenever the resource is updated. + /// + [Input("etag")] + public Input? Etag { get; set; } + + /// + /// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("p2SVpnServerConfigRadiusClientRootCertificates")] + private InputList? _p2SVpnServerConfigRadiusClientRootCertificates; + + /// + /// Radius client root certificate of P2SVpnServerConfiguration. + /// + public InputList P2SVpnServerConfigRadiusClientRootCertificates + { + get => _p2SVpnServerConfigRadiusClientRootCertificates ?? (_p2SVpnServerConfigRadiusClientRootCertificates = new InputList()); + set => _p2SVpnServerConfigRadiusClientRootCertificates = value; + } + + [Input("p2SVpnServerConfigRadiusServerRootCertificates")] + private InputList? _p2SVpnServerConfigRadiusServerRootCertificates; + + /// + /// Radius Server root certificate of P2SVpnServerConfiguration. + /// + public InputList P2SVpnServerConfigRadiusServerRootCertificates + { + get => _p2SVpnServerConfigRadiusServerRootCertificates ?? (_p2SVpnServerConfigRadiusServerRootCertificates = new InputList()); + set => _p2SVpnServerConfigRadiusServerRootCertificates = value; + } + + [Input("p2SVpnServerConfigVpnClientRevokedCertificates")] + private InputList? _p2SVpnServerConfigVpnClientRevokedCertificates; + + /// + /// VPN client revoked certificate of P2SVpnServerConfiguration. + /// + public InputList P2SVpnServerConfigVpnClientRevokedCertificates + { + get => _p2SVpnServerConfigVpnClientRevokedCertificates ?? (_p2SVpnServerConfigVpnClientRevokedCertificates = new InputList()); + set => _p2SVpnServerConfigVpnClientRevokedCertificates = value; + } + + [Input("p2SVpnServerConfigVpnClientRootCertificates")] + private InputList? _p2SVpnServerConfigVpnClientRootCertificates; + + /// + /// VPN client root certificate of P2SVpnServerConfiguration. + /// + public InputList P2SVpnServerConfigVpnClientRootCertificates + { + get => _p2SVpnServerConfigVpnClientRootCertificates ?? (_p2SVpnServerConfigVpnClientRootCertificates = new InputList()); + set => _p2SVpnServerConfigVpnClientRootCertificates = value; + } + + /// + /// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerAddress")] + public Input? RadiusServerAddress { get; set; } + + /// + /// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerSecret")] + public Input? RadiusServerSecret { get; set; } + + [Input("vpnClientIpsecPolicies")] + private InputList? _vpnClientIpsecPolicies; + + /// + /// VpnClientIpsecPolicies for P2SVpnServerConfiguration. + /// + public InputList VpnClientIpsecPolicies + { + get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); + set => _vpnClientIpsecPolicies = value; + } + + [Input("vpnProtocols")] + private InputList>? _vpnProtocols; + + /// + /// VPN protocols for the P2SVpnServerConfiguration. + /// + public InputList> VpnProtocols + { + get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); + set => _vpnProtocols = value; + } + + public P2SVpnServerConfigurationPropertiesArgs() + { + } + public static new P2SVpnServerConfigurationPropertiesArgs Empty => new P2SVpnServerConfigurationPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Network/V20190701/Outputs/P2SVpnServerConfigurationPropertiesResponse.cs b/sdk/dotnet/Network/V20190701/Outputs/P2SVpnServerConfigurationPropertiesResponse.cs new file mode 100644 index 000000000000..b677f6fca54b --- /dev/null +++ b/sdk/dotnet/Network/V20190701/Outputs/P2SVpnServerConfigurationPropertiesResponse.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20190701.Outputs +{ + + /// + /// Parameters for P2SVpnServerConfiguration. + /// + [OutputType] + public sealed class P2SVpnServerConfigurationPropertiesResponse + { + /// + /// A unique read-only string that changes whenever the resource is updated. + /// + public readonly string? Etag; + /// + /// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + /// + public readonly string? Name; + /// + /// List of references to P2SVpnGateways. + /// + public readonly ImmutableArray P2SVpnGateways; + /// + /// Radius client root certificate of P2SVpnServerConfiguration. + /// + public readonly ImmutableArray P2SVpnServerConfigRadiusClientRootCertificates; + /// + /// Radius Server root certificate of P2SVpnServerConfiguration. + /// + public readonly ImmutableArray P2SVpnServerConfigRadiusServerRootCertificates; + /// + /// VPN client revoked certificate of P2SVpnServerConfiguration. + /// + public readonly ImmutableArray P2SVpnServerConfigVpnClientRevokedCertificates; + /// + /// VPN client root certificate of P2SVpnServerConfiguration. + /// + public readonly ImmutableArray P2SVpnServerConfigVpnClientRootCertificates; + /// + /// The provisioning state of the P2S VPN server configuration resource. + /// + public readonly string ProvisioningState; + /// + /// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerAddress; + /// + /// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerSecret; + /// + /// VpnClientIpsecPolicies for P2SVpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientIpsecPolicies; + /// + /// VPN protocols for the P2SVpnServerConfiguration. + /// + public readonly ImmutableArray VpnProtocols; + + [OutputConstructor] + private P2SVpnServerConfigurationPropertiesResponse( + string? etag, + + string? name, + + ImmutableArray p2SVpnGateways, + + ImmutableArray p2SVpnServerConfigRadiusClientRootCertificates, + + ImmutableArray p2SVpnServerConfigRadiusServerRootCertificates, + + ImmutableArray p2SVpnServerConfigVpnClientRevokedCertificates, + + ImmutableArray p2SVpnServerConfigVpnClientRootCertificates, + + string provisioningState, + + string? radiusServerAddress, + + string? radiusServerSecret, + + ImmutableArray vpnClientIpsecPolicies, + + ImmutableArray vpnProtocols) + { + Etag = etag; + Name = name; + P2SVpnGateways = p2SVpnGateways; + P2SVpnServerConfigRadiusClientRootCertificates = p2SVpnServerConfigRadiusClientRootCertificates; + P2SVpnServerConfigRadiusServerRootCertificates = p2SVpnServerConfigRadiusServerRootCertificates; + P2SVpnServerConfigVpnClientRevokedCertificates = p2SVpnServerConfigVpnClientRevokedCertificates; + P2SVpnServerConfigVpnClientRootCertificates = p2SVpnServerConfigVpnClientRootCertificates; + ProvisioningState = provisioningState; + RadiusServerAddress = radiusServerAddress; + RadiusServerSecret = radiusServerSecret; + VpnClientIpsecPolicies = vpnClientIpsecPolicies; + VpnProtocols = vpnProtocols; + } + } +} diff --git a/sdk/dotnet/Network/V20190701/Outputs/P2SVpnServerConfigurationResponse.cs b/sdk/dotnet/Network/V20190701/Outputs/P2SVpnServerConfigurationResponse.cs index a55f515e7966..3a5c7c729846 100644 --- a/sdk/dotnet/Network/V20190701/Outputs/P2SVpnServerConfigurationResponse.cs +++ b/sdk/dotnet/Network/V20190701/Outputs/P2SVpnServerConfigurationResponse.cs @@ -25,49 +25,13 @@ public sealed class P2SVpnServerConfigurationResponse /// public readonly string? Id; /// - /// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// public readonly string? Name; /// - /// List of references to P2SVpnGateways. + /// Properties of the P2SVpnServer configuration. /// - public readonly ImmutableArray P2SVpnGateways; - /// - /// Radius client root certificate of P2SVpnServerConfiguration. - /// - public readonly ImmutableArray P2SVpnServerConfigRadiusClientRootCertificates; - /// - /// Radius Server root certificate of P2SVpnServerConfiguration. - /// - public readonly ImmutableArray P2SVpnServerConfigRadiusServerRootCertificates; - /// - /// VPN client revoked certificate of P2SVpnServerConfiguration. - /// - public readonly ImmutableArray P2SVpnServerConfigVpnClientRevokedCertificates; - /// - /// VPN client root certificate of P2SVpnServerConfiguration. - /// - public readonly ImmutableArray P2SVpnServerConfigVpnClientRootCertificates; - /// - /// The provisioning state of the P2S VPN server configuration resource. - /// - public readonly string ProvisioningState; - /// - /// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - public readonly string? RadiusServerAddress; - /// - /// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - public readonly string? RadiusServerSecret; - /// - /// VpnClientIpsecPolicies for P2SVpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientIpsecPolicies; - /// - /// VPN protocols for the P2SVpnServerConfiguration. - /// - public readonly ImmutableArray VpnProtocols; + public readonly Outputs.P2SVpnServerConfigurationPropertiesResponse? Properties; [OutputConstructor] private P2SVpnServerConfigurationResponse( @@ -77,39 +41,12 @@ private P2SVpnServerConfigurationResponse( string? name, - ImmutableArray p2SVpnGateways, - - ImmutableArray p2SVpnServerConfigRadiusClientRootCertificates, - - ImmutableArray p2SVpnServerConfigRadiusServerRootCertificates, - - ImmutableArray p2SVpnServerConfigVpnClientRevokedCertificates, - - ImmutableArray p2SVpnServerConfigVpnClientRootCertificates, - - string provisioningState, - - string? radiusServerAddress, - - string? radiusServerSecret, - - ImmutableArray vpnClientIpsecPolicies, - - ImmutableArray vpnProtocols) + Outputs.P2SVpnServerConfigurationPropertiesResponse? properties) { Etag = etag; Id = id; Name = name; - P2SVpnGateways = p2SVpnGateways; - P2SVpnServerConfigRadiusClientRootCertificates = p2SVpnServerConfigRadiusClientRootCertificates; - P2SVpnServerConfigRadiusServerRootCertificates = p2SVpnServerConfigRadiusServerRootCertificates; - P2SVpnServerConfigVpnClientRevokedCertificates = p2SVpnServerConfigVpnClientRevokedCertificates; - P2SVpnServerConfigVpnClientRootCertificates = p2SVpnServerConfigVpnClientRootCertificates; - ProvisioningState = provisioningState; - RadiusServerAddress = radiusServerAddress; - RadiusServerSecret = radiusServerSecret; - VpnClientIpsecPolicies = vpnClientIpsecPolicies; - VpnProtocols = vpnProtocols; + Properties = properties; } } } diff --git a/sdk/dotnet/Network/V20190701/P2sVpnServerConfiguration.cs b/sdk/dotnet/Network/V20190701/P2sVpnServerConfiguration.cs index c7bdc44b2d6d..63ee6998613b 100644 --- a/sdk/dotnet/Network/V20190701/P2sVpnServerConfiguration.cs +++ b/sdk/dotnet/Network/V20190701/P2sVpnServerConfiguration.cs @@ -22,70 +22,16 @@ public partial class P2sVpnServerConfiguration : global::Pulumi.CustomResource public Output Etag { get; private set; } = null!; /// - /// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// List of references to P2SVpnGateways. + /// Properties of the P2SVpnServer configuration. /// - [Output("p2SVpnGateways")] - public Output> P2SVpnGateways { get; private set; } = null!; - - /// - /// Radius client root certificate of P2SVpnServerConfiguration. - /// - [Output("p2SVpnServerConfigRadiusClientRootCertificates")] - public Output> P2SVpnServerConfigRadiusClientRootCertificates { get; private set; } = null!; - - /// - /// Radius Server root certificate of P2SVpnServerConfiguration. - /// - [Output("p2SVpnServerConfigRadiusServerRootCertificates")] - public Output> P2SVpnServerConfigRadiusServerRootCertificates { get; private set; } = null!; - - /// - /// VPN client revoked certificate of P2SVpnServerConfiguration. - /// - [Output("p2SVpnServerConfigVpnClientRevokedCertificates")] - public Output> P2SVpnServerConfigVpnClientRevokedCertificates { get; private set; } = null!; - - /// - /// VPN client root certificate of P2SVpnServerConfiguration. - /// - [Output("p2SVpnServerConfigVpnClientRootCertificates")] - public Output> P2SVpnServerConfigVpnClientRootCertificates { get; private set; } = null!; - - /// - /// The provisioning state of the P2S VPN server configuration resource. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerAddress")] - public Output RadiusServerAddress { get; private set; } = null!; - - /// - /// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerSecret")] - public Output RadiusServerSecret { get; private set; } = null!; - - /// - /// VpnClientIpsecPolicies for P2SVpnServerConfiguration. - /// - [Output("vpnClientIpsecPolicies")] - public Output> VpnClientIpsecPolicies { get; private set; } = null!; - - /// - /// VPN protocols for the P2SVpnServerConfiguration. - /// - [Output("vpnProtocols")] - public Output> VpnProtocols { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// @@ -150,59 +96,11 @@ public sealed class P2sVpnServerConfigurationArgs : global::Pulumi.ResourceArgs public Input? Id { get; set; } /// - /// The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// [Input("name")] public Input? Name { get; set; } - [Input("p2SVpnServerConfigRadiusClientRootCertificates")] - private InputList? _p2SVpnServerConfigRadiusClientRootCertificates; - - /// - /// Radius client root certificate of P2SVpnServerConfiguration. - /// - public InputList P2SVpnServerConfigRadiusClientRootCertificates - { - get => _p2SVpnServerConfigRadiusClientRootCertificates ?? (_p2SVpnServerConfigRadiusClientRootCertificates = new InputList()); - set => _p2SVpnServerConfigRadiusClientRootCertificates = value; - } - - [Input("p2SVpnServerConfigRadiusServerRootCertificates")] - private InputList? _p2SVpnServerConfigRadiusServerRootCertificates; - - /// - /// Radius Server root certificate of P2SVpnServerConfiguration. - /// - public InputList P2SVpnServerConfigRadiusServerRootCertificates - { - get => _p2SVpnServerConfigRadiusServerRootCertificates ?? (_p2SVpnServerConfigRadiusServerRootCertificates = new InputList()); - set => _p2SVpnServerConfigRadiusServerRootCertificates = value; - } - - [Input("p2SVpnServerConfigVpnClientRevokedCertificates")] - private InputList? _p2SVpnServerConfigVpnClientRevokedCertificates; - - /// - /// VPN client revoked certificate of P2SVpnServerConfiguration. - /// - public InputList P2SVpnServerConfigVpnClientRevokedCertificates - { - get => _p2SVpnServerConfigVpnClientRevokedCertificates ?? (_p2SVpnServerConfigVpnClientRevokedCertificates = new InputList()); - set => _p2SVpnServerConfigVpnClientRevokedCertificates = value; - } - - [Input("p2SVpnServerConfigVpnClientRootCertificates")] - private InputList? _p2SVpnServerConfigVpnClientRootCertificates; - - /// - /// VPN client root certificate of P2SVpnServerConfiguration. - /// - public InputList P2SVpnServerConfigVpnClientRootCertificates - { - get => _p2SVpnServerConfigVpnClientRootCertificates ?? (_p2SVpnServerConfigVpnClientRootCertificates = new InputList()); - set => _p2SVpnServerConfigVpnClientRootCertificates = value; - } - /// /// The name of the P2SVpnServerConfiguration. /// @@ -210,16 +108,10 @@ public InputList P2SVpnSe public Input? P2SVpnServerConfigurationName { get; set; } /// - /// The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerAddress")] - public Input? RadiusServerAddress { get; set; } - - /// - /// The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + /// Properties of the P2SVpnServer configuration. /// - [Input("radiusServerSecret")] - public Input? RadiusServerSecret { get; set; } + [Input("properties")] + public Input? Properties { get; set; } /// /// The resource group name of the VirtualWan. @@ -233,30 +125,6 @@ public InputList P2SVpnSe [Input("virtualWanName", required: true)] public Input VirtualWanName { get; set; } = null!; - [Input("vpnClientIpsecPolicies")] - private InputList? _vpnClientIpsecPolicies; - - /// - /// VpnClientIpsecPolicies for P2SVpnServerConfiguration. - /// - public InputList VpnClientIpsecPolicies - { - get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); - set => _vpnClientIpsecPolicies = value; - } - - [Input("vpnProtocols")] - private InputList>? _vpnProtocols; - - /// - /// VPN protocols for the P2SVpnServerConfiguration. - /// - public InputList> VpnProtocols - { - get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); - set => _vpnProtocols = value; - } - public P2sVpnServerConfigurationArgs() { } diff --git a/sdk/dotnet/Network/V20230201/GetVpnServerConfiguration.cs b/sdk/dotnet/Network/V20230201/GetVpnServerConfiguration.cs index 310bfe253adc..7051eb9c449c 100644 --- a/sdk/dotnet/Network/V20230201/GetVpnServerConfiguration.cs +++ b/sdk/dotnet/Network/V20230201/GetVpnServerConfiguration.cs @@ -69,14 +69,6 @@ public GetVpnServerConfigurationInvokeArgs() [OutputType] public sealed class GetVpnServerConfigurationResult { - /// - /// The set of aad vpn authentication parameters. - /// - public readonly Outputs.AadAuthenticationParametersResponse? AadAuthenticationParameters; - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// - public readonly ImmutableArray ConfigurationPolicyGroups; /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -94,33 +86,9 @@ public sealed class GetVpnServerConfigurationResult /// public readonly string Name; /// - /// List of references to P2SVpnGateways. - /// - public readonly ImmutableArray P2SVpnGateways; - /// - /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - /// - public readonly string ProvisioningState; - /// - /// Radius client root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusClientRootCertificates; - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// Properties of the P2SVpnServer configuration. /// - public readonly string? RadiusServerAddress; - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusServerRootCertificates; - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - public readonly string? RadiusServerSecret; - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusServers; + public readonly Outputs.VpnServerConfigurationPropertiesResponse Properties; /// /// Resource tags. /// @@ -129,33 +97,9 @@ public sealed class GetVpnServerConfigurationResult /// Resource type. /// public readonly string Type; - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - public readonly ImmutableArray VpnAuthenticationTypes; - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientIpsecPolicies; - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientRevokedCertificates; - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientRootCertificates; - /// - /// VPN protocols for the VpnServerConfiguration. - /// - public readonly ImmutableArray VpnProtocols; [OutputConstructor] private GetVpnServerConfigurationResult( - Outputs.AadAuthenticationParametersResponse? aadAuthenticationParameters, - - ImmutableArray configurationPolicyGroups, - string etag, string? id, @@ -164,54 +108,19 @@ private GetVpnServerConfigurationResult( string name, - ImmutableArray p2SVpnGateways, - - string provisioningState, - - ImmutableArray radiusClientRootCertificates, - - string? radiusServerAddress, - - ImmutableArray radiusServerRootCertificates, - - string? radiusServerSecret, - - ImmutableArray radiusServers, + Outputs.VpnServerConfigurationPropertiesResponse properties, ImmutableDictionary? tags, - string type, - - ImmutableArray vpnAuthenticationTypes, - - ImmutableArray vpnClientIpsecPolicies, - - ImmutableArray vpnClientRevokedCertificates, - - ImmutableArray vpnClientRootCertificates, - - ImmutableArray vpnProtocols) + string type) { - AadAuthenticationParameters = aadAuthenticationParameters; - ConfigurationPolicyGroups = configurationPolicyGroups; Etag = etag; Id = id; Location = location; Name = name; - P2SVpnGateways = p2SVpnGateways; - ProvisioningState = provisioningState; - RadiusClientRootCertificates = radiusClientRootCertificates; - RadiusServerAddress = radiusServerAddress; - RadiusServerRootCertificates = radiusServerRootCertificates; - RadiusServerSecret = radiusServerSecret; - RadiusServers = radiusServers; + Properties = properties; Tags = tags; Type = type; - VpnAuthenticationTypes = vpnAuthenticationTypes; - VpnClientIpsecPolicies = vpnClientIpsecPolicies; - VpnClientRevokedCertificates = vpnClientRevokedCertificates; - VpnClientRootCertificates = vpnClientRootCertificates; - VpnProtocols = vpnProtocols; } } } diff --git a/sdk/dotnet/Network/V20230201/Inputs/VpnServerConfigurationPropertiesArgs.cs b/sdk/dotnet/Network/V20230201/Inputs/VpnServerConfigurationPropertiesArgs.cs new file mode 100644 index 000000000000..2dfacda857df --- /dev/null +++ b/sdk/dotnet/Network/V20230201/Inputs/VpnServerConfigurationPropertiesArgs.cs @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230201.Inputs +{ + + /// + /// Parameters for VpnServerConfiguration. + /// + public sealed class VpnServerConfigurationPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The set of aad vpn authentication parameters. + /// + [Input("aadAuthenticationParameters")] + public Input? AadAuthenticationParameters { get; set; } + + [Input("configurationPolicyGroups")] + private InputList? _configurationPolicyGroups; + + /// + /// List of all VpnServerConfigurationPolicyGroups. + /// + public InputList ConfigurationPolicyGroups + { + get => _configurationPolicyGroups ?? (_configurationPolicyGroups = new InputList()); + set => _configurationPolicyGroups = value; + } + + /// + /// The name of the VpnServerConfiguration that is unique within a resource group. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("radiusClientRootCertificates")] + private InputList? _radiusClientRootCertificates; + + /// + /// Radius client root certificate of VpnServerConfiguration. + /// + public InputList RadiusClientRootCertificates + { + get => _radiusClientRootCertificates ?? (_radiusClientRootCertificates = new InputList()); + set => _radiusClientRootCertificates = value; + } + + /// + /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerAddress")] + public Input? RadiusServerAddress { get; set; } + + [Input("radiusServerRootCertificates")] + private InputList? _radiusServerRootCertificates; + + /// + /// Radius Server root certificate of VpnServerConfiguration. + /// + public InputList RadiusServerRootCertificates + { + get => _radiusServerRootCertificates ?? (_radiusServerRootCertificates = new InputList()); + set => _radiusServerRootCertificates = value; + } + + /// + /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerSecret")] + public Input? RadiusServerSecret { get; set; } + + [Input("radiusServers")] + private InputList? _radiusServers; + + /// + /// Multiple Radius Server configuration for VpnServerConfiguration. + /// + public InputList RadiusServers + { + get => _radiusServers ?? (_radiusServers = new InputList()); + set => _radiusServers = value; + } + + [Input("vpnAuthenticationTypes")] + private InputList>? _vpnAuthenticationTypes; + + /// + /// VPN authentication types for the VpnServerConfiguration. + /// + public InputList> VpnAuthenticationTypes + { + get => _vpnAuthenticationTypes ?? (_vpnAuthenticationTypes = new InputList>()); + set => _vpnAuthenticationTypes = value; + } + + [Input("vpnClientIpsecPolicies")] + private InputList? _vpnClientIpsecPolicies; + + /// + /// VpnClientIpsecPolicies for VpnServerConfiguration. + /// + public InputList VpnClientIpsecPolicies + { + get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); + set => _vpnClientIpsecPolicies = value; + } + + [Input("vpnClientRevokedCertificates")] + private InputList? _vpnClientRevokedCertificates; + + /// + /// VPN client revoked certificate of VpnServerConfiguration. + /// + public InputList VpnClientRevokedCertificates + { + get => _vpnClientRevokedCertificates ?? (_vpnClientRevokedCertificates = new InputList()); + set => _vpnClientRevokedCertificates = value; + } + + [Input("vpnClientRootCertificates")] + private InputList? _vpnClientRootCertificates; + + /// + /// VPN client root certificate of VpnServerConfiguration. + /// + public InputList VpnClientRootCertificates + { + get => _vpnClientRootCertificates ?? (_vpnClientRootCertificates = new InputList()); + set => _vpnClientRootCertificates = value; + } + + [Input("vpnProtocols")] + private InputList>? _vpnProtocols; + + /// + /// VPN protocols for the VpnServerConfiguration. + /// + public InputList> VpnProtocols + { + get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); + set => _vpnProtocols = value; + } + + public VpnServerConfigurationPropertiesArgs() + { + } + public static new VpnServerConfigurationPropertiesArgs Empty => new VpnServerConfigurationPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Network/V20230201/Outputs/VpnServerConfigurationPropertiesResponse.cs b/sdk/dotnet/Network/V20230201/Outputs/VpnServerConfigurationPropertiesResponse.cs new file mode 100644 index 000000000000..fa5a4d608810 --- /dev/null +++ b/sdk/dotnet/Network/V20230201/Outputs/VpnServerConfigurationPropertiesResponse.cs @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230201.Outputs +{ + + /// + /// Parameters for VpnServerConfiguration. + /// + [OutputType] + public sealed class VpnServerConfigurationPropertiesResponse + { + /// + /// The set of aad vpn authentication parameters. + /// + public readonly Outputs.AadAuthenticationParametersResponse? AadAuthenticationParameters; + /// + /// List of all VpnServerConfigurationPolicyGroups. + /// + public readonly ImmutableArray ConfigurationPolicyGroups; + /// + /// A unique read-only string that changes whenever the resource is updated. + /// + public readonly string Etag; + /// + /// The name of the VpnServerConfiguration that is unique within a resource group. + /// + public readonly string? Name; + /// + /// List of references to P2SVpnGateways. + /// + public readonly ImmutableArray P2SVpnGateways; + /// + /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + /// + public readonly string ProvisioningState; + /// + /// Radius client root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusClientRootCertificates; + /// + /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerAddress; + /// + /// Radius Server root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusServerRootCertificates; + /// + /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerSecret; + /// + /// Multiple Radius Server configuration for VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusServers; + /// + /// VPN authentication types for the VpnServerConfiguration. + /// + public readonly ImmutableArray VpnAuthenticationTypes; + /// + /// VpnClientIpsecPolicies for VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientIpsecPolicies; + /// + /// VPN client revoked certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientRevokedCertificates; + /// + /// VPN client root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientRootCertificates; + /// + /// VPN protocols for the VpnServerConfiguration. + /// + public readonly ImmutableArray VpnProtocols; + + [OutputConstructor] + private VpnServerConfigurationPropertiesResponse( + Outputs.AadAuthenticationParametersResponse? aadAuthenticationParameters, + + ImmutableArray configurationPolicyGroups, + + string etag, + + string? name, + + ImmutableArray p2SVpnGateways, + + string provisioningState, + + ImmutableArray radiusClientRootCertificates, + + string? radiusServerAddress, + + ImmutableArray radiusServerRootCertificates, + + string? radiusServerSecret, + + ImmutableArray radiusServers, + + ImmutableArray vpnAuthenticationTypes, + + ImmutableArray vpnClientIpsecPolicies, + + ImmutableArray vpnClientRevokedCertificates, + + ImmutableArray vpnClientRootCertificates, + + ImmutableArray vpnProtocols) + { + AadAuthenticationParameters = aadAuthenticationParameters; + ConfigurationPolicyGroups = configurationPolicyGroups; + Etag = etag; + Name = name; + P2SVpnGateways = p2SVpnGateways; + ProvisioningState = provisioningState; + RadiusClientRootCertificates = radiusClientRootCertificates; + RadiusServerAddress = radiusServerAddress; + RadiusServerRootCertificates = radiusServerRootCertificates; + RadiusServerSecret = radiusServerSecret; + RadiusServers = radiusServers; + VpnAuthenticationTypes = vpnAuthenticationTypes; + VpnClientIpsecPolicies = vpnClientIpsecPolicies; + VpnClientRevokedCertificates = vpnClientRevokedCertificates; + VpnClientRootCertificates = vpnClientRootCertificates; + VpnProtocols = vpnProtocols; + } + } +} diff --git a/sdk/dotnet/Network/V20230201/VpnServerConfiguration.cs b/sdk/dotnet/Network/V20230201/VpnServerConfiguration.cs index 9bb1d3d17f29..c401eaf5e647 100644 --- a/sdk/dotnet/Network/V20230201/VpnServerConfiguration.cs +++ b/sdk/dotnet/Network/V20230201/VpnServerConfiguration.cs @@ -15,18 +15,6 @@ namespace Pulumi.AzureNative.Network.V20230201 [AzureNativeResourceType("azure-native:network/v20230201:VpnServerConfiguration")] public partial class VpnServerConfiguration : global::Pulumi.CustomResource { - /// - /// The set of aad vpn authentication parameters. - /// - [Output("aadAuthenticationParameters")] - public Output AadAuthenticationParameters { get; private set; } = null!; - - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// - [Output("configurationPolicyGroups")] - public Output> ConfigurationPolicyGroups { get; private set; } = null!; - /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -46,46 +34,10 @@ public partial class VpnServerConfiguration : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// List of references to P2SVpnGateways. + /// Properties of the P2SVpnServer configuration. /// - [Output("p2SVpnGateways")] - public Output> P2SVpnGateways { get; private set; } = null!; - - /// - /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// Radius client root certificate of VpnServerConfiguration. - /// - [Output("radiusClientRootCertificates")] - public Output> RadiusClientRootCertificates { get; private set; } = null!; - - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerAddress")] - public Output RadiusServerAddress { get; private set; } = null!; - - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - [Output("radiusServerRootCertificates")] - public Output> RadiusServerRootCertificates { get; private set; } = null!; - - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerSecret")] - public Output RadiusServerSecret { get; private set; } = null!; - - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - [Output("radiusServers")] - public Output> RadiusServers { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// /// Resource tags. @@ -99,36 +51,6 @@ public partial class VpnServerConfiguration : global::Pulumi.CustomResource [Output("type")] public Output Type { get; private set; } = null!; - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - [Output("vpnAuthenticationTypes")] - public Output> VpnAuthenticationTypes { get; private set; } = null!; - - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - [Output("vpnClientIpsecPolicies")] - public Output> VpnClientIpsecPolicies { get; private set; } = null!; - - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - [Output("vpnClientRevokedCertificates")] - public Output> VpnClientRevokedCertificates { get; private set; } = null!; - - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - [Output("vpnClientRootCertificates")] - public Output> VpnClientRootCertificates { get; private set; } = null!; - - /// - /// VPN protocols for the VpnServerConfiguration. - /// - [Output("vpnProtocols")] - public Output> VpnProtocols { get; private set; } = null!; - /// /// Create a VpnServerConfiguration resource with the given unique name, arguments, and options. @@ -202,25 +124,6 @@ public static VpnServerConfiguration Get(string name, Input id, CustomRe public sealed class VpnServerConfigurationArgs : global::Pulumi.ResourceArgs { - /// - /// The set of aad vpn authentication parameters. - /// - [Input("aadAuthenticationParameters")] - public Input? AadAuthenticationParameters { get; set; } - - [Input("configurationPolicyGroups")] - private InputList? _configurationPolicyGroups; - - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - /// - public InputList ConfigurationPolicyGroups - { - get => _configurationPolicyGroups ?? (_configurationPolicyGroups = new InputList()); - set => _configurationPolicyGroups = value; - } - /// /// Resource ID. /// @@ -234,58 +137,16 @@ public InputList ConfigurationPoli public Input? Location { get; set; } /// - /// The name of the VpnServerConfiguration that is unique within a resource group. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// [Input("name")] public Input? Name { get; set; } - [Input("radiusClientRootCertificates")] - private InputList? _radiusClientRootCertificates; - /// - /// Radius client root certificate of VpnServerConfiguration. + /// Properties of the P2SVpnServer configuration. /// - public InputList RadiusClientRootCertificates - { - get => _radiusClientRootCertificates ?? (_radiusClientRootCertificates = new InputList()); - set => _radiusClientRootCertificates = value; - } - - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerAddress")] - public Input? RadiusServerAddress { get; set; } - - [Input("radiusServerRootCertificates")] - private InputList? _radiusServerRootCertificates; - - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - public InputList RadiusServerRootCertificates - { - get => _radiusServerRootCertificates ?? (_radiusServerRootCertificates = new InputList()); - set => _radiusServerRootCertificates = value; - } - - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerSecret")] - public Input? RadiusServerSecret { get; set; } - - [Input("radiusServers")] - private InputList? _radiusServers; - - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - public InputList RadiusServers - { - get => _radiusServers ?? (_radiusServers = new InputList()); - set => _radiusServers = value; - } + [Input("properties")] + public Input? Properties { get; set; } /// /// The resource group name of the VpnServerConfiguration. @@ -305,66 +166,6 @@ public InputMap Tags set => _tags = value; } - [Input("vpnAuthenticationTypes")] - private InputList>? _vpnAuthenticationTypes; - - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - public InputList> VpnAuthenticationTypes - { - get => _vpnAuthenticationTypes ?? (_vpnAuthenticationTypes = new InputList>()); - set => _vpnAuthenticationTypes = value; - } - - [Input("vpnClientIpsecPolicies")] - private InputList? _vpnClientIpsecPolicies; - - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - public InputList VpnClientIpsecPolicies - { - get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); - set => _vpnClientIpsecPolicies = value; - } - - [Input("vpnClientRevokedCertificates")] - private InputList? _vpnClientRevokedCertificates; - - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - public InputList VpnClientRevokedCertificates - { - get => _vpnClientRevokedCertificates ?? (_vpnClientRevokedCertificates = new InputList()); - set => _vpnClientRevokedCertificates = value; - } - - [Input("vpnClientRootCertificates")] - private InputList? _vpnClientRootCertificates; - - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - public InputList VpnClientRootCertificates - { - get => _vpnClientRootCertificates ?? (_vpnClientRootCertificates = new InputList()); - set => _vpnClientRootCertificates = value; - } - - [Input("vpnProtocols")] - private InputList>? _vpnProtocols; - - /// - /// VPN protocols for the VpnServerConfiguration. - /// - public InputList> VpnProtocols - { - get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); - set => _vpnProtocols = value; - } - /// /// The name of the VpnServerConfiguration being created or updated. /// diff --git a/sdk/dotnet/Network/V20230401/GetVpnServerConfiguration.cs b/sdk/dotnet/Network/V20230401/GetVpnServerConfiguration.cs index 76372df62259..36a6a6b324c6 100644 --- a/sdk/dotnet/Network/V20230401/GetVpnServerConfiguration.cs +++ b/sdk/dotnet/Network/V20230401/GetVpnServerConfiguration.cs @@ -69,14 +69,6 @@ public GetVpnServerConfigurationInvokeArgs() [OutputType] public sealed class GetVpnServerConfigurationResult { - /// - /// The set of aad vpn authentication parameters. - /// - public readonly Outputs.AadAuthenticationParametersResponse? AadAuthenticationParameters; - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// - public readonly ImmutableArray ConfigurationPolicyGroups; /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -94,33 +86,9 @@ public sealed class GetVpnServerConfigurationResult /// public readonly string Name; /// - /// List of references to P2SVpnGateways. - /// - public readonly ImmutableArray P2SVpnGateways; - /// - /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - /// - public readonly string ProvisioningState; - /// - /// Radius client root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusClientRootCertificates; - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// Properties of the P2SVpnServer configuration. /// - public readonly string? RadiusServerAddress; - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusServerRootCertificates; - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - public readonly string? RadiusServerSecret; - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusServers; + public readonly Outputs.VpnServerConfigurationPropertiesResponse Properties; /// /// Resource tags. /// @@ -129,33 +97,9 @@ public sealed class GetVpnServerConfigurationResult /// Resource type. /// public readonly string Type; - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - public readonly ImmutableArray VpnAuthenticationTypes; - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientIpsecPolicies; - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientRevokedCertificates; - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientRootCertificates; - /// - /// VPN protocols for the VpnServerConfiguration. - /// - public readonly ImmutableArray VpnProtocols; [OutputConstructor] private GetVpnServerConfigurationResult( - Outputs.AadAuthenticationParametersResponse? aadAuthenticationParameters, - - ImmutableArray configurationPolicyGroups, - string etag, string? id, @@ -164,54 +108,19 @@ private GetVpnServerConfigurationResult( string name, - ImmutableArray p2SVpnGateways, - - string provisioningState, - - ImmutableArray radiusClientRootCertificates, - - string? radiusServerAddress, - - ImmutableArray radiusServerRootCertificates, - - string? radiusServerSecret, - - ImmutableArray radiusServers, + Outputs.VpnServerConfigurationPropertiesResponse properties, ImmutableDictionary? tags, - string type, - - ImmutableArray vpnAuthenticationTypes, - - ImmutableArray vpnClientIpsecPolicies, - - ImmutableArray vpnClientRevokedCertificates, - - ImmutableArray vpnClientRootCertificates, - - ImmutableArray vpnProtocols) + string type) { - AadAuthenticationParameters = aadAuthenticationParameters; - ConfigurationPolicyGroups = configurationPolicyGroups; Etag = etag; Id = id; Location = location; Name = name; - P2SVpnGateways = p2SVpnGateways; - ProvisioningState = provisioningState; - RadiusClientRootCertificates = radiusClientRootCertificates; - RadiusServerAddress = radiusServerAddress; - RadiusServerRootCertificates = radiusServerRootCertificates; - RadiusServerSecret = radiusServerSecret; - RadiusServers = radiusServers; + Properties = properties; Tags = tags; Type = type; - VpnAuthenticationTypes = vpnAuthenticationTypes; - VpnClientIpsecPolicies = vpnClientIpsecPolicies; - VpnClientRevokedCertificates = vpnClientRevokedCertificates; - VpnClientRootCertificates = vpnClientRootCertificates; - VpnProtocols = vpnProtocols; } } } diff --git a/sdk/dotnet/Network/V20230401/Inputs/VpnServerConfigurationPropertiesArgs.cs b/sdk/dotnet/Network/V20230401/Inputs/VpnServerConfigurationPropertiesArgs.cs new file mode 100644 index 000000000000..4e3f07f6eca8 --- /dev/null +++ b/sdk/dotnet/Network/V20230401/Inputs/VpnServerConfigurationPropertiesArgs.cs @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230401.Inputs +{ + + /// + /// Parameters for VpnServerConfiguration. + /// + public sealed class VpnServerConfigurationPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The set of aad vpn authentication parameters. + /// + [Input("aadAuthenticationParameters")] + public Input? AadAuthenticationParameters { get; set; } + + [Input("configurationPolicyGroups")] + private InputList? _configurationPolicyGroups; + + /// + /// List of all VpnServerConfigurationPolicyGroups. + /// + public InputList ConfigurationPolicyGroups + { + get => _configurationPolicyGroups ?? (_configurationPolicyGroups = new InputList()); + set => _configurationPolicyGroups = value; + } + + /// + /// The name of the VpnServerConfiguration that is unique within a resource group. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("radiusClientRootCertificates")] + private InputList? _radiusClientRootCertificates; + + /// + /// Radius client root certificate of VpnServerConfiguration. + /// + public InputList RadiusClientRootCertificates + { + get => _radiusClientRootCertificates ?? (_radiusClientRootCertificates = new InputList()); + set => _radiusClientRootCertificates = value; + } + + /// + /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerAddress")] + public Input? RadiusServerAddress { get; set; } + + [Input("radiusServerRootCertificates")] + private InputList? _radiusServerRootCertificates; + + /// + /// Radius Server root certificate of VpnServerConfiguration. + /// + public InputList RadiusServerRootCertificates + { + get => _radiusServerRootCertificates ?? (_radiusServerRootCertificates = new InputList()); + set => _radiusServerRootCertificates = value; + } + + /// + /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerSecret")] + public Input? RadiusServerSecret { get; set; } + + [Input("radiusServers")] + private InputList? _radiusServers; + + /// + /// Multiple Radius Server configuration for VpnServerConfiguration. + /// + public InputList RadiusServers + { + get => _radiusServers ?? (_radiusServers = new InputList()); + set => _radiusServers = value; + } + + [Input("vpnAuthenticationTypes")] + private InputList>? _vpnAuthenticationTypes; + + /// + /// VPN authentication types for the VpnServerConfiguration. + /// + public InputList> VpnAuthenticationTypes + { + get => _vpnAuthenticationTypes ?? (_vpnAuthenticationTypes = new InputList>()); + set => _vpnAuthenticationTypes = value; + } + + [Input("vpnClientIpsecPolicies")] + private InputList? _vpnClientIpsecPolicies; + + /// + /// VpnClientIpsecPolicies for VpnServerConfiguration. + /// + public InputList VpnClientIpsecPolicies + { + get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); + set => _vpnClientIpsecPolicies = value; + } + + [Input("vpnClientRevokedCertificates")] + private InputList? _vpnClientRevokedCertificates; + + /// + /// VPN client revoked certificate of VpnServerConfiguration. + /// + public InputList VpnClientRevokedCertificates + { + get => _vpnClientRevokedCertificates ?? (_vpnClientRevokedCertificates = new InputList()); + set => _vpnClientRevokedCertificates = value; + } + + [Input("vpnClientRootCertificates")] + private InputList? _vpnClientRootCertificates; + + /// + /// VPN client root certificate of VpnServerConfiguration. + /// + public InputList VpnClientRootCertificates + { + get => _vpnClientRootCertificates ?? (_vpnClientRootCertificates = new InputList()); + set => _vpnClientRootCertificates = value; + } + + [Input("vpnProtocols")] + private InputList>? _vpnProtocols; + + /// + /// VPN protocols for the VpnServerConfiguration. + /// + public InputList> VpnProtocols + { + get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); + set => _vpnProtocols = value; + } + + public VpnServerConfigurationPropertiesArgs() + { + } + public static new VpnServerConfigurationPropertiesArgs Empty => new VpnServerConfigurationPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Network/V20230401/Outputs/VpnServerConfigurationPropertiesResponse.cs b/sdk/dotnet/Network/V20230401/Outputs/VpnServerConfigurationPropertiesResponse.cs new file mode 100644 index 000000000000..93dbd368dbb7 --- /dev/null +++ b/sdk/dotnet/Network/V20230401/Outputs/VpnServerConfigurationPropertiesResponse.cs @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230401.Outputs +{ + + /// + /// Parameters for VpnServerConfiguration. + /// + [OutputType] + public sealed class VpnServerConfigurationPropertiesResponse + { + /// + /// The set of aad vpn authentication parameters. + /// + public readonly Outputs.AadAuthenticationParametersResponse? AadAuthenticationParameters; + /// + /// List of all VpnServerConfigurationPolicyGroups. + /// + public readonly ImmutableArray ConfigurationPolicyGroups; + /// + /// A unique read-only string that changes whenever the resource is updated. + /// + public readonly string Etag; + /// + /// The name of the VpnServerConfiguration that is unique within a resource group. + /// + public readonly string? Name; + /// + /// List of references to P2SVpnGateways. + /// + public readonly ImmutableArray P2SVpnGateways; + /// + /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + /// + public readonly string ProvisioningState; + /// + /// Radius client root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusClientRootCertificates; + /// + /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerAddress; + /// + /// Radius Server root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusServerRootCertificates; + /// + /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerSecret; + /// + /// Multiple Radius Server configuration for VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusServers; + /// + /// VPN authentication types for the VpnServerConfiguration. + /// + public readonly ImmutableArray VpnAuthenticationTypes; + /// + /// VpnClientIpsecPolicies for VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientIpsecPolicies; + /// + /// VPN client revoked certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientRevokedCertificates; + /// + /// VPN client root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientRootCertificates; + /// + /// VPN protocols for the VpnServerConfiguration. + /// + public readonly ImmutableArray VpnProtocols; + + [OutputConstructor] + private VpnServerConfigurationPropertiesResponse( + Outputs.AadAuthenticationParametersResponse? aadAuthenticationParameters, + + ImmutableArray configurationPolicyGroups, + + string etag, + + string? name, + + ImmutableArray p2SVpnGateways, + + string provisioningState, + + ImmutableArray radiusClientRootCertificates, + + string? radiusServerAddress, + + ImmutableArray radiusServerRootCertificates, + + string? radiusServerSecret, + + ImmutableArray radiusServers, + + ImmutableArray vpnAuthenticationTypes, + + ImmutableArray vpnClientIpsecPolicies, + + ImmutableArray vpnClientRevokedCertificates, + + ImmutableArray vpnClientRootCertificates, + + ImmutableArray vpnProtocols) + { + AadAuthenticationParameters = aadAuthenticationParameters; + ConfigurationPolicyGroups = configurationPolicyGroups; + Etag = etag; + Name = name; + P2SVpnGateways = p2SVpnGateways; + ProvisioningState = provisioningState; + RadiusClientRootCertificates = radiusClientRootCertificates; + RadiusServerAddress = radiusServerAddress; + RadiusServerRootCertificates = radiusServerRootCertificates; + RadiusServerSecret = radiusServerSecret; + RadiusServers = radiusServers; + VpnAuthenticationTypes = vpnAuthenticationTypes; + VpnClientIpsecPolicies = vpnClientIpsecPolicies; + VpnClientRevokedCertificates = vpnClientRevokedCertificates; + VpnClientRootCertificates = vpnClientRootCertificates; + VpnProtocols = vpnProtocols; + } + } +} diff --git a/sdk/dotnet/Network/V20230401/VpnServerConfiguration.cs b/sdk/dotnet/Network/V20230401/VpnServerConfiguration.cs index 2e7041bb93bc..6bb59568406e 100644 --- a/sdk/dotnet/Network/V20230401/VpnServerConfiguration.cs +++ b/sdk/dotnet/Network/V20230401/VpnServerConfiguration.cs @@ -15,18 +15,6 @@ namespace Pulumi.AzureNative.Network.V20230401 [AzureNativeResourceType("azure-native:network/v20230401:VpnServerConfiguration")] public partial class VpnServerConfiguration : global::Pulumi.CustomResource { - /// - /// The set of aad vpn authentication parameters. - /// - [Output("aadAuthenticationParameters")] - public Output AadAuthenticationParameters { get; private set; } = null!; - - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// - [Output("configurationPolicyGroups")] - public Output> ConfigurationPolicyGroups { get; private set; } = null!; - /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -46,46 +34,10 @@ public partial class VpnServerConfiguration : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// List of references to P2SVpnGateways. + /// Properties of the P2SVpnServer configuration. /// - [Output("p2SVpnGateways")] - public Output> P2SVpnGateways { get; private set; } = null!; - - /// - /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// Radius client root certificate of VpnServerConfiguration. - /// - [Output("radiusClientRootCertificates")] - public Output> RadiusClientRootCertificates { get; private set; } = null!; - - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerAddress")] - public Output RadiusServerAddress { get; private set; } = null!; - - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - [Output("radiusServerRootCertificates")] - public Output> RadiusServerRootCertificates { get; private set; } = null!; - - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerSecret")] - public Output RadiusServerSecret { get; private set; } = null!; - - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - [Output("radiusServers")] - public Output> RadiusServers { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// /// Resource tags. @@ -99,36 +51,6 @@ public partial class VpnServerConfiguration : global::Pulumi.CustomResource [Output("type")] public Output Type { get; private set; } = null!; - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - [Output("vpnAuthenticationTypes")] - public Output> VpnAuthenticationTypes { get; private set; } = null!; - - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - [Output("vpnClientIpsecPolicies")] - public Output> VpnClientIpsecPolicies { get; private set; } = null!; - - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - [Output("vpnClientRevokedCertificates")] - public Output> VpnClientRevokedCertificates { get; private set; } = null!; - - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - [Output("vpnClientRootCertificates")] - public Output> VpnClientRootCertificates { get; private set; } = null!; - - /// - /// VPN protocols for the VpnServerConfiguration. - /// - [Output("vpnProtocols")] - public Output> VpnProtocols { get; private set; } = null!; - /// /// Create a VpnServerConfiguration resource with the given unique name, arguments, and options. @@ -202,25 +124,6 @@ public static VpnServerConfiguration Get(string name, Input id, CustomRe public sealed class VpnServerConfigurationArgs : global::Pulumi.ResourceArgs { - /// - /// The set of aad vpn authentication parameters. - /// - [Input("aadAuthenticationParameters")] - public Input? AadAuthenticationParameters { get; set; } - - [Input("configurationPolicyGroups")] - private InputList? _configurationPolicyGroups; - - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - /// - public InputList ConfigurationPolicyGroups - { - get => _configurationPolicyGroups ?? (_configurationPolicyGroups = new InputList()); - set => _configurationPolicyGroups = value; - } - /// /// Resource ID. /// @@ -234,58 +137,16 @@ public InputList ConfigurationPoli public Input? Location { get; set; } /// - /// The name of the VpnServerConfiguration that is unique within a resource group. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// [Input("name")] public Input? Name { get; set; } - [Input("radiusClientRootCertificates")] - private InputList? _radiusClientRootCertificates; - /// - /// Radius client root certificate of VpnServerConfiguration. + /// Properties of the P2SVpnServer configuration. /// - public InputList RadiusClientRootCertificates - { - get => _radiusClientRootCertificates ?? (_radiusClientRootCertificates = new InputList()); - set => _radiusClientRootCertificates = value; - } - - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerAddress")] - public Input? RadiusServerAddress { get; set; } - - [Input("radiusServerRootCertificates")] - private InputList? _radiusServerRootCertificates; - - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - public InputList RadiusServerRootCertificates - { - get => _radiusServerRootCertificates ?? (_radiusServerRootCertificates = new InputList()); - set => _radiusServerRootCertificates = value; - } - - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerSecret")] - public Input? RadiusServerSecret { get; set; } - - [Input("radiusServers")] - private InputList? _radiusServers; - - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - public InputList RadiusServers - { - get => _radiusServers ?? (_radiusServers = new InputList()); - set => _radiusServers = value; - } + [Input("properties")] + public Input? Properties { get; set; } /// /// The resource group name of the VpnServerConfiguration. @@ -305,66 +166,6 @@ public InputMap Tags set => _tags = value; } - [Input("vpnAuthenticationTypes")] - private InputList>? _vpnAuthenticationTypes; - - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - public InputList> VpnAuthenticationTypes - { - get => _vpnAuthenticationTypes ?? (_vpnAuthenticationTypes = new InputList>()); - set => _vpnAuthenticationTypes = value; - } - - [Input("vpnClientIpsecPolicies")] - private InputList? _vpnClientIpsecPolicies; - - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - public InputList VpnClientIpsecPolicies - { - get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); - set => _vpnClientIpsecPolicies = value; - } - - [Input("vpnClientRevokedCertificates")] - private InputList? _vpnClientRevokedCertificates; - - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - public InputList VpnClientRevokedCertificates - { - get => _vpnClientRevokedCertificates ?? (_vpnClientRevokedCertificates = new InputList()); - set => _vpnClientRevokedCertificates = value; - } - - [Input("vpnClientRootCertificates")] - private InputList? _vpnClientRootCertificates; - - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - public InputList VpnClientRootCertificates - { - get => _vpnClientRootCertificates ?? (_vpnClientRootCertificates = new InputList()); - set => _vpnClientRootCertificates = value; - } - - [Input("vpnProtocols")] - private InputList>? _vpnProtocols; - - /// - /// VPN protocols for the VpnServerConfiguration. - /// - public InputList> VpnProtocols - { - get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); - set => _vpnProtocols = value; - } - /// /// The name of the VpnServerConfiguration being created or updated. /// diff --git a/sdk/dotnet/Network/V20230501/GetVpnServerConfiguration.cs b/sdk/dotnet/Network/V20230501/GetVpnServerConfiguration.cs index 1ee32fa79c4d..c1608d3e1881 100644 --- a/sdk/dotnet/Network/V20230501/GetVpnServerConfiguration.cs +++ b/sdk/dotnet/Network/V20230501/GetVpnServerConfiguration.cs @@ -69,14 +69,6 @@ public GetVpnServerConfigurationInvokeArgs() [OutputType] public sealed class GetVpnServerConfigurationResult { - /// - /// The set of aad vpn authentication parameters. - /// - public readonly Outputs.AadAuthenticationParametersResponse? AadAuthenticationParameters; - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// - public readonly ImmutableArray ConfigurationPolicyGroups; /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -94,33 +86,9 @@ public sealed class GetVpnServerConfigurationResult /// public readonly string Name; /// - /// List of references to P2SVpnGateways. - /// - public readonly ImmutableArray P2SVpnGateways; - /// - /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - /// - public readonly string ProvisioningState; - /// - /// Radius client root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusClientRootCertificates; - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// Properties of the P2SVpnServer configuration. /// - public readonly string? RadiusServerAddress; - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusServerRootCertificates; - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - public readonly string? RadiusServerSecret; - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusServers; + public readonly Outputs.VpnServerConfigurationPropertiesResponse Properties; /// /// Resource tags. /// @@ -129,33 +97,9 @@ public sealed class GetVpnServerConfigurationResult /// Resource type. /// public readonly string Type; - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - public readonly ImmutableArray VpnAuthenticationTypes; - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientIpsecPolicies; - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientRevokedCertificates; - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientRootCertificates; - /// - /// VPN protocols for the VpnServerConfiguration. - /// - public readonly ImmutableArray VpnProtocols; [OutputConstructor] private GetVpnServerConfigurationResult( - Outputs.AadAuthenticationParametersResponse? aadAuthenticationParameters, - - ImmutableArray configurationPolicyGroups, - string etag, string? id, @@ -164,54 +108,19 @@ private GetVpnServerConfigurationResult( string name, - ImmutableArray p2SVpnGateways, - - string provisioningState, - - ImmutableArray radiusClientRootCertificates, - - string? radiusServerAddress, - - ImmutableArray radiusServerRootCertificates, - - string? radiusServerSecret, - - ImmutableArray radiusServers, + Outputs.VpnServerConfigurationPropertiesResponse properties, ImmutableDictionary? tags, - string type, - - ImmutableArray vpnAuthenticationTypes, - - ImmutableArray vpnClientIpsecPolicies, - - ImmutableArray vpnClientRevokedCertificates, - - ImmutableArray vpnClientRootCertificates, - - ImmutableArray vpnProtocols) + string type) { - AadAuthenticationParameters = aadAuthenticationParameters; - ConfigurationPolicyGroups = configurationPolicyGroups; Etag = etag; Id = id; Location = location; Name = name; - P2SVpnGateways = p2SVpnGateways; - ProvisioningState = provisioningState; - RadiusClientRootCertificates = radiusClientRootCertificates; - RadiusServerAddress = radiusServerAddress; - RadiusServerRootCertificates = radiusServerRootCertificates; - RadiusServerSecret = radiusServerSecret; - RadiusServers = radiusServers; + Properties = properties; Tags = tags; Type = type; - VpnAuthenticationTypes = vpnAuthenticationTypes; - VpnClientIpsecPolicies = vpnClientIpsecPolicies; - VpnClientRevokedCertificates = vpnClientRevokedCertificates; - VpnClientRootCertificates = vpnClientRootCertificates; - VpnProtocols = vpnProtocols; } } } diff --git a/sdk/dotnet/Network/V20230501/Inputs/VpnServerConfigurationPropertiesArgs.cs b/sdk/dotnet/Network/V20230501/Inputs/VpnServerConfigurationPropertiesArgs.cs new file mode 100644 index 000000000000..16b689d06e73 --- /dev/null +++ b/sdk/dotnet/Network/V20230501/Inputs/VpnServerConfigurationPropertiesArgs.cs @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230501.Inputs +{ + + /// + /// Parameters for VpnServerConfiguration. + /// + public sealed class VpnServerConfigurationPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The set of aad vpn authentication parameters. + /// + [Input("aadAuthenticationParameters")] + public Input? AadAuthenticationParameters { get; set; } + + [Input("configurationPolicyGroups")] + private InputList? _configurationPolicyGroups; + + /// + /// List of all VpnServerConfigurationPolicyGroups. + /// + public InputList ConfigurationPolicyGroups + { + get => _configurationPolicyGroups ?? (_configurationPolicyGroups = new InputList()); + set => _configurationPolicyGroups = value; + } + + /// + /// The name of the VpnServerConfiguration that is unique within a resource group. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("radiusClientRootCertificates")] + private InputList? _radiusClientRootCertificates; + + /// + /// Radius client root certificate of VpnServerConfiguration. + /// + public InputList RadiusClientRootCertificates + { + get => _radiusClientRootCertificates ?? (_radiusClientRootCertificates = new InputList()); + set => _radiusClientRootCertificates = value; + } + + /// + /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerAddress")] + public Input? RadiusServerAddress { get; set; } + + [Input("radiusServerRootCertificates")] + private InputList? _radiusServerRootCertificates; + + /// + /// Radius Server root certificate of VpnServerConfiguration. + /// + public InputList RadiusServerRootCertificates + { + get => _radiusServerRootCertificates ?? (_radiusServerRootCertificates = new InputList()); + set => _radiusServerRootCertificates = value; + } + + /// + /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerSecret")] + public Input? RadiusServerSecret { get; set; } + + [Input("radiusServers")] + private InputList? _radiusServers; + + /// + /// Multiple Radius Server configuration for VpnServerConfiguration. + /// + public InputList RadiusServers + { + get => _radiusServers ?? (_radiusServers = new InputList()); + set => _radiusServers = value; + } + + [Input("vpnAuthenticationTypes")] + private InputList>? _vpnAuthenticationTypes; + + /// + /// VPN authentication types for the VpnServerConfiguration. + /// + public InputList> VpnAuthenticationTypes + { + get => _vpnAuthenticationTypes ?? (_vpnAuthenticationTypes = new InputList>()); + set => _vpnAuthenticationTypes = value; + } + + [Input("vpnClientIpsecPolicies")] + private InputList? _vpnClientIpsecPolicies; + + /// + /// VpnClientIpsecPolicies for VpnServerConfiguration. + /// + public InputList VpnClientIpsecPolicies + { + get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); + set => _vpnClientIpsecPolicies = value; + } + + [Input("vpnClientRevokedCertificates")] + private InputList? _vpnClientRevokedCertificates; + + /// + /// VPN client revoked certificate of VpnServerConfiguration. + /// + public InputList VpnClientRevokedCertificates + { + get => _vpnClientRevokedCertificates ?? (_vpnClientRevokedCertificates = new InputList()); + set => _vpnClientRevokedCertificates = value; + } + + [Input("vpnClientRootCertificates")] + private InputList? _vpnClientRootCertificates; + + /// + /// VPN client root certificate of VpnServerConfiguration. + /// + public InputList VpnClientRootCertificates + { + get => _vpnClientRootCertificates ?? (_vpnClientRootCertificates = new InputList()); + set => _vpnClientRootCertificates = value; + } + + [Input("vpnProtocols")] + private InputList>? _vpnProtocols; + + /// + /// VPN protocols for the VpnServerConfiguration. + /// + public InputList> VpnProtocols + { + get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); + set => _vpnProtocols = value; + } + + public VpnServerConfigurationPropertiesArgs() + { + } + public static new VpnServerConfigurationPropertiesArgs Empty => new VpnServerConfigurationPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Network/V20230501/Outputs/VpnServerConfigurationPropertiesResponse.cs b/sdk/dotnet/Network/V20230501/Outputs/VpnServerConfigurationPropertiesResponse.cs new file mode 100644 index 000000000000..ca3322e76c5d --- /dev/null +++ b/sdk/dotnet/Network/V20230501/Outputs/VpnServerConfigurationPropertiesResponse.cs @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230501.Outputs +{ + + /// + /// Parameters for VpnServerConfiguration. + /// + [OutputType] + public sealed class VpnServerConfigurationPropertiesResponse + { + /// + /// The set of aad vpn authentication parameters. + /// + public readonly Outputs.AadAuthenticationParametersResponse? AadAuthenticationParameters; + /// + /// List of all VpnServerConfigurationPolicyGroups. + /// + public readonly ImmutableArray ConfigurationPolicyGroups; + /// + /// A unique read-only string that changes whenever the resource is updated. + /// + public readonly string Etag; + /// + /// The name of the VpnServerConfiguration that is unique within a resource group. + /// + public readonly string? Name; + /// + /// List of references to P2SVpnGateways. + /// + public readonly ImmutableArray P2SVpnGateways; + /// + /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + /// + public readonly string ProvisioningState; + /// + /// Radius client root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusClientRootCertificates; + /// + /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerAddress; + /// + /// Radius Server root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusServerRootCertificates; + /// + /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerSecret; + /// + /// Multiple Radius Server configuration for VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusServers; + /// + /// VPN authentication types for the VpnServerConfiguration. + /// + public readonly ImmutableArray VpnAuthenticationTypes; + /// + /// VpnClientIpsecPolicies for VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientIpsecPolicies; + /// + /// VPN client revoked certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientRevokedCertificates; + /// + /// VPN client root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientRootCertificates; + /// + /// VPN protocols for the VpnServerConfiguration. + /// + public readonly ImmutableArray VpnProtocols; + + [OutputConstructor] + private VpnServerConfigurationPropertiesResponse( + Outputs.AadAuthenticationParametersResponse? aadAuthenticationParameters, + + ImmutableArray configurationPolicyGroups, + + string etag, + + string? name, + + ImmutableArray p2SVpnGateways, + + string provisioningState, + + ImmutableArray radiusClientRootCertificates, + + string? radiusServerAddress, + + ImmutableArray radiusServerRootCertificates, + + string? radiusServerSecret, + + ImmutableArray radiusServers, + + ImmutableArray vpnAuthenticationTypes, + + ImmutableArray vpnClientIpsecPolicies, + + ImmutableArray vpnClientRevokedCertificates, + + ImmutableArray vpnClientRootCertificates, + + ImmutableArray vpnProtocols) + { + AadAuthenticationParameters = aadAuthenticationParameters; + ConfigurationPolicyGroups = configurationPolicyGroups; + Etag = etag; + Name = name; + P2SVpnGateways = p2SVpnGateways; + ProvisioningState = provisioningState; + RadiusClientRootCertificates = radiusClientRootCertificates; + RadiusServerAddress = radiusServerAddress; + RadiusServerRootCertificates = radiusServerRootCertificates; + RadiusServerSecret = radiusServerSecret; + RadiusServers = radiusServers; + VpnAuthenticationTypes = vpnAuthenticationTypes; + VpnClientIpsecPolicies = vpnClientIpsecPolicies; + VpnClientRevokedCertificates = vpnClientRevokedCertificates; + VpnClientRootCertificates = vpnClientRootCertificates; + VpnProtocols = vpnProtocols; + } + } +} diff --git a/sdk/dotnet/Network/V20230501/VpnServerConfiguration.cs b/sdk/dotnet/Network/V20230501/VpnServerConfiguration.cs index f825f87416fb..bc755a0181d2 100644 --- a/sdk/dotnet/Network/V20230501/VpnServerConfiguration.cs +++ b/sdk/dotnet/Network/V20230501/VpnServerConfiguration.cs @@ -15,18 +15,6 @@ namespace Pulumi.AzureNative.Network.V20230501 [AzureNativeResourceType("azure-native:network/v20230501:VpnServerConfiguration")] public partial class VpnServerConfiguration : global::Pulumi.CustomResource { - /// - /// The set of aad vpn authentication parameters. - /// - [Output("aadAuthenticationParameters")] - public Output AadAuthenticationParameters { get; private set; } = null!; - - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// - [Output("configurationPolicyGroups")] - public Output> ConfigurationPolicyGroups { get; private set; } = null!; - /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -46,46 +34,10 @@ public partial class VpnServerConfiguration : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// List of references to P2SVpnGateways. + /// Properties of the P2SVpnServer configuration. /// - [Output("p2SVpnGateways")] - public Output> P2SVpnGateways { get; private set; } = null!; - - /// - /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// Radius client root certificate of VpnServerConfiguration. - /// - [Output("radiusClientRootCertificates")] - public Output> RadiusClientRootCertificates { get; private set; } = null!; - - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerAddress")] - public Output RadiusServerAddress { get; private set; } = null!; - - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - [Output("radiusServerRootCertificates")] - public Output> RadiusServerRootCertificates { get; private set; } = null!; - - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerSecret")] - public Output RadiusServerSecret { get; private set; } = null!; - - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - [Output("radiusServers")] - public Output> RadiusServers { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// /// Resource tags. @@ -99,36 +51,6 @@ public partial class VpnServerConfiguration : global::Pulumi.CustomResource [Output("type")] public Output Type { get; private set; } = null!; - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - [Output("vpnAuthenticationTypes")] - public Output> VpnAuthenticationTypes { get; private set; } = null!; - - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - [Output("vpnClientIpsecPolicies")] - public Output> VpnClientIpsecPolicies { get; private set; } = null!; - - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - [Output("vpnClientRevokedCertificates")] - public Output> VpnClientRevokedCertificates { get; private set; } = null!; - - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - [Output("vpnClientRootCertificates")] - public Output> VpnClientRootCertificates { get; private set; } = null!; - - /// - /// VPN protocols for the VpnServerConfiguration. - /// - [Output("vpnProtocols")] - public Output> VpnProtocols { get; private set; } = null!; - /// /// Create a VpnServerConfiguration resource with the given unique name, arguments, and options. @@ -202,25 +124,6 @@ public static VpnServerConfiguration Get(string name, Input id, CustomRe public sealed class VpnServerConfigurationArgs : global::Pulumi.ResourceArgs { - /// - /// The set of aad vpn authentication parameters. - /// - [Input("aadAuthenticationParameters")] - public Input? AadAuthenticationParameters { get; set; } - - [Input("configurationPolicyGroups")] - private InputList? _configurationPolicyGroups; - - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - /// - public InputList ConfigurationPolicyGroups - { - get => _configurationPolicyGroups ?? (_configurationPolicyGroups = new InputList()); - set => _configurationPolicyGroups = value; - } - /// /// Resource ID. /// @@ -234,58 +137,16 @@ public InputList ConfigurationPoli public Input? Location { get; set; } /// - /// The name of the VpnServerConfiguration that is unique within a resource group. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// [Input("name")] public Input? Name { get; set; } - [Input("radiusClientRootCertificates")] - private InputList? _radiusClientRootCertificates; - /// - /// Radius client root certificate of VpnServerConfiguration. + /// Properties of the P2SVpnServer configuration. /// - public InputList RadiusClientRootCertificates - { - get => _radiusClientRootCertificates ?? (_radiusClientRootCertificates = new InputList()); - set => _radiusClientRootCertificates = value; - } - - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerAddress")] - public Input? RadiusServerAddress { get; set; } - - [Input("radiusServerRootCertificates")] - private InputList? _radiusServerRootCertificates; - - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - public InputList RadiusServerRootCertificates - { - get => _radiusServerRootCertificates ?? (_radiusServerRootCertificates = new InputList()); - set => _radiusServerRootCertificates = value; - } - - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerSecret")] - public Input? RadiusServerSecret { get; set; } - - [Input("radiusServers")] - private InputList? _radiusServers; - - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - public InputList RadiusServers - { - get => _radiusServers ?? (_radiusServers = new InputList()); - set => _radiusServers = value; - } + [Input("properties")] + public Input? Properties { get; set; } /// /// The resource group name of the VpnServerConfiguration. @@ -305,66 +166,6 @@ public InputMap Tags set => _tags = value; } - [Input("vpnAuthenticationTypes")] - private InputList>? _vpnAuthenticationTypes; - - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - public InputList> VpnAuthenticationTypes - { - get => _vpnAuthenticationTypes ?? (_vpnAuthenticationTypes = new InputList>()); - set => _vpnAuthenticationTypes = value; - } - - [Input("vpnClientIpsecPolicies")] - private InputList? _vpnClientIpsecPolicies; - - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - public InputList VpnClientIpsecPolicies - { - get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); - set => _vpnClientIpsecPolicies = value; - } - - [Input("vpnClientRevokedCertificates")] - private InputList? _vpnClientRevokedCertificates; - - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - public InputList VpnClientRevokedCertificates - { - get => _vpnClientRevokedCertificates ?? (_vpnClientRevokedCertificates = new InputList()); - set => _vpnClientRevokedCertificates = value; - } - - [Input("vpnClientRootCertificates")] - private InputList? _vpnClientRootCertificates; - - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - public InputList VpnClientRootCertificates - { - get => _vpnClientRootCertificates ?? (_vpnClientRootCertificates = new InputList()); - set => _vpnClientRootCertificates = value; - } - - [Input("vpnProtocols")] - private InputList>? _vpnProtocols; - - /// - /// VPN protocols for the VpnServerConfiguration. - /// - public InputList> VpnProtocols - { - get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); - set => _vpnProtocols = value; - } - /// /// The name of the VpnServerConfiguration being created or updated. /// diff --git a/sdk/dotnet/Network/V20230601/GetNetworkVirtualApplianceConnection.cs b/sdk/dotnet/Network/V20230601/GetNetworkVirtualApplianceConnection.cs index 922dc36c31b6..204bed5784ba 100644 --- a/sdk/dotnet/Network/V20230601/GetNetworkVirtualApplianceConnection.cs +++ b/sdk/dotnet/Network/V20230601/GetNetworkVirtualApplianceConnection.cs @@ -81,18 +81,6 @@ public GetNetworkVirtualApplianceConnectionInvokeArgs() [OutputType] public sealed class GetNetworkVirtualApplianceConnectionResult { - /// - /// Network Virtual Appliance ASN. - /// - public readonly double? Asn; - /// - /// List of bgpPeerAddresses for the NVA instances - /// - public readonly ImmutableArray BgpPeerAddress; - /// - /// Enable internet security. - /// - public readonly bool? EnableInternetSecurity; /// /// Resource ID. /// @@ -102,44 +90,21 @@ public sealed class GetNetworkVirtualApplianceConnectionResult /// public readonly string? Name; /// - /// The provisioning state of the NetworkVirtualApplianceConnection resource. - /// - public readonly string ProvisioningState; - /// - /// The Routing Configuration indicating the associated and propagated route tables on this connection. + /// Properties of the express route connection. /// - public readonly Outputs.RoutingConfigurationResponse? RoutingConfiguration; - /// - /// Unique identifier for the connection. - /// - public readonly double? TunnelIdentifier; + public readonly Outputs.NetworkVirtualApplianceConnectionPropertiesResponse Properties; [OutputConstructor] private GetNetworkVirtualApplianceConnectionResult( - double? asn, - - ImmutableArray bgpPeerAddress, - - bool? enableInternetSecurity, - string? id, string? name, - string provisioningState, - - Outputs.RoutingConfigurationResponse? routingConfiguration, - - double? tunnelIdentifier) + Outputs.NetworkVirtualApplianceConnectionPropertiesResponse properties) { - Asn = asn; - BgpPeerAddress = bgpPeerAddress; - EnableInternetSecurity = enableInternetSecurity; Id = id; Name = name; - ProvisioningState = provisioningState; - RoutingConfiguration = routingConfiguration; - TunnelIdentifier = tunnelIdentifier; + Properties = properties; } } } diff --git a/sdk/dotnet/Network/V20230601/GetVpnServerConfiguration.cs b/sdk/dotnet/Network/V20230601/GetVpnServerConfiguration.cs index b2f109c4e22e..262d925a844c 100644 --- a/sdk/dotnet/Network/V20230601/GetVpnServerConfiguration.cs +++ b/sdk/dotnet/Network/V20230601/GetVpnServerConfiguration.cs @@ -69,14 +69,6 @@ public GetVpnServerConfigurationInvokeArgs() [OutputType] public sealed class GetVpnServerConfigurationResult { - /// - /// The set of aad vpn authentication parameters. - /// - public readonly Outputs.AadAuthenticationParametersResponse? AadAuthenticationParameters; - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// - public readonly ImmutableArray ConfigurationPolicyGroups; /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -94,33 +86,9 @@ public sealed class GetVpnServerConfigurationResult /// public readonly string Name; /// - /// List of references to P2SVpnGateways. - /// - public readonly ImmutableArray P2SVpnGateways; - /// - /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - /// - public readonly string ProvisioningState; - /// - /// Radius client root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusClientRootCertificates; - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// Properties of the P2SVpnServer configuration. /// - public readonly string? RadiusServerAddress; - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusServerRootCertificates; - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - public readonly string? RadiusServerSecret; - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusServers; + public readonly Outputs.VpnServerConfigurationPropertiesResponse Properties; /// /// Resource tags. /// @@ -129,33 +97,9 @@ public sealed class GetVpnServerConfigurationResult /// Resource type. /// public readonly string Type; - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - public readonly ImmutableArray VpnAuthenticationTypes; - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientIpsecPolicies; - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientRevokedCertificates; - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientRootCertificates; - /// - /// VPN protocols for the VpnServerConfiguration. - /// - public readonly ImmutableArray VpnProtocols; [OutputConstructor] private GetVpnServerConfigurationResult( - Outputs.AadAuthenticationParametersResponse? aadAuthenticationParameters, - - ImmutableArray configurationPolicyGroups, - string etag, string? id, @@ -164,54 +108,19 @@ private GetVpnServerConfigurationResult( string name, - ImmutableArray p2SVpnGateways, - - string provisioningState, - - ImmutableArray radiusClientRootCertificates, - - string? radiusServerAddress, - - ImmutableArray radiusServerRootCertificates, - - string? radiusServerSecret, - - ImmutableArray radiusServers, + Outputs.VpnServerConfigurationPropertiesResponse properties, ImmutableDictionary? tags, - string type, - - ImmutableArray vpnAuthenticationTypes, - - ImmutableArray vpnClientIpsecPolicies, - - ImmutableArray vpnClientRevokedCertificates, - - ImmutableArray vpnClientRootCertificates, - - ImmutableArray vpnProtocols) + string type) { - AadAuthenticationParameters = aadAuthenticationParameters; - ConfigurationPolicyGroups = configurationPolicyGroups; Etag = etag; Id = id; Location = location; Name = name; - P2SVpnGateways = p2SVpnGateways; - ProvisioningState = provisioningState; - RadiusClientRootCertificates = radiusClientRootCertificates; - RadiusServerAddress = radiusServerAddress; - RadiusServerRootCertificates = radiusServerRootCertificates; - RadiusServerSecret = radiusServerSecret; - RadiusServers = radiusServers; + Properties = properties; Tags = tags; Type = type; - VpnAuthenticationTypes = vpnAuthenticationTypes; - VpnClientIpsecPolicies = vpnClientIpsecPolicies; - VpnClientRevokedCertificates = vpnClientRevokedCertificates; - VpnClientRootCertificates = vpnClientRootCertificates; - VpnProtocols = vpnProtocols; } } } diff --git a/sdk/dotnet/Network/V20230601/Inputs/NetworkVirtualApplianceConnectionPropertiesArgs.cs b/sdk/dotnet/Network/V20230601/Inputs/NetworkVirtualApplianceConnectionPropertiesArgs.cs new file mode 100644 index 000000000000..17c15f0680a1 --- /dev/null +++ b/sdk/dotnet/Network/V20230601/Inputs/NetworkVirtualApplianceConnectionPropertiesArgs.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230601.Inputs +{ + + /// + /// Properties of the NetworkVirtualApplianceConnection subresource. + /// + public sealed class NetworkVirtualApplianceConnectionPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Network Virtual Appliance ASN. + /// + [Input("asn")] + public Input? Asn { get; set; } + + [Input("bgpPeerAddress")] + private InputList? _bgpPeerAddress; + + /// + /// List of bgpPeerAddresses for the NVA instances + /// + public InputList BgpPeerAddress + { + get => _bgpPeerAddress ?? (_bgpPeerAddress = new InputList()); + set => _bgpPeerAddress = value; + } + + /// + /// Enable internet security. + /// + [Input("enableInternetSecurity")] + public Input? EnableInternetSecurity { get; set; } + + /// + /// The name of the resource. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The Routing Configuration indicating the associated and propagated route tables on this connection. + /// + [Input("routingConfiguration")] + public Input? RoutingConfiguration { get; set; } + + /// + /// Unique identifier for the connection. + /// + [Input("tunnelIdentifier")] + public Input? TunnelIdentifier { get; set; } + + public NetworkVirtualApplianceConnectionPropertiesArgs() + { + } + public static new NetworkVirtualApplianceConnectionPropertiesArgs Empty => new NetworkVirtualApplianceConnectionPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Network/V20230601/Inputs/VpnServerConfigurationPropertiesArgs.cs b/sdk/dotnet/Network/V20230601/Inputs/VpnServerConfigurationPropertiesArgs.cs new file mode 100644 index 000000000000..70d47b7e791b --- /dev/null +++ b/sdk/dotnet/Network/V20230601/Inputs/VpnServerConfigurationPropertiesArgs.cs @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230601.Inputs +{ + + /// + /// Parameters for VpnServerConfiguration. + /// + public sealed class VpnServerConfigurationPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The set of aad vpn authentication parameters. + /// + [Input("aadAuthenticationParameters")] + public Input? AadAuthenticationParameters { get; set; } + + [Input("configurationPolicyGroups")] + private InputList? _configurationPolicyGroups; + + /// + /// List of all VpnServerConfigurationPolicyGroups. + /// + public InputList ConfigurationPolicyGroups + { + get => _configurationPolicyGroups ?? (_configurationPolicyGroups = new InputList()); + set => _configurationPolicyGroups = value; + } + + /// + /// The name of the VpnServerConfiguration that is unique within a resource group. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("radiusClientRootCertificates")] + private InputList? _radiusClientRootCertificates; + + /// + /// Radius client root certificate of VpnServerConfiguration. + /// + public InputList RadiusClientRootCertificates + { + get => _radiusClientRootCertificates ?? (_radiusClientRootCertificates = new InputList()); + set => _radiusClientRootCertificates = value; + } + + /// + /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerAddress")] + public Input? RadiusServerAddress { get; set; } + + [Input("radiusServerRootCertificates")] + private InputList? _radiusServerRootCertificates; + + /// + /// Radius Server root certificate of VpnServerConfiguration. + /// + public InputList RadiusServerRootCertificates + { + get => _radiusServerRootCertificates ?? (_radiusServerRootCertificates = new InputList()); + set => _radiusServerRootCertificates = value; + } + + /// + /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerSecret")] + public Input? RadiusServerSecret { get; set; } + + [Input("radiusServers")] + private InputList? _radiusServers; + + /// + /// Multiple Radius Server configuration for VpnServerConfiguration. + /// + public InputList RadiusServers + { + get => _radiusServers ?? (_radiusServers = new InputList()); + set => _radiusServers = value; + } + + [Input("vpnAuthenticationTypes")] + private InputList>? _vpnAuthenticationTypes; + + /// + /// VPN authentication types for the VpnServerConfiguration. + /// + public InputList> VpnAuthenticationTypes + { + get => _vpnAuthenticationTypes ?? (_vpnAuthenticationTypes = new InputList>()); + set => _vpnAuthenticationTypes = value; + } + + [Input("vpnClientIpsecPolicies")] + private InputList? _vpnClientIpsecPolicies; + + /// + /// VpnClientIpsecPolicies for VpnServerConfiguration. + /// + public InputList VpnClientIpsecPolicies + { + get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); + set => _vpnClientIpsecPolicies = value; + } + + [Input("vpnClientRevokedCertificates")] + private InputList? _vpnClientRevokedCertificates; + + /// + /// VPN client revoked certificate of VpnServerConfiguration. + /// + public InputList VpnClientRevokedCertificates + { + get => _vpnClientRevokedCertificates ?? (_vpnClientRevokedCertificates = new InputList()); + set => _vpnClientRevokedCertificates = value; + } + + [Input("vpnClientRootCertificates")] + private InputList? _vpnClientRootCertificates; + + /// + /// VPN client root certificate of VpnServerConfiguration. + /// + public InputList VpnClientRootCertificates + { + get => _vpnClientRootCertificates ?? (_vpnClientRootCertificates = new InputList()); + set => _vpnClientRootCertificates = value; + } + + [Input("vpnProtocols")] + private InputList>? _vpnProtocols; + + /// + /// VPN protocols for the VpnServerConfiguration. + /// + public InputList> VpnProtocols + { + get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); + set => _vpnProtocols = value; + } + + public VpnServerConfigurationPropertiesArgs() + { + } + public static new VpnServerConfigurationPropertiesArgs Empty => new VpnServerConfigurationPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Network/V20230601/NetworkVirtualApplianceConnection.cs b/sdk/dotnet/Network/V20230601/NetworkVirtualApplianceConnection.cs index 1d445c8072d9..f47316c107e1 100644 --- a/sdk/dotnet/Network/V20230601/NetworkVirtualApplianceConnection.cs +++ b/sdk/dotnet/Network/V20230601/NetworkVirtualApplianceConnection.cs @@ -15,24 +15,6 @@ namespace Pulumi.AzureNative.Network.V20230601 [AzureNativeResourceType("azure-native:network/v20230601:NetworkVirtualApplianceConnection")] public partial class NetworkVirtualApplianceConnection : global::Pulumi.CustomResource { - /// - /// Network Virtual Appliance ASN. - /// - [Output("asn")] - public Output Asn { get; private set; } = null!; - - /// - /// List of bgpPeerAddresses for the NVA instances - /// - [Output("bgpPeerAddress")] - public Output> BgpPeerAddress { get; private set; } = null!; - - /// - /// Enable internet security. - /// - [Output("enableInternetSecurity")] - public Output EnableInternetSecurity { get; private set; } = null!; - /// /// The name of the resource. /// @@ -40,22 +22,10 @@ public partial class NetworkVirtualApplianceConnection : global::Pulumi.CustomRe public Output Name { get; private set; } = null!; /// - /// The provisioning state of the NetworkVirtualApplianceConnection resource. + /// Properties of the express route connection. /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// The Routing Configuration indicating the associated and propagated route tables on this connection. - /// - [Output("routingConfiguration")] - public Output RoutingConfiguration { get; private set; } = null!; - - /// - /// Unique identifier for the connection. - /// - [Output("tunnelIdentifier")] - public Output TunnelIdentifier { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// @@ -106,36 +76,12 @@ public static NetworkVirtualApplianceConnection Get(string name, Input i public sealed class NetworkVirtualApplianceConnectionArgs : global::Pulumi.ResourceArgs { - /// - /// Network Virtual Appliance ASN. - /// - [Input("asn")] - public Input? Asn { get; set; } - - [Input("bgpPeerAddress")] - private InputList? _bgpPeerAddress; - - /// - /// List of bgpPeerAddresses for the NVA instances - /// - public InputList BgpPeerAddress - { - get => _bgpPeerAddress ?? (_bgpPeerAddress = new InputList()); - set => _bgpPeerAddress = value; - } - /// /// The name of the NVA connection. /// [Input("connectionName")] public Input? ConnectionName { get; set; } - /// - /// Enable internet security. - /// - [Input("enableInternetSecurity")] - public Input? EnableInternetSecurity { get; set; } - /// /// Resource ID. /// @@ -155,22 +101,16 @@ public InputList BgpPeerAddress public Input NetworkVirtualApplianceName { get; set; } = null!; /// - /// The name of the resource group. + /// Properties of the express route connection. /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; + [Input("properties")] + public Input? Properties { get; set; } /// - /// The Routing Configuration indicating the associated and propagated route tables on this connection. - /// - [Input("routingConfiguration")] - public Input? RoutingConfiguration { get; set; } - - /// - /// Unique identifier for the connection. + /// The name of the resource group. /// - [Input("tunnelIdentifier")] - public Input? TunnelIdentifier { get; set; } + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; public NetworkVirtualApplianceConnectionArgs() { diff --git a/sdk/dotnet/Network/V20230601/Outputs/NetworkVirtualApplianceConnectionPropertiesResponse.cs b/sdk/dotnet/Network/V20230601/Outputs/NetworkVirtualApplianceConnectionPropertiesResponse.cs new file mode 100644 index 000000000000..650dfe885a89 --- /dev/null +++ b/sdk/dotnet/Network/V20230601/Outputs/NetworkVirtualApplianceConnectionPropertiesResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230601.Outputs +{ + + /// + /// Properties of the NetworkVirtualApplianceConnection subresource. + /// + [OutputType] + public sealed class NetworkVirtualApplianceConnectionPropertiesResponse + { + /// + /// Network Virtual Appliance ASN. + /// + public readonly double? Asn; + /// + /// List of bgpPeerAddresses for the NVA instances + /// + public readonly ImmutableArray BgpPeerAddress; + /// + /// Enable internet security. + /// + public readonly bool? EnableInternetSecurity; + /// + /// The name of the resource. + /// + public readonly string? Name; + /// + /// The provisioning state of the NetworkVirtualApplianceConnection resource. + /// + public readonly string ProvisioningState; + /// + /// The Routing Configuration indicating the associated and propagated route tables on this connection. + /// + public readonly Outputs.RoutingConfigurationResponse? RoutingConfiguration; + /// + /// Unique identifier for the connection. + /// + public readonly double? TunnelIdentifier; + + [OutputConstructor] + private NetworkVirtualApplianceConnectionPropertiesResponse( + double? asn, + + ImmutableArray bgpPeerAddress, + + bool? enableInternetSecurity, + + string? name, + + string provisioningState, + + Outputs.RoutingConfigurationResponse? routingConfiguration, + + double? tunnelIdentifier) + { + Asn = asn; + BgpPeerAddress = bgpPeerAddress; + EnableInternetSecurity = enableInternetSecurity; + Name = name; + ProvisioningState = provisioningState; + RoutingConfiguration = routingConfiguration; + TunnelIdentifier = tunnelIdentifier; + } + } +} diff --git a/sdk/dotnet/Network/V20230601/Outputs/VpnServerConfigurationPropertiesResponse.cs b/sdk/dotnet/Network/V20230601/Outputs/VpnServerConfigurationPropertiesResponse.cs new file mode 100644 index 000000000000..82bca815a842 --- /dev/null +++ b/sdk/dotnet/Network/V20230601/Outputs/VpnServerConfigurationPropertiesResponse.cs @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230601.Outputs +{ + + /// + /// Parameters for VpnServerConfiguration. + /// + [OutputType] + public sealed class VpnServerConfigurationPropertiesResponse + { + /// + /// The set of aad vpn authentication parameters. + /// + public readonly Outputs.AadAuthenticationParametersResponse? AadAuthenticationParameters; + /// + /// List of all VpnServerConfigurationPolicyGroups. + /// + public readonly ImmutableArray ConfigurationPolicyGroups; + /// + /// A unique read-only string that changes whenever the resource is updated. + /// + public readonly string Etag; + /// + /// The name of the VpnServerConfiguration that is unique within a resource group. + /// + public readonly string? Name; + /// + /// List of references to P2SVpnGateways. + /// + public readonly ImmutableArray P2SVpnGateways; + /// + /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + /// + public readonly string ProvisioningState; + /// + /// Radius client root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusClientRootCertificates; + /// + /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerAddress; + /// + /// Radius Server root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusServerRootCertificates; + /// + /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerSecret; + /// + /// Multiple Radius Server configuration for VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusServers; + /// + /// VPN authentication types for the VpnServerConfiguration. + /// + public readonly ImmutableArray VpnAuthenticationTypes; + /// + /// VpnClientIpsecPolicies for VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientIpsecPolicies; + /// + /// VPN client revoked certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientRevokedCertificates; + /// + /// VPN client root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientRootCertificates; + /// + /// VPN protocols for the VpnServerConfiguration. + /// + public readonly ImmutableArray VpnProtocols; + + [OutputConstructor] + private VpnServerConfigurationPropertiesResponse( + Outputs.AadAuthenticationParametersResponse? aadAuthenticationParameters, + + ImmutableArray configurationPolicyGroups, + + string etag, + + string? name, + + ImmutableArray p2SVpnGateways, + + string provisioningState, + + ImmutableArray radiusClientRootCertificates, + + string? radiusServerAddress, + + ImmutableArray radiusServerRootCertificates, + + string? radiusServerSecret, + + ImmutableArray radiusServers, + + ImmutableArray vpnAuthenticationTypes, + + ImmutableArray vpnClientIpsecPolicies, + + ImmutableArray vpnClientRevokedCertificates, + + ImmutableArray vpnClientRootCertificates, + + ImmutableArray vpnProtocols) + { + AadAuthenticationParameters = aadAuthenticationParameters; + ConfigurationPolicyGroups = configurationPolicyGroups; + Etag = etag; + Name = name; + P2SVpnGateways = p2SVpnGateways; + ProvisioningState = provisioningState; + RadiusClientRootCertificates = radiusClientRootCertificates; + RadiusServerAddress = radiusServerAddress; + RadiusServerRootCertificates = radiusServerRootCertificates; + RadiusServerSecret = radiusServerSecret; + RadiusServers = radiusServers; + VpnAuthenticationTypes = vpnAuthenticationTypes; + VpnClientIpsecPolicies = vpnClientIpsecPolicies; + VpnClientRevokedCertificates = vpnClientRevokedCertificates; + VpnClientRootCertificates = vpnClientRootCertificates; + VpnProtocols = vpnProtocols; + } + } +} diff --git a/sdk/dotnet/Network/V20230601/VpnServerConfiguration.cs b/sdk/dotnet/Network/V20230601/VpnServerConfiguration.cs index 0db0aecbbae3..1c3353e575b5 100644 --- a/sdk/dotnet/Network/V20230601/VpnServerConfiguration.cs +++ b/sdk/dotnet/Network/V20230601/VpnServerConfiguration.cs @@ -15,18 +15,6 @@ namespace Pulumi.AzureNative.Network.V20230601 [AzureNativeResourceType("azure-native:network/v20230601:VpnServerConfiguration")] public partial class VpnServerConfiguration : global::Pulumi.CustomResource { - /// - /// The set of aad vpn authentication parameters. - /// - [Output("aadAuthenticationParameters")] - public Output AadAuthenticationParameters { get; private set; } = null!; - - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// - [Output("configurationPolicyGroups")] - public Output> ConfigurationPolicyGroups { get; private set; } = null!; - /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -46,46 +34,10 @@ public partial class VpnServerConfiguration : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// List of references to P2SVpnGateways. + /// Properties of the P2SVpnServer configuration. /// - [Output("p2SVpnGateways")] - public Output> P2SVpnGateways { get; private set; } = null!; - - /// - /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// Radius client root certificate of VpnServerConfiguration. - /// - [Output("radiusClientRootCertificates")] - public Output> RadiusClientRootCertificates { get; private set; } = null!; - - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerAddress")] - public Output RadiusServerAddress { get; private set; } = null!; - - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - [Output("radiusServerRootCertificates")] - public Output> RadiusServerRootCertificates { get; private set; } = null!; - - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerSecret")] - public Output RadiusServerSecret { get; private set; } = null!; - - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - [Output("radiusServers")] - public Output> RadiusServers { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// /// Resource tags. @@ -99,36 +51,6 @@ public partial class VpnServerConfiguration : global::Pulumi.CustomResource [Output("type")] public Output Type { get; private set; } = null!; - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - [Output("vpnAuthenticationTypes")] - public Output> VpnAuthenticationTypes { get; private set; } = null!; - - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - [Output("vpnClientIpsecPolicies")] - public Output> VpnClientIpsecPolicies { get; private set; } = null!; - - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - [Output("vpnClientRevokedCertificates")] - public Output> VpnClientRevokedCertificates { get; private set; } = null!; - - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - [Output("vpnClientRootCertificates")] - public Output> VpnClientRootCertificates { get; private set; } = null!; - - /// - /// VPN protocols for the VpnServerConfiguration. - /// - [Output("vpnProtocols")] - public Output> VpnProtocols { get; private set; } = null!; - /// /// Create a VpnServerConfiguration resource with the given unique name, arguments, and options. @@ -202,25 +124,6 @@ public static VpnServerConfiguration Get(string name, Input id, CustomRe public sealed class VpnServerConfigurationArgs : global::Pulumi.ResourceArgs { - /// - /// The set of aad vpn authentication parameters. - /// - [Input("aadAuthenticationParameters")] - public Input? AadAuthenticationParameters { get; set; } - - [Input("configurationPolicyGroups")] - private InputList? _configurationPolicyGroups; - - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - /// - public InputList ConfigurationPolicyGroups - { - get => _configurationPolicyGroups ?? (_configurationPolicyGroups = new InputList()); - set => _configurationPolicyGroups = value; - } - /// /// Resource ID. /// @@ -234,58 +137,16 @@ public InputList ConfigurationPoli public Input? Location { get; set; } /// - /// The name of the VpnServerConfiguration that is unique within a resource group. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// [Input("name")] public Input? Name { get; set; } - [Input("radiusClientRootCertificates")] - private InputList? _radiusClientRootCertificates; - /// - /// Radius client root certificate of VpnServerConfiguration. + /// Properties of the P2SVpnServer configuration. /// - public InputList RadiusClientRootCertificates - { - get => _radiusClientRootCertificates ?? (_radiusClientRootCertificates = new InputList()); - set => _radiusClientRootCertificates = value; - } - - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerAddress")] - public Input? RadiusServerAddress { get; set; } - - [Input("radiusServerRootCertificates")] - private InputList? _radiusServerRootCertificates; - - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - public InputList RadiusServerRootCertificates - { - get => _radiusServerRootCertificates ?? (_radiusServerRootCertificates = new InputList()); - set => _radiusServerRootCertificates = value; - } - - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerSecret")] - public Input? RadiusServerSecret { get; set; } - - [Input("radiusServers")] - private InputList? _radiusServers; - - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - public InputList RadiusServers - { - get => _radiusServers ?? (_radiusServers = new InputList()); - set => _radiusServers = value; - } + [Input("properties")] + public Input? Properties { get; set; } /// /// The resource group name of the VpnServerConfiguration. @@ -305,66 +166,6 @@ public InputMap Tags set => _tags = value; } - [Input("vpnAuthenticationTypes")] - private InputList>? _vpnAuthenticationTypes; - - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - public InputList> VpnAuthenticationTypes - { - get => _vpnAuthenticationTypes ?? (_vpnAuthenticationTypes = new InputList>()); - set => _vpnAuthenticationTypes = value; - } - - [Input("vpnClientIpsecPolicies")] - private InputList? _vpnClientIpsecPolicies; - - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - public InputList VpnClientIpsecPolicies - { - get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); - set => _vpnClientIpsecPolicies = value; - } - - [Input("vpnClientRevokedCertificates")] - private InputList? _vpnClientRevokedCertificates; - - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - public InputList VpnClientRevokedCertificates - { - get => _vpnClientRevokedCertificates ?? (_vpnClientRevokedCertificates = new InputList()); - set => _vpnClientRevokedCertificates = value; - } - - [Input("vpnClientRootCertificates")] - private InputList? _vpnClientRootCertificates; - - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - public InputList VpnClientRootCertificates - { - get => _vpnClientRootCertificates ?? (_vpnClientRootCertificates = new InputList()); - set => _vpnClientRootCertificates = value; - } - - [Input("vpnProtocols")] - private InputList>? _vpnProtocols; - - /// - /// VPN protocols for the VpnServerConfiguration. - /// - public InputList> VpnProtocols - { - get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); - set => _vpnProtocols = value; - } - /// /// The name of the VpnServerConfiguration being created or updated. /// diff --git a/sdk/dotnet/Network/V20230901/GetNetworkVirtualApplianceConnection.cs b/sdk/dotnet/Network/V20230901/GetNetworkVirtualApplianceConnection.cs index a66f3593d538..14bf07c7cda0 100644 --- a/sdk/dotnet/Network/V20230901/GetNetworkVirtualApplianceConnection.cs +++ b/sdk/dotnet/Network/V20230901/GetNetworkVirtualApplianceConnection.cs @@ -81,18 +81,6 @@ public GetNetworkVirtualApplianceConnectionInvokeArgs() [OutputType] public sealed class GetNetworkVirtualApplianceConnectionResult { - /// - /// Network Virtual Appliance ASN. - /// - public readonly double? Asn; - /// - /// List of bgpPeerAddresses for the NVA instances - /// - public readonly ImmutableArray BgpPeerAddress; - /// - /// Enable internet security. - /// - public readonly bool? EnableInternetSecurity; /// /// Resource ID. /// @@ -102,44 +90,21 @@ public sealed class GetNetworkVirtualApplianceConnectionResult /// public readonly string? Name; /// - /// The provisioning state of the NetworkVirtualApplianceConnection resource. - /// - public readonly string ProvisioningState; - /// - /// The Routing Configuration indicating the associated and propagated route tables on this connection. + /// Properties of the express route connection. /// - public readonly Outputs.RoutingConfigurationResponse? RoutingConfiguration; - /// - /// Unique identifier for the connection. - /// - public readonly double? TunnelIdentifier; + public readonly Outputs.NetworkVirtualApplianceConnectionPropertiesResponse Properties; [OutputConstructor] private GetNetworkVirtualApplianceConnectionResult( - double? asn, - - ImmutableArray bgpPeerAddress, - - bool? enableInternetSecurity, - string? id, string? name, - string provisioningState, - - Outputs.RoutingConfigurationResponse? routingConfiguration, - - double? tunnelIdentifier) + Outputs.NetworkVirtualApplianceConnectionPropertiesResponse properties) { - Asn = asn; - BgpPeerAddress = bgpPeerAddress; - EnableInternetSecurity = enableInternetSecurity; Id = id; Name = name; - ProvisioningState = provisioningState; - RoutingConfiguration = routingConfiguration; - TunnelIdentifier = tunnelIdentifier; + Properties = properties; } } } diff --git a/sdk/dotnet/Network/V20230901/GetVpnServerConfiguration.cs b/sdk/dotnet/Network/V20230901/GetVpnServerConfiguration.cs index bc0eee9ccbdb..5df00a2f6b68 100644 --- a/sdk/dotnet/Network/V20230901/GetVpnServerConfiguration.cs +++ b/sdk/dotnet/Network/V20230901/GetVpnServerConfiguration.cs @@ -69,14 +69,6 @@ public GetVpnServerConfigurationInvokeArgs() [OutputType] public sealed class GetVpnServerConfigurationResult { - /// - /// The set of aad vpn authentication parameters. - /// - public readonly Outputs.AadAuthenticationParametersResponse? AadAuthenticationParameters; - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// - public readonly ImmutableArray ConfigurationPolicyGroups; /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -94,33 +86,9 @@ public sealed class GetVpnServerConfigurationResult /// public readonly string Name; /// - /// List of references to P2SVpnGateways. - /// - public readonly ImmutableArray P2SVpnGateways; - /// - /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - /// - public readonly string ProvisioningState; - /// - /// Radius client root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusClientRootCertificates; - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// Properties of the P2SVpnServer configuration. /// - public readonly string? RadiusServerAddress; - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusServerRootCertificates; - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - public readonly string? RadiusServerSecret; - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - public readonly ImmutableArray RadiusServers; + public readonly Outputs.VpnServerConfigurationPropertiesResponse Properties; /// /// Resource tags. /// @@ -129,33 +97,9 @@ public sealed class GetVpnServerConfigurationResult /// Resource type. /// public readonly string Type; - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - public readonly ImmutableArray VpnAuthenticationTypes; - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientIpsecPolicies; - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientRevokedCertificates; - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - public readonly ImmutableArray VpnClientRootCertificates; - /// - /// VPN protocols for the VpnServerConfiguration. - /// - public readonly ImmutableArray VpnProtocols; [OutputConstructor] private GetVpnServerConfigurationResult( - Outputs.AadAuthenticationParametersResponse? aadAuthenticationParameters, - - ImmutableArray configurationPolicyGroups, - string etag, string? id, @@ -164,54 +108,19 @@ private GetVpnServerConfigurationResult( string name, - ImmutableArray p2SVpnGateways, - - string provisioningState, - - ImmutableArray radiusClientRootCertificates, - - string? radiusServerAddress, - - ImmutableArray radiusServerRootCertificates, - - string? radiusServerSecret, - - ImmutableArray radiusServers, + Outputs.VpnServerConfigurationPropertiesResponse properties, ImmutableDictionary? tags, - string type, - - ImmutableArray vpnAuthenticationTypes, - - ImmutableArray vpnClientIpsecPolicies, - - ImmutableArray vpnClientRevokedCertificates, - - ImmutableArray vpnClientRootCertificates, - - ImmutableArray vpnProtocols) + string type) { - AadAuthenticationParameters = aadAuthenticationParameters; - ConfigurationPolicyGroups = configurationPolicyGroups; Etag = etag; Id = id; Location = location; Name = name; - P2SVpnGateways = p2SVpnGateways; - ProvisioningState = provisioningState; - RadiusClientRootCertificates = radiusClientRootCertificates; - RadiusServerAddress = radiusServerAddress; - RadiusServerRootCertificates = radiusServerRootCertificates; - RadiusServerSecret = radiusServerSecret; - RadiusServers = radiusServers; + Properties = properties; Tags = tags; Type = type; - VpnAuthenticationTypes = vpnAuthenticationTypes; - VpnClientIpsecPolicies = vpnClientIpsecPolicies; - VpnClientRevokedCertificates = vpnClientRevokedCertificates; - VpnClientRootCertificates = vpnClientRootCertificates; - VpnProtocols = vpnProtocols; } } } diff --git a/sdk/dotnet/Network/V20230901/Inputs/NetworkVirtualApplianceConnectionPropertiesArgs.cs b/sdk/dotnet/Network/V20230901/Inputs/NetworkVirtualApplianceConnectionPropertiesArgs.cs new file mode 100644 index 000000000000..f381341ad9c4 --- /dev/null +++ b/sdk/dotnet/Network/V20230901/Inputs/NetworkVirtualApplianceConnectionPropertiesArgs.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230901.Inputs +{ + + /// + /// Properties of the NetworkVirtualApplianceConnection subresource. + /// + public sealed class NetworkVirtualApplianceConnectionPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Network Virtual Appliance ASN. + /// + [Input("asn")] + public Input? Asn { get; set; } + + [Input("bgpPeerAddress")] + private InputList? _bgpPeerAddress; + + /// + /// List of bgpPeerAddresses for the NVA instances + /// + public InputList BgpPeerAddress + { + get => _bgpPeerAddress ?? (_bgpPeerAddress = new InputList()); + set => _bgpPeerAddress = value; + } + + /// + /// Enable internet security. + /// + [Input("enableInternetSecurity")] + public Input? EnableInternetSecurity { get; set; } + + /// + /// The name of the resource. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The Routing Configuration indicating the associated and propagated route tables on this connection. + /// + [Input("routingConfiguration")] + public Input? RoutingConfiguration { get; set; } + + /// + /// Unique identifier for the connection. + /// + [Input("tunnelIdentifier")] + public Input? TunnelIdentifier { get; set; } + + public NetworkVirtualApplianceConnectionPropertiesArgs() + { + } + public static new NetworkVirtualApplianceConnectionPropertiesArgs Empty => new NetworkVirtualApplianceConnectionPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Network/V20230901/Inputs/VpnServerConfigurationPropertiesArgs.cs b/sdk/dotnet/Network/V20230901/Inputs/VpnServerConfigurationPropertiesArgs.cs new file mode 100644 index 000000000000..36f9c4499b2b --- /dev/null +++ b/sdk/dotnet/Network/V20230901/Inputs/VpnServerConfigurationPropertiesArgs.cs @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230901.Inputs +{ + + /// + /// Parameters for VpnServerConfiguration. + /// + public sealed class VpnServerConfigurationPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The set of aad vpn authentication parameters. + /// + [Input("aadAuthenticationParameters")] + public Input? AadAuthenticationParameters { get; set; } + + [Input("configurationPolicyGroups")] + private InputList? _configurationPolicyGroups; + + /// + /// List of all VpnServerConfigurationPolicyGroups. + /// + public InputList ConfigurationPolicyGroups + { + get => _configurationPolicyGroups ?? (_configurationPolicyGroups = new InputList()); + set => _configurationPolicyGroups = value; + } + + /// + /// The name of the VpnServerConfiguration that is unique within a resource group. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("radiusClientRootCertificates")] + private InputList? _radiusClientRootCertificates; + + /// + /// Radius client root certificate of VpnServerConfiguration. + /// + public InputList RadiusClientRootCertificates + { + get => _radiusClientRootCertificates ?? (_radiusClientRootCertificates = new InputList()); + set => _radiusClientRootCertificates = value; + } + + /// + /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerAddress")] + public Input? RadiusServerAddress { get; set; } + + [Input("radiusServerRootCertificates")] + private InputList? _radiusServerRootCertificates; + + /// + /// Radius Server root certificate of VpnServerConfiguration. + /// + public InputList RadiusServerRootCertificates + { + get => _radiusServerRootCertificates ?? (_radiusServerRootCertificates = new InputList()); + set => _radiusServerRootCertificates = value; + } + + /// + /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. + /// + [Input("radiusServerSecret")] + public Input? RadiusServerSecret { get; set; } + + [Input("radiusServers")] + private InputList? _radiusServers; + + /// + /// Multiple Radius Server configuration for VpnServerConfiguration. + /// + public InputList RadiusServers + { + get => _radiusServers ?? (_radiusServers = new InputList()); + set => _radiusServers = value; + } + + [Input("vpnAuthenticationTypes")] + private InputList>? _vpnAuthenticationTypes; + + /// + /// VPN authentication types for the VpnServerConfiguration. + /// + public InputList> VpnAuthenticationTypes + { + get => _vpnAuthenticationTypes ?? (_vpnAuthenticationTypes = new InputList>()); + set => _vpnAuthenticationTypes = value; + } + + [Input("vpnClientIpsecPolicies")] + private InputList? _vpnClientIpsecPolicies; + + /// + /// VpnClientIpsecPolicies for VpnServerConfiguration. + /// + public InputList VpnClientIpsecPolicies + { + get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); + set => _vpnClientIpsecPolicies = value; + } + + [Input("vpnClientRevokedCertificates")] + private InputList? _vpnClientRevokedCertificates; + + /// + /// VPN client revoked certificate of VpnServerConfiguration. + /// + public InputList VpnClientRevokedCertificates + { + get => _vpnClientRevokedCertificates ?? (_vpnClientRevokedCertificates = new InputList()); + set => _vpnClientRevokedCertificates = value; + } + + [Input("vpnClientRootCertificates")] + private InputList? _vpnClientRootCertificates; + + /// + /// VPN client root certificate of VpnServerConfiguration. + /// + public InputList VpnClientRootCertificates + { + get => _vpnClientRootCertificates ?? (_vpnClientRootCertificates = new InputList()); + set => _vpnClientRootCertificates = value; + } + + [Input("vpnProtocols")] + private InputList>? _vpnProtocols; + + /// + /// VPN protocols for the VpnServerConfiguration. + /// + public InputList> VpnProtocols + { + get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); + set => _vpnProtocols = value; + } + + public VpnServerConfigurationPropertiesArgs() + { + } + public static new VpnServerConfigurationPropertiesArgs Empty => new VpnServerConfigurationPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Network/V20230901/NetworkVirtualApplianceConnection.cs b/sdk/dotnet/Network/V20230901/NetworkVirtualApplianceConnection.cs index 4e3b3a860b40..5fe07b9e1fcb 100644 --- a/sdk/dotnet/Network/V20230901/NetworkVirtualApplianceConnection.cs +++ b/sdk/dotnet/Network/V20230901/NetworkVirtualApplianceConnection.cs @@ -15,24 +15,6 @@ namespace Pulumi.AzureNative.Network.V20230901 [AzureNativeResourceType("azure-native:network/v20230901:NetworkVirtualApplianceConnection")] public partial class NetworkVirtualApplianceConnection : global::Pulumi.CustomResource { - /// - /// Network Virtual Appliance ASN. - /// - [Output("asn")] - public Output Asn { get; private set; } = null!; - - /// - /// List of bgpPeerAddresses for the NVA instances - /// - [Output("bgpPeerAddress")] - public Output> BgpPeerAddress { get; private set; } = null!; - - /// - /// Enable internet security. - /// - [Output("enableInternetSecurity")] - public Output EnableInternetSecurity { get; private set; } = null!; - /// /// The name of the resource. /// @@ -40,22 +22,10 @@ public partial class NetworkVirtualApplianceConnection : global::Pulumi.CustomRe public Output Name { get; private set; } = null!; /// - /// The provisioning state of the NetworkVirtualApplianceConnection resource. + /// Properties of the express route connection. /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// The Routing Configuration indicating the associated and propagated route tables on this connection. - /// - [Output("routingConfiguration")] - public Output RoutingConfiguration { get; private set; } = null!; - - /// - /// Unique identifier for the connection. - /// - [Output("tunnelIdentifier")] - public Output TunnelIdentifier { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// @@ -106,36 +76,12 @@ public static NetworkVirtualApplianceConnection Get(string name, Input i public sealed class NetworkVirtualApplianceConnectionArgs : global::Pulumi.ResourceArgs { - /// - /// Network Virtual Appliance ASN. - /// - [Input("asn")] - public Input? Asn { get; set; } - - [Input("bgpPeerAddress")] - private InputList? _bgpPeerAddress; - - /// - /// List of bgpPeerAddresses for the NVA instances - /// - public InputList BgpPeerAddress - { - get => _bgpPeerAddress ?? (_bgpPeerAddress = new InputList()); - set => _bgpPeerAddress = value; - } - /// /// The name of the NVA connection. /// [Input("connectionName")] public Input? ConnectionName { get; set; } - /// - /// Enable internet security. - /// - [Input("enableInternetSecurity")] - public Input? EnableInternetSecurity { get; set; } - /// /// Resource ID. /// @@ -155,22 +101,16 @@ public InputList BgpPeerAddress public Input NetworkVirtualApplianceName { get; set; } = null!; /// - /// The name of the resource group. + /// Properties of the express route connection. /// - [Input("resourceGroupName", required: true)] - public Input ResourceGroupName { get; set; } = null!; + [Input("properties")] + public Input? Properties { get; set; } /// - /// The Routing Configuration indicating the associated and propagated route tables on this connection. - /// - [Input("routingConfiguration")] - public Input? RoutingConfiguration { get; set; } - - /// - /// Unique identifier for the connection. + /// The name of the resource group. /// - [Input("tunnelIdentifier")] - public Input? TunnelIdentifier { get; set; } + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; public NetworkVirtualApplianceConnectionArgs() { diff --git a/sdk/dotnet/Network/V20230901/Outputs/NetworkVirtualApplianceConnectionPropertiesResponse.cs b/sdk/dotnet/Network/V20230901/Outputs/NetworkVirtualApplianceConnectionPropertiesResponse.cs new file mode 100644 index 000000000000..18637ae5c1cb --- /dev/null +++ b/sdk/dotnet/Network/V20230901/Outputs/NetworkVirtualApplianceConnectionPropertiesResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230901.Outputs +{ + + /// + /// Properties of the NetworkVirtualApplianceConnection subresource. + /// + [OutputType] + public sealed class NetworkVirtualApplianceConnectionPropertiesResponse + { + /// + /// Network Virtual Appliance ASN. + /// + public readonly double? Asn; + /// + /// List of bgpPeerAddresses for the NVA instances + /// + public readonly ImmutableArray BgpPeerAddress; + /// + /// Enable internet security. + /// + public readonly bool? EnableInternetSecurity; + /// + /// The name of the resource. + /// + public readonly string? Name; + /// + /// The provisioning state of the NetworkVirtualApplianceConnection resource. + /// + public readonly string ProvisioningState; + /// + /// The Routing Configuration indicating the associated and propagated route tables on this connection. + /// + public readonly Outputs.RoutingConfigurationResponse? RoutingConfiguration; + /// + /// Unique identifier for the connection. + /// + public readonly double? TunnelIdentifier; + + [OutputConstructor] + private NetworkVirtualApplianceConnectionPropertiesResponse( + double? asn, + + ImmutableArray bgpPeerAddress, + + bool? enableInternetSecurity, + + string? name, + + string provisioningState, + + Outputs.RoutingConfigurationResponse? routingConfiguration, + + double? tunnelIdentifier) + { + Asn = asn; + BgpPeerAddress = bgpPeerAddress; + EnableInternetSecurity = enableInternetSecurity; + Name = name; + ProvisioningState = provisioningState; + RoutingConfiguration = routingConfiguration; + TunnelIdentifier = tunnelIdentifier; + } + } +} diff --git a/sdk/dotnet/Network/V20230901/Outputs/VpnServerConfigurationPropertiesResponse.cs b/sdk/dotnet/Network/V20230901/Outputs/VpnServerConfigurationPropertiesResponse.cs new file mode 100644 index 000000000000..ab51c21619ba --- /dev/null +++ b/sdk/dotnet/Network/V20230901/Outputs/VpnServerConfigurationPropertiesResponse.cs @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Network.V20230901.Outputs +{ + + /// + /// Parameters for VpnServerConfiguration. + /// + [OutputType] + public sealed class VpnServerConfigurationPropertiesResponse + { + /// + /// The set of aad vpn authentication parameters. + /// + public readonly Outputs.AadAuthenticationParametersResponse? AadAuthenticationParameters; + /// + /// List of all VpnServerConfigurationPolicyGroups. + /// + public readonly ImmutableArray ConfigurationPolicyGroups; + /// + /// A unique read-only string that changes whenever the resource is updated. + /// + public readonly string Etag; + /// + /// The name of the VpnServerConfiguration that is unique within a resource group. + /// + public readonly string? Name; + /// + /// List of references to P2SVpnGateways. + /// + public readonly ImmutableArray P2SVpnGateways; + /// + /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + /// + public readonly string ProvisioningState; + /// + /// Radius client root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusClientRootCertificates; + /// + /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerAddress; + /// + /// Radius Server root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusServerRootCertificates; + /// + /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. + /// + public readonly string? RadiusServerSecret; + /// + /// Multiple Radius Server configuration for VpnServerConfiguration. + /// + public readonly ImmutableArray RadiusServers; + /// + /// VPN authentication types for the VpnServerConfiguration. + /// + public readonly ImmutableArray VpnAuthenticationTypes; + /// + /// VpnClientIpsecPolicies for VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientIpsecPolicies; + /// + /// VPN client revoked certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientRevokedCertificates; + /// + /// VPN client root certificate of VpnServerConfiguration. + /// + public readonly ImmutableArray VpnClientRootCertificates; + /// + /// VPN protocols for the VpnServerConfiguration. + /// + public readonly ImmutableArray VpnProtocols; + + [OutputConstructor] + private VpnServerConfigurationPropertiesResponse( + Outputs.AadAuthenticationParametersResponse? aadAuthenticationParameters, + + ImmutableArray configurationPolicyGroups, + + string etag, + + string? name, + + ImmutableArray p2SVpnGateways, + + string provisioningState, + + ImmutableArray radiusClientRootCertificates, + + string? radiusServerAddress, + + ImmutableArray radiusServerRootCertificates, + + string? radiusServerSecret, + + ImmutableArray radiusServers, + + ImmutableArray vpnAuthenticationTypes, + + ImmutableArray vpnClientIpsecPolicies, + + ImmutableArray vpnClientRevokedCertificates, + + ImmutableArray vpnClientRootCertificates, + + ImmutableArray vpnProtocols) + { + AadAuthenticationParameters = aadAuthenticationParameters; + ConfigurationPolicyGroups = configurationPolicyGroups; + Etag = etag; + Name = name; + P2SVpnGateways = p2SVpnGateways; + ProvisioningState = provisioningState; + RadiusClientRootCertificates = radiusClientRootCertificates; + RadiusServerAddress = radiusServerAddress; + RadiusServerRootCertificates = radiusServerRootCertificates; + RadiusServerSecret = radiusServerSecret; + RadiusServers = radiusServers; + VpnAuthenticationTypes = vpnAuthenticationTypes; + VpnClientIpsecPolicies = vpnClientIpsecPolicies; + VpnClientRevokedCertificates = vpnClientRevokedCertificates; + VpnClientRootCertificates = vpnClientRootCertificates; + VpnProtocols = vpnProtocols; + } + } +} diff --git a/sdk/dotnet/Network/V20230901/VpnServerConfiguration.cs b/sdk/dotnet/Network/V20230901/VpnServerConfiguration.cs index 800450261fef..0cc88b9fd804 100644 --- a/sdk/dotnet/Network/V20230901/VpnServerConfiguration.cs +++ b/sdk/dotnet/Network/V20230901/VpnServerConfiguration.cs @@ -15,18 +15,6 @@ namespace Pulumi.AzureNative.Network.V20230901 [AzureNativeResourceType("azure-native:network/v20230901:VpnServerConfiguration")] public partial class VpnServerConfiguration : global::Pulumi.CustomResource { - /// - /// The set of aad vpn authentication parameters. - /// - [Output("aadAuthenticationParameters")] - public Output AadAuthenticationParameters { get; private set; } = null!; - - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// - [Output("configurationPolicyGroups")] - public Output> ConfigurationPolicyGroups { get; private set; } = null!; - /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -46,46 +34,10 @@ public partial class VpnServerConfiguration : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// List of references to P2SVpnGateways. + /// Properties of the P2SVpnServer configuration. /// - [Output("p2SVpnGateways")] - public Output> P2SVpnGateways { get; private set; } = null!; - - /// - /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// Radius client root certificate of VpnServerConfiguration. - /// - [Output("radiusClientRootCertificates")] - public Output> RadiusClientRootCertificates { get; private set; } = null!; - - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerAddress")] - public Output RadiusServerAddress { get; private set; } = null!; - - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - [Output("radiusServerRootCertificates")] - public Output> RadiusServerRootCertificates { get; private set; } = null!; - - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerSecret")] - public Output RadiusServerSecret { get; private set; } = null!; - - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - [Output("radiusServers")] - public Output> RadiusServers { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// /// Resource tags. @@ -99,36 +51,6 @@ public partial class VpnServerConfiguration : global::Pulumi.CustomResource [Output("type")] public Output Type { get; private set; } = null!; - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - [Output("vpnAuthenticationTypes")] - public Output> VpnAuthenticationTypes { get; private set; } = null!; - - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - [Output("vpnClientIpsecPolicies")] - public Output> VpnClientIpsecPolicies { get; private set; } = null!; - - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - [Output("vpnClientRevokedCertificates")] - public Output> VpnClientRevokedCertificates { get; private set; } = null!; - - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - [Output("vpnClientRootCertificates")] - public Output> VpnClientRootCertificates { get; private set; } = null!; - - /// - /// VPN protocols for the VpnServerConfiguration. - /// - [Output("vpnProtocols")] - public Output> VpnProtocols { get; private set; } = null!; - /// /// Create a VpnServerConfiguration resource with the given unique name, arguments, and options. @@ -202,25 +124,6 @@ public static VpnServerConfiguration Get(string name, Input id, CustomRe public sealed class VpnServerConfigurationArgs : global::Pulumi.ResourceArgs { - /// - /// The set of aad vpn authentication parameters. - /// - [Input("aadAuthenticationParameters")] - public Input? AadAuthenticationParameters { get; set; } - - [Input("configurationPolicyGroups")] - private InputList? _configurationPolicyGroups; - - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - /// - public InputList ConfigurationPolicyGroups - { - get => _configurationPolicyGroups ?? (_configurationPolicyGroups = new InputList()); - set => _configurationPolicyGroups = value; - } - /// /// Resource ID. /// @@ -234,58 +137,16 @@ public InputList ConfigurationPoli public Input? Location { get; set; } /// - /// The name of the VpnServerConfiguration that is unique within a resource group. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// [Input("name")] public Input? Name { get; set; } - [Input("radiusClientRootCertificates")] - private InputList? _radiusClientRootCertificates; - /// - /// Radius client root certificate of VpnServerConfiguration. + /// Properties of the P2SVpnServer configuration. /// - public InputList RadiusClientRootCertificates - { - get => _radiusClientRootCertificates ?? (_radiusClientRootCertificates = new InputList()); - set => _radiusClientRootCertificates = value; - } - - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerAddress")] - public Input? RadiusServerAddress { get; set; } - - [Input("radiusServerRootCertificates")] - private InputList? _radiusServerRootCertificates; - - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - public InputList RadiusServerRootCertificates - { - get => _radiusServerRootCertificates ?? (_radiusServerRootCertificates = new InputList()); - set => _radiusServerRootCertificates = value; - } - - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerSecret")] - public Input? RadiusServerSecret { get; set; } - - [Input("radiusServers")] - private InputList? _radiusServers; - - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - public InputList RadiusServers - { - get => _radiusServers ?? (_radiusServers = new InputList()); - set => _radiusServers = value; - } + [Input("properties")] + public Input? Properties { get; set; } /// /// The resource group name of the VpnServerConfiguration. @@ -305,66 +166,6 @@ public InputMap Tags set => _tags = value; } - [Input("vpnAuthenticationTypes")] - private InputList>? _vpnAuthenticationTypes; - - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - public InputList> VpnAuthenticationTypes - { - get => _vpnAuthenticationTypes ?? (_vpnAuthenticationTypes = new InputList>()); - set => _vpnAuthenticationTypes = value; - } - - [Input("vpnClientIpsecPolicies")] - private InputList? _vpnClientIpsecPolicies; - - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - public InputList VpnClientIpsecPolicies - { - get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); - set => _vpnClientIpsecPolicies = value; - } - - [Input("vpnClientRevokedCertificates")] - private InputList? _vpnClientRevokedCertificates; - - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - public InputList VpnClientRevokedCertificates - { - get => _vpnClientRevokedCertificates ?? (_vpnClientRevokedCertificates = new InputList()); - set => _vpnClientRevokedCertificates = value; - } - - [Input("vpnClientRootCertificates")] - private InputList? _vpnClientRootCertificates; - - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - public InputList VpnClientRootCertificates - { - get => _vpnClientRootCertificates ?? (_vpnClientRootCertificates = new InputList()); - set => _vpnClientRootCertificates = value; - } - - [Input("vpnProtocols")] - private InputList>? _vpnProtocols; - - /// - /// VPN protocols for the VpnServerConfiguration. - /// - public InputList> VpnProtocols - { - get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); - set => _vpnProtocols = value; - } - /// /// The name of the VpnServerConfiguration being created or updated. /// diff --git a/sdk/dotnet/Network/VpnServerConfiguration.cs b/sdk/dotnet/Network/VpnServerConfiguration.cs index f8dd3d0b4777..63d6bcf8e1b5 100644 --- a/sdk/dotnet/Network/VpnServerConfiguration.cs +++ b/sdk/dotnet/Network/VpnServerConfiguration.cs @@ -18,18 +18,6 @@ namespace Pulumi.AzureNative.Network [AzureNativeResourceType("azure-native:network:VpnServerConfiguration")] public partial class VpnServerConfiguration : global::Pulumi.CustomResource { - /// - /// The set of aad vpn authentication parameters. - /// - [Output("aadAuthenticationParameters")] - public Output AadAuthenticationParameters { get; private set; } = null!; - - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// - [Output("configurationPolicyGroups")] - public Output> ConfigurationPolicyGroups { get; private set; } = null!; - /// /// A unique read-only string that changes whenever the resource is updated. /// @@ -49,46 +37,10 @@ public partial class VpnServerConfiguration : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// List of references to P2SVpnGateways. + /// Properties of the P2SVpnServer configuration. /// - [Output("p2SVpnGateways")] - public Output> P2SVpnGateways { get; private set; } = null!; - - /// - /// The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// Radius client root certificate of VpnServerConfiguration. - /// - [Output("radiusClientRootCertificates")] - public Output> RadiusClientRootCertificates { get; private set; } = null!; - - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerAddress")] - public Output RadiusServerAddress { get; private set; } = null!; - - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - [Output("radiusServerRootCertificates")] - public Output> RadiusServerRootCertificates { get; private set; } = null!; - - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - [Output("radiusServerSecret")] - public Output RadiusServerSecret { get; private set; } = null!; - - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - [Output("radiusServers")] - public Output> RadiusServers { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// /// Resource tags. @@ -102,36 +54,6 @@ public partial class VpnServerConfiguration : global::Pulumi.CustomResource [Output("type")] public Output Type { get; private set; } = null!; - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - [Output("vpnAuthenticationTypes")] - public Output> VpnAuthenticationTypes { get; private set; } = null!; - - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - [Output("vpnClientIpsecPolicies")] - public Output> VpnClientIpsecPolicies { get; private set; } = null!; - - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - [Output("vpnClientRevokedCertificates")] - public Output> VpnClientRevokedCertificates { get; private set; } = null!; - - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - [Output("vpnClientRootCertificates")] - public Output> VpnClientRootCertificates { get; private set; } = null!; - - /// - /// VPN protocols for the VpnServerConfiguration. - /// - [Output("vpnProtocols")] - public Output> VpnProtocols { get; private set; } = null!; - /// /// Create a VpnServerConfiguration resource with the given unique name, arguments, and options. @@ -205,25 +127,6 @@ public static VpnServerConfiguration Get(string name, Input id, CustomRe public sealed class VpnServerConfigurationArgs : global::Pulumi.ResourceArgs { - /// - /// The set of aad vpn authentication parameters. - /// - [Input("aadAuthenticationParameters")] - public Input? AadAuthenticationParameters { get; set; } - - [Input("configurationPolicyGroups")] - private InputList? _configurationPolicyGroups; - - /// - /// List of all VpnServerConfigurationPolicyGroups. - /// These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - /// - public InputList ConfigurationPolicyGroups - { - get => _configurationPolicyGroups ?? (_configurationPolicyGroups = new InputList()); - set => _configurationPolicyGroups = value; - } - /// /// Resource ID. /// @@ -237,58 +140,16 @@ public InputList ConfigurationPoli public Input? Location { get; set; } /// - /// The name of the VpnServerConfiguration that is unique within a resource group. + /// The name of the resource that is unique within a resource group. This name can be used to access the resource. /// [Input("name")] public Input? Name { get; set; } - [Input("radiusClientRootCertificates")] - private InputList? _radiusClientRootCertificates; - /// - /// Radius client root certificate of VpnServerConfiguration. + /// Properties of the P2SVpnServer configuration. /// - public InputList RadiusClientRootCertificates - { - get => _radiusClientRootCertificates ?? (_radiusClientRootCertificates = new InputList()); - set => _radiusClientRootCertificates = value; - } - - /// - /// The radius server address property of the VpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerAddress")] - public Input? RadiusServerAddress { get; set; } - - [Input("radiusServerRootCertificates")] - private InputList? _radiusServerRootCertificates; - - /// - /// Radius Server root certificate of VpnServerConfiguration. - /// - public InputList RadiusServerRootCertificates - { - get => _radiusServerRootCertificates ?? (_radiusServerRootCertificates = new InputList()); - set => _radiusServerRootCertificates = value; - } - - /// - /// The radius secret property of the VpnServerConfiguration resource for point to site client connection. - /// - [Input("radiusServerSecret")] - public Input? RadiusServerSecret { get; set; } - - [Input("radiusServers")] - private InputList? _radiusServers; - - /// - /// Multiple Radius Server configuration for VpnServerConfiguration. - /// - public InputList RadiusServers - { - get => _radiusServers ?? (_radiusServers = new InputList()); - set => _radiusServers = value; - } + [Input("properties")] + public Input? Properties { get; set; } /// /// The resource group name of the VpnServerConfiguration. @@ -308,66 +169,6 @@ public InputMap Tags set => _tags = value; } - [Input("vpnAuthenticationTypes")] - private InputList>? _vpnAuthenticationTypes; - - /// - /// VPN authentication types for the VpnServerConfiguration. - /// - public InputList> VpnAuthenticationTypes - { - get => _vpnAuthenticationTypes ?? (_vpnAuthenticationTypes = new InputList>()); - set => _vpnAuthenticationTypes = value; - } - - [Input("vpnClientIpsecPolicies")] - private InputList? _vpnClientIpsecPolicies; - - /// - /// VpnClientIpsecPolicies for VpnServerConfiguration. - /// - public InputList VpnClientIpsecPolicies - { - get => _vpnClientIpsecPolicies ?? (_vpnClientIpsecPolicies = new InputList()); - set => _vpnClientIpsecPolicies = value; - } - - [Input("vpnClientRevokedCertificates")] - private InputList? _vpnClientRevokedCertificates; - - /// - /// VPN client revoked certificate of VpnServerConfiguration. - /// - public InputList VpnClientRevokedCertificates - { - get => _vpnClientRevokedCertificates ?? (_vpnClientRevokedCertificates = new InputList()); - set => _vpnClientRevokedCertificates = value; - } - - [Input("vpnClientRootCertificates")] - private InputList? _vpnClientRootCertificates; - - /// - /// VPN client root certificate of VpnServerConfiguration. - /// - public InputList VpnClientRootCertificates - { - get => _vpnClientRootCertificates ?? (_vpnClientRootCertificates = new InputList()); - set => _vpnClientRootCertificates = value; - } - - [Input("vpnProtocols")] - private InputList>? _vpnProtocols; - - /// - /// VPN protocols for the VpnServerConfiguration. - /// - public InputList> VpnProtocols - { - get => _vpnProtocols ?? (_vpnProtocols = new InputList>()); - set => _vpnProtocols = value; - } - /// /// The name of the VpnServerConfiguration being created or updated. /// diff --git a/sdk/dotnet/Security/DefenderForStorage.cs b/sdk/dotnet/Security/DefenderForStorage.cs new file mode 100644 index 000000000000..1a2a76fc4306 --- /dev/null +++ b/sdk/dotnet/Security/DefenderForStorage.cs @@ -0,0 +1,145 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security +{ + /// + /// The Defender for Storage resource. + /// Azure REST API version: 2022-12-01-preview. + /// + [AzureNativeResourceType("azure-native:security:DefenderForStorage")] + public partial class DefenderForStorage : global::Pulumi.CustomResource + { + /// + /// Indicates whether Defender for Storage is enabled on this storage account. + /// + [Output("isEnabled")] + public Output IsEnabled { get; private set; } = null!; + + /// + /// Properties of Malware Scanning. + /// + [Output("malwareScanning")] + public Output MalwareScanning { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + /// + [Output("overrideSubscriptionLevelSettings")] + public Output OverrideSubscriptionLevelSettings { get; private set; } = null!; + + /// + /// Properties of Sensitive Data Discovery. + /// + [Output("sensitiveDataDiscovery")] + public Output SensitiveDataDiscovery { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a DefenderForStorage resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DefenderForStorage(string name, DefenderForStorageArgs args, CustomResourceOptions? options = null) + : base("azure-native:security:DefenderForStorage", name, args ?? new DefenderForStorageArgs(), MakeResourceOptions(options, "")) + { + } + + private DefenderForStorage(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:security:DefenderForStorage", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:security/v20221201preview:DefenderForStorage" }, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DefenderForStorage resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static DefenderForStorage Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DefenderForStorage(name, id, options); + } + } + + public sealed class DefenderForStorageArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether Defender for Storage is enabled on this storage account. + /// + [Input("isEnabled")] + public Input? IsEnabled { get; set; } + + /// + /// Properties of Malware Scanning. + /// + [Input("malwareScanning")] + public Input? MalwareScanning { get; set; } + + /// + /// Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + /// + [Input("overrideSubscriptionLevelSettings")] + public Input? OverrideSubscriptionLevelSettings { get; set; } + + /// + /// The identifier of the resource. + /// + [Input("resourceId", required: true)] + public Input ResourceId { get; set; } = null!; + + /// + /// Properties of Sensitive Data Discovery. + /// + [Input("sensitiveDataDiscovery")] + public Input? SensitiveDataDiscovery { get; set; } + + /// + /// Defender for Storage setting name. + /// + [Input("settingName")] + public Input? SettingName { get; set; } + + public DefenderForStorageArgs() + { + } + public static new DefenderForStorageArgs Empty => new DefenderForStorageArgs(); + } +} diff --git a/sdk/dotnet/Security/GetDefenderForStorage.cs b/sdk/dotnet/Security/GetDefenderForStorage.cs new file mode 100644 index 000000000000..1de65525a726 --- /dev/null +++ b/sdk/dotnet/Security/GetDefenderForStorage.cs @@ -0,0 +1,128 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security +{ + public static class GetDefenderForStorage + { + /// + /// Gets the Defender for Storage settings for the specified storage account. + /// Azure REST API version: 2022-12-01-preview. + /// + public static Task InvokeAsync(GetDefenderForStorageArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:security:getDefenderForStorage", args ?? new GetDefenderForStorageArgs(), options.WithDefaults()); + + /// + /// Gets the Defender for Storage settings for the specified storage account. + /// Azure REST API version: 2022-12-01-preview. + /// + public static Output Invoke(GetDefenderForStorageInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:security:getDefenderForStorage", args ?? new GetDefenderForStorageInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDefenderForStorageArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier of the resource. + /// + [Input("resourceId", required: true)] + public string ResourceId { get; set; } = null!; + + /// + /// Defender for Storage setting name. + /// + [Input("settingName", required: true)] + public string SettingName { get; set; } = null!; + + public GetDefenderForStorageArgs() + { + } + public static new GetDefenderForStorageArgs Empty => new GetDefenderForStorageArgs(); + } + + public sealed class GetDefenderForStorageInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier of the resource. + /// + [Input("resourceId", required: true)] + public Input ResourceId { get; set; } = null!; + + /// + /// Defender for Storage setting name. + /// + [Input("settingName", required: true)] + public Input SettingName { get; set; } = null!; + + public GetDefenderForStorageInvokeArgs() + { + } + public static new GetDefenderForStorageInvokeArgs Empty => new GetDefenderForStorageInvokeArgs(); + } + + + [OutputType] + public sealed class GetDefenderForStorageResult + { + /// + /// Resource Id + /// + public readonly string Id; + /// + /// Indicates whether Defender for Storage is enabled on this storage account. + /// + public readonly bool? IsEnabled; + /// + /// Properties of Malware Scanning. + /// + public readonly Outputs.MalwareScanningPropertiesResponse? MalwareScanning; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + /// + public readonly bool? OverrideSubscriptionLevelSettings; + /// + /// Properties of Sensitive Data Discovery. + /// + public readonly Outputs.SensitiveDataDiscoveryPropertiesResponse? SensitiveDataDiscovery; + /// + /// Resource type + /// + public readonly string Type; + + [OutputConstructor] + private GetDefenderForStorageResult( + string id, + + bool? isEnabled, + + Outputs.MalwareScanningPropertiesResponse? malwareScanning, + + string name, + + bool? overrideSubscriptionLevelSettings, + + Outputs.SensitiveDataDiscoveryPropertiesResponse? sensitiveDataDiscovery, + + string type) + { + Id = id; + IsEnabled = isEnabled; + MalwareScanning = malwareScanning; + Name = name; + OverrideSubscriptionLevelSettings = overrideSubscriptionLevelSettings; + SensitiveDataDiscovery = sensitiveDataDiscovery; + Type = type; + } + } +} diff --git a/sdk/dotnet/Security/Inputs/MalwareScanningPropertiesArgs.cs b/sdk/dotnet/Security/Inputs/MalwareScanningPropertiesArgs.cs new file mode 100644 index 000000000000..c42f8e016fbe --- /dev/null +++ b/sdk/dotnet/Security/Inputs/MalwareScanningPropertiesArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security.Inputs +{ + + /// + /// Properties of Malware Scanning. + /// + public sealed class MalwareScanningPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + /// + [Input("capGBPerMonth")] + public Input? CapGBPerMonth { get; set; } + + /// + /// Indicates whether On Upload malware scanning should be enabled. + /// + [Input("isEnabled")] + public Input? IsEnabled { get; set; } + + /// + /// Optional. Resource id of an Event Grid Topic to send scan results to. + /// + [Input("scanResultsEventGridTopicResourceId")] + public Input? ScanResultsEventGridTopicResourceId { get; set; } + + public MalwareScanningPropertiesArgs() + { + } + public static new MalwareScanningPropertiesArgs Empty => new MalwareScanningPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Security/Inputs/SensitiveDataDiscoveryPropertiesArgs.cs b/sdk/dotnet/Security/Inputs/SensitiveDataDiscoveryPropertiesArgs.cs new file mode 100644 index 000000000000..2560ab4e9417 --- /dev/null +++ b/sdk/dotnet/Security/Inputs/SensitiveDataDiscoveryPropertiesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security.Inputs +{ + + /// + /// Properties of Sensitive Data Discovery. + /// + public sealed class SensitiveDataDiscoveryPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether Sensitive Data Discovery should be enabled. + /// + [Input("isEnabled")] + public Input? IsEnabled { get; set; } + + public SensitiveDataDiscoveryPropertiesArgs() + { + } + public static new SensitiveDataDiscoveryPropertiesArgs Empty => new SensitiveDataDiscoveryPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Security/Outputs/MalwareScanningPropertiesResponse.cs b/sdk/dotnet/Security/Outputs/MalwareScanningPropertiesResponse.cs new file mode 100644 index 000000000000..fefec1016f5a --- /dev/null +++ b/sdk/dotnet/Security/Outputs/MalwareScanningPropertiesResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security.Outputs +{ + + /// + /// Properties of Malware Scanning. + /// + [OutputType] + public sealed class MalwareScanningPropertiesResponse + { + /// + /// Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + /// + public readonly int? CapGBPerMonth; + /// + /// Indicates whether On Upload malware scanning should be enabled. + /// + public readonly bool? IsEnabled; + /// + /// Upon failure or partial success. Additional data describing Malware Scanning enable/disable operation. + /// + public readonly Outputs.OperationStatusResponse OperationStatus; + /// + /// Optional. Resource id of an Event Grid Topic to send scan results to. + /// + public readonly string? ScanResultsEventGridTopicResourceId; + + [OutputConstructor] + private MalwareScanningPropertiesResponse( + int? capGBPerMonth, + + bool? isEnabled, + + Outputs.OperationStatusResponse operationStatus, + + string? scanResultsEventGridTopicResourceId) + { + CapGBPerMonth = capGBPerMonth; + IsEnabled = isEnabled; + OperationStatus = operationStatus; + ScanResultsEventGridTopicResourceId = scanResultsEventGridTopicResourceId; + } + } +} diff --git a/sdk/dotnet/Security/Outputs/SensitiveDataDiscoveryPropertiesResponse.cs b/sdk/dotnet/Security/Outputs/SensitiveDataDiscoveryPropertiesResponse.cs new file mode 100644 index 000000000000..315afb733bad --- /dev/null +++ b/sdk/dotnet/Security/Outputs/SensitiveDataDiscoveryPropertiesResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security.Outputs +{ + + /// + /// Properties of Sensitive Data Discovery. + /// + [OutputType] + public sealed class SensitiveDataDiscoveryPropertiesResponse + { + /// + /// Indicates whether Sensitive Data Discovery should be enabled. + /// + public readonly bool? IsEnabled; + /// + /// Upon failure or partial success. Additional data describing Sensitive Data Discovery enable/disable operation. + /// + public readonly Outputs.OperationStatusResponse OperationStatus; + + [OutputConstructor] + private SensitiveDataDiscoveryPropertiesResponse( + bool? isEnabled, + + Outputs.OperationStatusResponse operationStatus) + { + IsEnabled = isEnabled; + OperationStatus = operationStatus; + } + } +} diff --git a/sdk/dotnet/Security/V20221201Preview/DefenderForStorage.cs b/sdk/dotnet/Security/V20221201Preview/DefenderForStorage.cs new file mode 100644 index 000000000000..a16fe3452d3d --- /dev/null +++ b/sdk/dotnet/Security/V20221201Preview/DefenderForStorage.cs @@ -0,0 +1,144 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security.V20221201Preview +{ + /// + /// The Defender for Storage resource. + /// + [AzureNativeResourceType("azure-native:security/v20221201preview:DefenderForStorage")] + public partial class DefenderForStorage : global::Pulumi.CustomResource + { + /// + /// Indicates whether Defender for Storage is enabled on this storage account. + /// + [Output("isEnabled")] + public Output IsEnabled { get; private set; } = null!; + + /// + /// Properties of Malware Scanning. + /// + [Output("malwareScanning")] + public Output MalwareScanning { get; private set; } = null!; + + /// + /// Resource name + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + /// + [Output("overrideSubscriptionLevelSettings")] + public Output OverrideSubscriptionLevelSettings { get; private set; } = null!; + + /// + /// Properties of Sensitive Data Discovery. + /// + [Output("sensitiveDataDiscovery")] + public Output SensitiveDataDiscovery { get; private set; } = null!; + + /// + /// Resource type + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a DefenderForStorage resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DefenderForStorage(string name, DefenderForStorageArgs args, CustomResourceOptions? options = null) + : base("azure-native:security/v20221201preview:DefenderForStorage", name, args ?? new DefenderForStorageArgs(), MakeResourceOptions(options, "")) + { + } + + private DefenderForStorage(string name, Input id, CustomResourceOptions? options = null) + : base("azure-native:security/v20221201preview:DefenderForStorage", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + Aliases = + { + new global::Pulumi.Alias { Type = "azure-native:security:DefenderForStorage" }, + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DefenderForStorage resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static DefenderForStorage Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DefenderForStorage(name, id, options); + } + } + + public sealed class DefenderForStorageArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether Defender for Storage is enabled on this storage account. + /// + [Input("isEnabled")] + public Input? IsEnabled { get; set; } + + /// + /// Properties of Malware Scanning. + /// + [Input("malwareScanning")] + public Input? MalwareScanning { get; set; } + + /// + /// Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + /// + [Input("overrideSubscriptionLevelSettings")] + public Input? OverrideSubscriptionLevelSettings { get; set; } + + /// + /// The identifier of the resource. + /// + [Input("resourceId", required: true)] + public Input ResourceId { get; set; } = null!; + + /// + /// Properties of Sensitive Data Discovery. + /// + [Input("sensitiveDataDiscovery")] + public Input? SensitiveDataDiscovery { get; set; } + + /// + /// Defender for Storage setting name. + /// + [Input("settingName")] + public Input? SettingName { get; set; } + + public DefenderForStorageArgs() + { + } + public static new DefenderForStorageArgs Empty => new DefenderForStorageArgs(); + } +} diff --git a/sdk/dotnet/Security/V20221201Preview/GetDefenderForStorage.cs b/sdk/dotnet/Security/V20221201Preview/GetDefenderForStorage.cs new file mode 100644 index 000000000000..6b25b803dbbf --- /dev/null +++ b/sdk/dotnet/Security/V20221201Preview/GetDefenderForStorage.cs @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security.V20221201Preview +{ + public static class GetDefenderForStorage + { + /// + /// Gets the Defender for Storage settings for the specified storage account. + /// + public static Task InvokeAsync(GetDefenderForStorageArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("azure-native:security/v20221201preview:getDefenderForStorage", args ?? new GetDefenderForStorageArgs(), options.WithDefaults()); + + /// + /// Gets the Defender for Storage settings for the specified storage account. + /// + public static Output Invoke(GetDefenderForStorageInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("azure-native:security/v20221201preview:getDefenderForStorage", args ?? new GetDefenderForStorageInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDefenderForStorageArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier of the resource. + /// + [Input("resourceId", required: true)] + public string ResourceId { get; set; } = null!; + + /// + /// Defender for Storage setting name. + /// + [Input("settingName", required: true)] + public string SettingName { get; set; } = null!; + + public GetDefenderForStorageArgs() + { + } + public static new GetDefenderForStorageArgs Empty => new GetDefenderForStorageArgs(); + } + + public sealed class GetDefenderForStorageInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier of the resource. + /// + [Input("resourceId", required: true)] + public Input ResourceId { get; set; } = null!; + + /// + /// Defender for Storage setting name. + /// + [Input("settingName", required: true)] + public Input SettingName { get; set; } = null!; + + public GetDefenderForStorageInvokeArgs() + { + } + public static new GetDefenderForStorageInvokeArgs Empty => new GetDefenderForStorageInvokeArgs(); + } + + + [OutputType] + public sealed class GetDefenderForStorageResult + { + /// + /// Resource Id + /// + public readonly string Id; + /// + /// Indicates whether Defender for Storage is enabled on this storage account. + /// + public readonly bool? IsEnabled; + /// + /// Properties of Malware Scanning. + /// + public readonly Outputs.MalwareScanningPropertiesResponse? MalwareScanning; + /// + /// Resource name + /// + public readonly string Name; + /// + /// Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + /// + public readonly bool? OverrideSubscriptionLevelSettings; + /// + /// Properties of Sensitive Data Discovery. + /// + public readonly Outputs.SensitiveDataDiscoveryPropertiesResponse? SensitiveDataDiscovery; + /// + /// Resource type + /// + public readonly string Type; + + [OutputConstructor] + private GetDefenderForStorageResult( + string id, + + bool? isEnabled, + + Outputs.MalwareScanningPropertiesResponse? malwareScanning, + + string name, + + bool? overrideSubscriptionLevelSettings, + + Outputs.SensitiveDataDiscoveryPropertiesResponse? sensitiveDataDiscovery, + + string type) + { + Id = id; + IsEnabled = isEnabled; + MalwareScanning = malwareScanning; + Name = name; + OverrideSubscriptionLevelSettings = overrideSubscriptionLevelSettings; + SensitiveDataDiscovery = sensitiveDataDiscovery; + Type = type; + } + } +} diff --git a/sdk/dotnet/Security/V20221201Preview/Inputs/MalwareScanningPropertiesArgs.cs b/sdk/dotnet/Security/V20221201Preview/Inputs/MalwareScanningPropertiesArgs.cs new file mode 100644 index 000000000000..e134f84b4b76 --- /dev/null +++ b/sdk/dotnet/Security/V20221201Preview/Inputs/MalwareScanningPropertiesArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security.V20221201Preview.Inputs +{ + + /// + /// Properties of Malware Scanning. + /// + public sealed class MalwareScanningPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + /// + [Input("capGBPerMonth")] + public Input? CapGBPerMonth { get; set; } + + /// + /// Indicates whether On Upload malware scanning should be enabled. + /// + [Input("isEnabled")] + public Input? IsEnabled { get; set; } + + /// + /// Optional. Resource id of an Event Grid Topic to send scan results to. + /// + [Input("scanResultsEventGridTopicResourceId")] + public Input? ScanResultsEventGridTopicResourceId { get; set; } + + public MalwareScanningPropertiesArgs() + { + } + public static new MalwareScanningPropertiesArgs Empty => new MalwareScanningPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Security/V20221201Preview/Inputs/SensitiveDataDiscoveryPropertiesArgs.cs b/sdk/dotnet/Security/V20221201Preview/Inputs/SensitiveDataDiscoveryPropertiesArgs.cs new file mode 100644 index 000000000000..5aaa1d2d3c03 --- /dev/null +++ b/sdk/dotnet/Security/V20221201Preview/Inputs/SensitiveDataDiscoveryPropertiesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security.V20221201Preview.Inputs +{ + + /// + /// Properties of Sensitive Data Discovery. + /// + public sealed class SensitiveDataDiscoveryPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Indicates whether Sensitive Data Discovery should be enabled. + /// + [Input("isEnabled")] + public Input? IsEnabled { get; set; } + + public SensitiveDataDiscoveryPropertiesArgs() + { + } + public static new SensitiveDataDiscoveryPropertiesArgs Empty => new SensitiveDataDiscoveryPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Security/V20221201Preview/Outputs/MalwareScanningPropertiesResponse.cs b/sdk/dotnet/Security/V20221201Preview/Outputs/MalwareScanningPropertiesResponse.cs new file mode 100644 index 000000000000..b41f40b64a62 --- /dev/null +++ b/sdk/dotnet/Security/V20221201Preview/Outputs/MalwareScanningPropertiesResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security.V20221201Preview.Outputs +{ + + /// + /// Properties of Malware Scanning. + /// + [OutputType] + public sealed class MalwareScanningPropertiesResponse + { + /// + /// Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + /// + public readonly int? CapGBPerMonth; + /// + /// Indicates whether On Upload malware scanning should be enabled. + /// + public readonly bool? IsEnabled; + /// + /// Upon failure or partial success. Additional data describing Malware Scanning enable/disable operation. + /// + public readonly Outputs.OperationStatusResponse OperationStatus; + /// + /// Optional. Resource id of an Event Grid Topic to send scan results to. + /// + public readonly string? ScanResultsEventGridTopicResourceId; + + [OutputConstructor] + private MalwareScanningPropertiesResponse( + int? capGBPerMonth, + + bool? isEnabled, + + Outputs.OperationStatusResponse operationStatus, + + string? scanResultsEventGridTopicResourceId) + { + CapGBPerMonth = capGBPerMonth; + IsEnabled = isEnabled; + OperationStatus = operationStatus; + ScanResultsEventGridTopicResourceId = scanResultsEventGridTopicResourceId; + } + } +} diff --git a/sdk/dotnet/Security/V20221201Preview/Outputs/OperationStatusResponse.cs b/sdk/dotnet/Security/V20221201Preview/Outputs/OperationStatusResponse.cs new file mode 100644 index 000000000000..754df57b7d7c --- /dev/null +++ b/sdk/dotnet/Security/V20221201Preview/Outputs/OperationStatusResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security.V20221201Preview.Outputs +{ + + /// + /// A status describing the success/failure of the enablement/disablement operation. + /// + [OutputType] + public sealed class OperationStatusResponse + { + /// + /// The operation status code. + /// + public readonly string? Code; + /// + /// Additional information regarding the success/failure of the operation. + /// + public readonly string? Message; + + [OutputConstructor] + private OperationStatusResponse( + string? code, + + string? message) + { + Code = code; + Message = message; + } + } +} diff --git a/sdk/dotnet/Security/V20221201Preview/Outputs/SensitiveDataDiscoveryPropertiesResponse.cs b/sdk/dotnet/Security/V20221201Preview/Outputs/SensitiveDataDiscoveryPropertiesResponse.cs new file mode 100644 index 000000000000..3a300c323483 --- /dev/null +++ b/sdk/dotnet/Security/V20221201Preview/Outputs/SensitiveDataDiscoveryPropertiesResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Security.V20221201Preview.Outputs +{ + + /// + /// Properties of Sensitive Data Discovery. + /// + [OutputType] + public sealed class SensitiveDataDiscoveryPropertiesResponse + { + /// + /// Indicates whether Sensitive Data Discovery should be enabled. + /// + public readonly bool? IsEnabled; + /// + /// Upon failure or partial success. Additional data describing Sensitive Data Discovery enable/disable operation. + /// + public readonly Outputs.OperationStatusResponse OperationStatus; + + [OutputConstructor] + private SensitiveDataDiscoveryPropertiesResponse( + bool? isEnabled, + + Outputs.OperationStatusResponse operationStatus) + { + IsEnabled = isEnabled; + OperationStatus = operationStatus; + } + } +} diff --git a/sdk/dotnet/Security/V20221201Preview/README.md b/sdk/dotnet/Security/V20221201Preview/README.md new file mode 100644 index 000000000000..b6e91921920b --- /dev/null +++ b/sdk/dotnet/Security/V20221201Preview/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Azure resources. diff --git a/sdk/dotnet/VMwareCloudSimple/DedicatedCloudNode.cs b/sdk/dotnet/VMwareCloudSimple/DedicatedCloudNode.cs index 319127bcc6e0..c2568f4f8906 100644 --- a/sdk/dotnet/VMwareCloudSimple/DedicatedCloudNode.cs +++ b/sdk/dotnet/VMwareCloudSimple/DedicatedCloudNode.cs @@ -16,30 +16,6 @@ namespace Pulumi.AzureNative.VMwareCloudSimple [AzureNativeResourceType("azure-native:vmwarecloudsimple:DedicatedCloudNode")] public partial class DedicatedCloudNode : global::Pulumi.CustomResource { - /// - /// Availability Zone id, e.g. "az1" - /// - [Output("availabilityZoneId")] - public Output AvailabilityZoneId { get; private set; } = null!; - - /// - /// Availability Zone name, e.g. "Availability Zone 1" - /// - [Output("availabilityZoneName")] - public Output AvailabilityZoneName { get; private set; } = null!; - - /// - /// VMWare Cloud Rack Name - /// - [Output("cloudRackName")] - public Output CloudRackName { get; private set; } = null!; - - /// - /// date time the resource was created - /// - [Output("created")] - public Output Created { get; private set; } = null!; - /// /// Azure region /// @@ -47,52 +23,16 @@ public partial class DedicatedCloudNode : global::Pulumi.CustomResource public Output Location { get; private set; } = null!; /// - /// SKU's name + /// {dedicatedCloudNodeName} /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// count of nodes to create - /// - [Output("nodesCount")] - public Output NodesCount { get; private set; } = null!; - - /// - /// Placement Group id, e.g. "n1" + /// Dedicated Cloud Nodes properties /// - [Output("placementGroupId")] - public Output PlacementGroupId { get; private set; } = null!; - - /// - /// Placement Name, e.g. "Placement Group 1" - /// - [Output("placementGroupName")] - public Output PlacementGroupName { get; private set; } = null!; - - /// - /// Private Cloud Id - /// - [Output("privateCloudId")] - public Output PrivateCloudId { get; private set; } = null!; - - /// - /// Resource Pool Name - /// - [Output("privateCloudName")] - public Output PrivateCloudName { get; private set; } = null!; - - /// - /// The provisioning status of the resource - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// purchase id - /// - [Output("purchaseId")] - public Output PurchaseId { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// /// Dedicated Cloud Nodes SKU @@ -100,12 +40,6 @@ public partial class DedicatedCloudNode : global::Pulumi.CustomResource [Output("sku")] public Output Sku { get; private set; } = null!; - /// - /// Node status, indicates is private cloud set up on this node or not - /// - [Output("status")] - public Output Status { get; private set; } = null!; - /// /// Dedicated Cloud Nodes tags /// @@ -118,12 +52,6 @@ public partial class DedicatedCloudNode : global::Pulumi.CustomResource [Output("type")] public Output Type { get; private set; } = null!; - /// - /// VMWare Cluster Name - /// - [Output("vmwareClusterName")] - public Output VmwareClusterName { get; private set; } = null!; - /// /// Create a DedicatedCloudNode resource with the given unique name, arguments, and options. diff --git a/sdk/dotnet/VMwareCloudSimple/GetDedicatedCloudNode.cs b/sdk/dotnet/VMwareCloudSimple/GetDedicatedCloudNode.cs index eaf7ca44a1e8..5eed1eeb549a 100644 --- a/sdk/dotnet/VMwareCloudSimple/GetDedicatedCloudNode.cs +++ b/sdk/dotnet/VMwareCloudSimple/GetDedicatedCloudNode.cs @@ -72,23 +72,7 @@ public GetDedicatedCloudNodeInvokeArgs() public sealed class GetDedicatedCloudNodeResult { /// - /// Availability Zone id, e.g. "az1" - /// - public readonly string AvailabilityZoneId; - /// - /// Availability Zone name, e.g. "Availability Zone 1" - /// - public readonly string AvailabilityZoneName; - /// - /// VMWare Cloud Rack Name - /// - public readonly string CloudRackName; - /// - /// date time the resource was created - /// - public readonly string Created; - /// - /// SKU's id + /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/dedicatedCloudNodes/{dedicatedCloudNodeName} /// public readonly string Id; /// @@ -96,46 +80,18 @@ public sealed class GetDedicatedCloudNodeResult /// public readonly string Location; /// - /// SKU's name + /// {dedicatedCloudNodeName} /// public readonly string Name; /// - /// count of nodes to create - /// - public readonly int NodesCount; - /// - /// Placement Group id, e.g. "n1" - /// - public readonly string PlacementGroupId; - /// - /// Placement Name, e.g. "Placement Group 1" - /// - public readonly string PlacementGroupName; - /// - /// Private Cloud Id - /// - public readonly string PrivateCloudId; - /// - /// Resource Pool Name - /// - public readonly string PrivateCloudName; - /// - /// The provisioning status of the resource + /// Dedicated Cloud Nodes properties /// - public readonly string ProvisioningState; - /// - /// purchase id - /// - public readonly string PurchaseId; + public readonly Outputs.DedicatedCloudNodePropertiesResponse Properties; /// /// Dedicated Cloud Nodes SKU /// public readonly Outputs.SkuResponse? Sku; /// - /// Node status, indicates is private cloud set up on this node or not - /// - public readonly string Status; - /// /// Dedicated Cloud Nodes tags /// public readonly ImmutableDictionary? Tags; @@ -143,70 +99,30 @@ public sealed class GetDedicatedCloudNodeResult /// {resourceProviderNamespace}/{resourceType} /// public readonly string Type; - /// - /// VMWare Cluster Name - /// - public readonly string VmwareClusterName; [OutputConstructor] private GetDedicatedCloudNodeResult( - string availabilityZoneId, - - string availabilityZoneName, - - string cloudRackName, - - string created, - string id, string location, string name, - int nodesCount, - - string placementGroupId, - - string placementGroupName, - - string privateCloudId, - - string privateCloudName, - - string provisioningState, - - string purchaseId, + Outputs.DedicatedCloudNodePropertiesResponse properties, Outputs.SkuResponse? sku, - string status, - ImmutableDictionary? tags, - string type, - - string vmwareClusterName) + string type) { - AvailabilityZoneId = availabilityZoneId; - AvailabilityZoneName = availabilityZoneName; - CloudRackName = cloudRackName; - Created = created; Id = id; Location = location; Name = name; - NodesCount = nodesCount; - PlacementGroupId = placementGroupId; - PlacementGroupName = placementGroupName; - PrivateCloudId = privateCloudId; - PrivateCloudName = privateCloudName; - ProvisioningState = provisioningState; - PurchaseId = purchaseId; + Properties = properties; Sku = sku; - Status = status; Tags = tags; Type = type; - VmwareClusterName = vmwareClusterName; } } } diff --git a/sdk/dotnet/VMwareCloudSimple/Outputs/DedicatedCloudNodePropertiesResponse.cs b/sdk/dotnet/VMwareCloudSimple/Outputs/DedicatedCloudNodePropertiesResponse.cs new file mode 100644 index 000000000000..e67973340d15 --- /dev/null +++ b/sdk/dotnet/VMwareCloudSimple/Outputs/DedicatedCloudNodePropertiesResponse.cs @@ -0,0 +1,129 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.VMwareCloudSimple.Outputs +{ + + /// + /// Properties of dedicated cloud node + /// + [OutputType] + public sealed class DedicatedCloudNodePropertiesResponse + { + /// + /// Availability Zone id, e.g. "az1" + /// + public readonly string AvailabilityZoneId; + /// + /// Availability Zone name, e.g. "Availability Zone 1" + /// + public readonly string AvailabilityZoneName; + /// + /// VMWare Cloud Rack Name + /// + public readonly string CloudRackName; + /// + /// date time the resource was created + /// + public readonly string Created; + /// + /// SKU's id + /// + public readonly string Id; + /// + /// SKU's name + /// + public readonly string Name; + /// + /// count of nodes to create + /// + public readonly int NodesCount; + /// + /// Placement Group id, e.g. "n1" + /// + public readonly string PlacementGroupId; + /// + /// Placement Name, e.g. "Placement Group 1" + /// + public readonly string PlacementGroupName; + /// + /// Private Cloud Id + /// + public readonly string PrivateCloudId; + /// + /// Resource Pool Name + /// + public readonly string PrivateCloudName; + /// + /// The provisioning status of the resource + /// + public readonly string ProvisioningState; + /// + /// purchase id + /// + public readonly string PurchaseId; + /// + /// Node status, indicates is private cloud set up on this node or not + /// + public readonly string Status; + /// + /// VMWare Cluster Name + /// + public readonly string VmwareClusterName; + + [OutputConstructor] + private DedicatedCloudNodePropertiesResponse( + string availabilityZoneId, + + string availabilityZoneName, + + string cloudRackName, + + string created, + + string id, + + string name, + + int nodesCount, + + string placementGroupId, + + string placementGroupName, + + string privateCloudId, + + string privateCloudName, + + string provisioningState, + + string purchaseId, + + string status, + + string vmwareClusterName) + { + AvailabilityZoneId = availabilityZoneId; + AvailabilityZoneName = availabilityZoneName; + CloudRackName = cloudRackName; + Created = created; + Id = id; + Name = name; + NodesCount = nodesCount; + PlacementGroupId = placementGroupId; + PlacementGroupName = placementGroupName; + PrivateCloudId = privateCloudId; + PrivateCloudName = privateCloudName; + ProvisioningState = provisioningState; + PurchaseId = purchaseId; + Status = status; + VmwareClusterName = vmwareClusterName; + } + } +} diff --git a/sdk/dotnet/VMwareCloudSimple/V20190401/DedicatedCloudNode.cs b/sdk/dotnet/VMwareCloudSimple/V20190401/DedicatedCloudNode.cs index 7b77abd3f8a1..f1d4c913f206 100644 --- a/sdk/dotnet/VMwareCloudSimple/V20190401/DedicatedCloudNode.cs +++ b/sdk/dotnet/VMwareCloudSimple/V20190401/DedicatedCloudNode.cs @@ -15,30 +15,6 @@ namespace Pulumi.AzureNative.VMwareCloudSimple.V20190401 [AzureNativeResourceType("azure-native:vmwarecloudsimple/v20190401:DedicatedCloudNode")] public partial class DedicatedCloudNode : global::Pulumi.CustomResource { - /// - /// Availability Zone id, e.g. "az1" - /// - [Output("availabilityZoneId")] - public Output AvailabilityZoneId { get; private set; } = null!; - - /// - /// Availability Zone name, e.g. "Availability Zone 1" - /// - [Output("availabilityZoneName")] - public Output AvailabilityZoneName { get; private set; } = null!; - - /// - /// VMWare Cloud Rack Name - /// - [Output("cloudRackName")] - public Output CloudRackName { get; private set; } = null!; - - /// - /// date time the resource was created - /// - [Output("created")] - public Output Created { get; private set; } = null!; - /// /// Azure region /// @@ -46,52 +22,16 @@ public partial class DedicatedCloudNode : global::Pulumi.CustomResource public Output Location { get; private set; } = null!; /// - /// SKU's name + /// {dedicatedCloudNodeName} /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// count of nodes to create - /// - [Output("nodesCount")] - public Output NodesCount { get; private set; } = null!; - - /// - /// Placement Group id, e.g. "n1" + /// Dedicated Cloud Nodes properties /// - [Output("placementGroupId")] - public Output PlacementGroupId { get; private set; } = null!; - - /// - /// Placement Name, e.g. "Placement Group 1" - /// - [Output("placementGroupName")] - public Output PlacementGroupName { get; private set; } = null!; - - /// - /// Private Cloud Id - /// - [Output("privateCloudId")] - public Output PrivateCloudId { get; private set; } = null!; - - /// - /// Resource Pool Name - /// - [Output("privateCloudName")] - public Output PrivateCloudName { get; private set; } = null!; - - /// - /// The provisioning status of the resource - /// - [Output("provisioningState")] - public Output ProvisioningState { get; private set; } = null!; - - /// - /// purchase id - /// - [Output("purchaseId")] - public Output PurchaseId { get; private set; } = null!; + [Output("properties")] + public Output Properties { get; private set; } = null!; /// /// Dedicated Cloud Nodes SKU @@ -99,12 +39,6 @@ public partial class DedicatedCloudNode : global::Pulumi.CustomResource [Output("sku")] public Output Sku { get; private set; } = null!; - /// - /// Node status, indicates is private cloud set up on this node or not - /// - [Output("status")] - public Output Status { get; private set; } = null!; - /// /// Dedicated Cloud Nodes tags /// @@ -117,12 +51,6 @@ public partial class DedicatedCloudNode : global::Pulumi.CustomResource [Output("type")] public Output Type { get; private set; } = null!; - /// - /// VMWare Cluster Name - /// - [Output("vmwareClusterName")] - public Output VmwareClusterName { get; private set; } = null!; - /// /// Create a DedicatedCloudNode resource with the given unique name, arguments, and options. diff --git a/sdk/dotnet/VMwareCloudSimple/V20190401/GetDedicatedCloudNode.cs b/sdk/dotnet/VMwareCloudSimple/V20190401/GetDedicatedCloudNode.cs index b9a7e2cd066d..5bfe21da062d 100644 --- a/sdk/dotnet/VMwareCloudSimple/V20190401/GetDedicatedCloudNode.cs +++ b/sdk/dotnet/VMwareCloudSimple/V20190401/GetDedicatedCloudNode.cs @@ -70,23 +70,7 @@ public GetDedicatedCloudNodeInvokeArgs() public sealed class GetDedicatedCloudNodeResult { /// - /// Availability Zone id, e.g. "az1" - /// - public readonly string AvailabilityZoneId; - /// - /// Availability Zone name, e.g. "Availability Zone 1" - /// - public readonly string AvailabilityZoneName; - /// - /// VMWare Cloud Rack Name - /// - public readonly string CloudRackName; - /// - /// date time the resource was created - /// - public readonly string Created; - /// - /// SKU's id + /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/dedicatedCloudNodes/{dedicatedCloudNodeName} /// public readonly string Id; /// @@ -94,46 +78,18 @@ public sealed class GetDedicatedCloudNodeResult /// public readonly string Location; /// - /// SKU's name + /// {dedicatedCloudNodeName} /// public readonly string Name; /// - /// count of nodes to create - /// - public readonly int NodesCount; - /// - /// Placement Group id, e.g. "n1" - /// - public readonly string PlacementGroupId; - /// - /// Placement Name, e.g. "Placement Group 1" - /// - public readonly string PlacementGroupName; - /// - /// Private Cloud Id - /// - public readonly string PrivateCloudId; - /// - /// Resource Pool Name - /// - public readonly string PrivateCloudName; - /// - /// The provisioning status of the resource + /// Dedicated Cloud Nodes properties /// - public readonly string ProvisioningState; - /// - /// purchase id - /// - public readonly string PurchaseId; + public readonly Outputs.DedicatedCloudNodePropertiesResponse Properties; /// /// Dedicated Cloud Nodes SKU /// public readonly Outputs.SkuResponse? Sku; /// - /// Node status, indicates is private cloud set up on this node or not - /// - public readonly string Status; - /// /// Dedicated Cloud Nodes tags /// public readonly ImmutableDictionary? Tags; @@ -141,70 +97,30 @@ public sealed class GetDedicatedCloudNodeResult /// {resourceProviderNamespace}/{resourceType} /// public readonly string Type; - /// - /// VMWare Cluster Name - /// - public readonly string VmwareClusterName; [OutputConstructor] private GetDedicatedCloudNodeResult( - string availabilityZoneId, - - string availabilityZoneName, - - string cloudRackName, - - string created, - string id, string location, string name, - int nodesCount, - - string placementGroupId, - - string placementGroupName, - - string privateCloudId, - - string privateCloudName, - - string provisioningState, - - string purchaseId, + Outputs.DedicatedCloudNodePropertiesResponse properties, Outputs.SkuResponse? sku, - string status, - ImmutableDictionary? tags, - string type, - - string vmwareClusterName) + string type) { - AvailabilityZoneId = availabilityZoneId; - AvailabilityZoneName = availabilityZoneName; - CloudRackName = cloudRackName; - Created = created; Id = id; Location = location; Name = name; - NodesCount = nodesCount; - PlacementGroupId = placementGroupId; - PlacementGroupName = placementGroupName; - PrivateCloudId = privateCloudId; - PrivateCloudName = privateCloudName; - ProvisioningState = provisioningState; - PurchaseId = purchaseId; + Properties = properties; Sku = sku; - Status = status; Tags = tags; Type = type; - VmwareClusterName = vmwareClusterName; } } } diff --git a/sdk/dotnet/VMwareCloudSimple/V20190401/Outputs/DedicatedCloudNodePropertiesResponse.cs b/sdk/dotnet/VMwareCloudSimple/V20190401/Outputs/DedicatedCloudNodePropertiesResponse.cs new file mode 100644 index 000000000000..e7e46b14490c --- /dev/null +++ b/sdk/dotnet/VMwareCloudSimple/V20190401/Outputs/DedicatedCloudNodePropertiesResponse.cs @@ -0,0 +1,129 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.VMwareCloudSimple.V20190401.Outputs +{ + + /// + /// Properties of dedicated cloud node + /// + [OutputType] + public sealed class DedicatedCloudNodePropertiesResponse + { + /// + /// Availability Zone id, e.g. "az1" + /// + public readonly string AvailabilityZoneId; + /// + /// Availability Zone name, e.g. "Availability Zone 1" + /// + public readonly string AvailabilityZoneName; + /// + /// VMWare Cloud Rack Name + /// + public readonly string CloudRackName; + /// + /// date time the resource was created + /// + public readonly string Created; + /// + /// SKU's id + /// + public readonly string Id; + /// + /// SKU's name + /// + public readonly string Name; + /// + /// count of nodes to create + /// + public readonly int NodesCount; + /// + /// Placement Group id, e.g. "n1" + /// + public readonly string PlacementGroupId; + /// + /// Placement Name, e.g. "Placement Group 1" + /// + public readonly string PlacementGroupName; + /// + /// Private Cloud Id + /// + public readonly string PrivateCloudId; + /// + /// Resource Pool Name + /// + public readonly string PrivateCloudName; + /// + /// The provisioning status of the resource + /// + public readonly string ProvisioningState; + /// + /// purchase id + /// + public readonly string PurchaseId; + /// + /// Node status, indicates is private cloud set up on this node or not + /// + public readonly string Status; + /// + /// VMWare Cluster Name + /// + public readonly string VmwareClusterName; + + [OutputConstructor] + private DedicatedCloudNodePropertiesResponse( + string availabilityZoneId, + + string availabilityZoneName, + + string cloudRackName, + + string created, + + string id, + + string name, + + int nodesCount, + + string placementGroupId, + + string placementGroupName, + + string privateCloudId, + + string privateCloudName, + + string provisioningState, + + string purchaseId, + + string status, + + string vmwareClusterName) + { + AvailabilityZoneId = availabilityZoneId; + AvailabilityZoneName = availabilityZoneName; + CloudRackName = cloudRackName; + Created = created; + Id = id; + Name = name; + NodesCount = nodesCount; + PlacementGroupId = placementGroupId; + PlacementGroupName = placementGroupName; + PrivateCloudId = privateCloudId; + PrivateCloudName = privateCloudName; + ProvisioningState = provisioningState; + PurchaseId = purchaseId; + Status = status; + VmwareClusterName = vmwareClusterName; + } + } +} diff --git a/sdk/nodejs/authorization/accessReviewHistoryDefinitionById.ts b/sdk/nodejs/authorization/accessReviewHistoryDefinitionById.ts index e70d739dc27d..bdd207fd1dbc 100644 --- a/sdk/nodejs/authorization/accessReviewHistoryDefinitionById.ts +++ b/sdk/nodejs/authorization/accessReviewHistoryDefinitionById.ts @@ -50,10 +50,6 @@ export class AccessReviewHistoryDefinitionById extends pulumi.CustomResource { * The display name for the history definition. */ public readonly displayName!: pulumi.Output; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - public readonly endDate!: pulumi.Output; /** * Set of access review history instances for this history definition. */ @@ -66,10 +62,6 @@ export class AccessReviewHistoryDefinitionById extends pulumi.CustomResource { * The access review history definition unique id. */ public /*out*/ readonly name!: pulumi.Output; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - public readonly numberOfOccurrences!: pulumi.Output; /** * The identity id */ @@ -82,6 +74,10 @@ export class AccessReviewHistoryDefinitionById extends pulumi.CustomResource { * The identity type : user/servicePrincipal */ public /*out*/ readonly principalType!: pulumi.Output; + /** + * Access Review History Definition recurrence settings. + */ + public readonly range!: pulumi.Output; /** * Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. */ @@ -94,10 +90,6 @@ export class AccessReviewHistoryDefinitionById extends pulumi.CustomResource { * A collection of scopes used when selecting review history data */ public readonly scopes!: pulumi.Output; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - public readonly startDate!: pulumi.Output; /** * This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. */ @@ -124,13 +116,11 @@ export class AccessReviewHistoryDefinitionById extends pulumi.CustomResource { if (!opts.id) { resourceInputs["decisions"] = args ? args.decisions : undefined; resourceInputs["displayName"] = args ? args.displayName : undefined; - resourceInputs["endDate"] = args ? args.endDate : undefined; resourceInputs["historyDefinitionId"] = args ? args.historyDefinitionId : undefined; resourceInputs["instances"] = args ? args.instances : undefined; resourceInputs["interval"] = args ? args.interval : undefined; - resourceInputs["numberOfOccurrences"] = args ? args.numberOfOccurrences : undefined; + resourceInputs["range"] = args ? args.range : undefined; resourceInputs["scopes"] = args ? args.scopes : undefined; - resourceInputs["startDate"] = args ? args.startDate : undefined; resourceInputs["type"] = args ? args.type : undefined; resourceInputs["createdDateTime"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; @@ -145,18 +135,16 @@ export class AccessReviewHistoryDefinitionById extends pulumi.CustomResource { resourceInputs["createdDateTime"] = undefined /*out*/; resourceInputs["decisions"] = undefined /*out*/; resourceInputs["displayName"] = undefined /*out*/; - resourceInputs["endDate"] = undefined /*out*/; resourceInputs["instances"] = undefined /*out*/; resourceInputs["interval"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["numberOfOccurrences"] = undefined /*out*/; resourceInputs["principalId"] = undefined /*out*/; resourceInputs["principalName"] = undefined /*out*/; resourceInputs["principalType"] = undefined /*out*/; + resourceInputs["range"] = undefined /*out*/; resourceInputs["reviewHistoryPeriodEndDateTime"] = undefined /*out*/; resourceInputs["reviewHistoryPeriodStartDateTime"] = undefined /*out*/; resourceInputs["scopes"] = undefined /*out*/; - resourceInputs["startDate"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; resourceInputs["userPrincipalName"] = undefined /*out*/; @@ -180,10 +168,6 @@ export interface AccessReviewHistoryDefinitionByIdArgs { * The display name for the history definition. */ displayName?: pulumi.Input; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - endDate?: pulumi.Input; /** * The id of the access review history definition. */ @@ -197,19 +181,15 @@ export interface AccessReviewHistoryDefinitionByIdArgs { */ interval?: pulumi.Input; /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. + * Access Review History Definition recurrence settings. */ - numberOfOccurrences?: pulumi.Input; + range?: pulumi.Input; /** * A collection of scopes used when selecting review history data */ scopes?: pulumi.Input[]>; /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - startDate?: pulumi.Input; - /** - * The recurrence range type. The possible values are: endDate, noEnd, numbered. + * The recurrence type : weekly, monthly, etc. */ - type?: pulumi.Input; + type?: pulumi.Input; } diff --git a/sdk/nodejs/authorization/accessReviewScheduleDefinitionById.ts b/sdk/nodejs/authorization/accessReviewScheduleDefinitionById.ts index 9a1e3cab4717..c597e09db438 100644 --- a/sdk/nodejs/authorization/accessReviewScheduleDefinitionById.ts +++ b/sdk/nodejs/authorization/accessReviewScheduleDefinitionById.ts @@ -38,10 +38,6 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { return obj['__pulumiType'] === AccessReviewScheduleDefinitionById.__pulumiType; } - /** - * The role assignment state eligible/active to review - */ - public /*out*/ readonly assignmentState!: pulumi.Output; /** * Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. */ @@ -70,34 +66,6 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { * The display name for the schedule definition. */ public readonly displayName!: pulumi.Output; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - public readonly endDate!: pulumi.Output; - /** - * This is used to indicate the resource id(s) to exclude - */ - public readonly excludeResourceId!: pulumi.Output; - /** - * This is used to indicate the role definition id(s) to exclude - */ - public readonly excludeRoleDefinitionId!: pulumi.Output; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - public readonly expandNestedMemberships!: pulumi.Output; - /** - * Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - */ - public readonly inactiveDuration!: pulumi.Output; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - public readonly includeAccessBelowResource!: pulumi.Output; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - public readonly includeInheritedAccess!: pulumi.Output; /** * The duration in days for an instance. */ @@ -122,10 +90,6 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { * The access review schedule definition unique id. */ public /*out*/ readonly name!: pulumi.Output; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - public readonly numberOfOccurrences!: pulumi.Output; /** * The identity id */ @@ -135,9 +99,13 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { */ public /*out*/ readonly principalName!: pulumi.Output; /** - * The identity type user/servicePrincipal to review + * The identity type : user/servicePrincipal */ public /*out*/ readonly principalType!: pulumi.Output; + /** + * Access Review schedule definition recurrence range. + */ + public readonly range!: pulumi.Output; /** * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ @@ -150,10 +118,6 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { * Flag to indicate whether sending reminder emails to reviewers are enabled. */ public readonly reminderNotificationsEnabled!: pulumi.Output; - /** - * ResourceId in which this review is getting created - */ - public /*out*/ readonly resourceId!: pulumi.Output; /** * This is the collection of reviewers. */ @@ -163,13 +127,9 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { */ public /*out*/ readonly reviewersType!: pulumi.Output; /** - * This is used to indicate the role being reviewed - */ - public /*out*/ readonly roleDefinitionId!: pulumi.Output; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + * This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. */ - public readonly startDate!: pulumi.Output; + public /*out*/ readonly scope!: pulumi.Output; /** * This read-only field specifies the status of an accessReview. */ @@ -201,7 +161,6 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { resourceInputs["descriptionForAdmins"] = args ? args.descriptionForAdmins : undefined; resourceInputs["descriptionForReviewers"] = args ? args.descriptionForReviewers : undefined; resourceInputs["displayName"] = args ? args.displayName : undefined; - resourceInputs["endDate"] = args ? args.endDate : undefined; resourceInputs["excludeResourceId"] = args ? args.excludeResourceId : undefined; resourceInputs["excludeRoleDefinitionId"] = args ? args.excludeRoleDefinitionId : undefined; resourceInputs["expandNestedMemberships"] = args ? args.expandNestedMemberships : undefined; @@ -213,26 +172,22 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { resourceInputs["interval"] = args ? args.interval : undefined; resourceInputs["justificationRequiredOnApproval"] = args ? args.justificationRequiredOnApproval : undefined; resourceInputs["mailNotificationsEnabled"] = args ? args.mailNotificationsEnabled : undefined; - resourceInputs["numberOfOccurrences"] = args ? args.numberOfOccurrences : undefined; + resourceInputs["range"] = args ? args.range : undefined; resourceInputs["recommendationLookBackDuration"] = args ? args.recommendationLookBackDuration : undefined; resourceInputs["recommendationsEnabled"] = args ? args.recommendationsEnabled : undefined; resourceInputs["reminderNotificationsEnabled"] = args ? args.reminderNotificationsEnabled : undefined; resourceInputs["reviewers"] = args ? args.reviewers : undefined; resourceInputs["scheduleDefinitionId"] = args ? args.scheduleDefinitionId : undefined; - resourceInputs["startDate"] = args ? args.startDate : undefined; resourceInputs["type"] = args ? args.type : undefined; - resourceInputs["assignmentState"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["principalId"] = undefined /*out*/; resourceInputs["principalName"] = undefined /*out*/; resourceInputs["principalType"] = undefined /*out*/; - resourceInputs["resourceId"] = undefined /*out*/; resourceInputs["reviewersType"] = undefined /*out*/; - resourceInputs["roleDefinitionId"] = undefined /*out*/; + resourceInputs["scope"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["userPrincipalName"] = undefined /*out*/; } else { - resourceInputs["assignmentState"] = undefined /*out*/; resourceInputs["autoApplyDecisionsEnabled"] = undefined /*out*/; resourceInputs["backupReviewers"] = undefined /*out*/; resourceInputs["defaultDecision"] = undefined /*out*/; @@ -240,31 +195,22 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { resourceInputs["descriptionForAdmins"] = undefined /*out*/; resourceInputs["descriptionForReviewers"] = undefined /*out*/; resourceInputs["displayName"] = undefined /*out*/; - resourceInputs["endDate"] = undefined /*out*/; - resourceInputs["excludeResourceId"] = undefined /*out*/; - resourceInputs["excludeRoleDefinitionId"] = undefined /*out*/; - resourceInputs["expandNestedMemberships"] = undefined /*out*/; - resourceInputs["inactiveDuration"] = undefined /*out*/; - resourceInputs["includeAccessBelowResource"] = undefined /*out*/; - resourceInputs["includeInheritedAccess"] = undefined /*out*/; resourceInputs["instanceDurationInDays"] = undefined /*out*/; resourceInputs["instances"] = undefined /*out*/; resourceInputs["interval"] = undefined /*out*/; resourceInputs["justificationRequiredOnApproval"] = undefined /*out*/; resourceInputs["mailNotificationsEnabled"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["numberOfOccurrences"] = undefined /*out*/; resourceInputs["principalId"] = undefined /*out*/; resourceInputs["principalName"] = undefined /*out*/; resourceInputs["principalType"] = undefined /*out*/; + resourceInputs["range"] = undefined /*out*/; resourceInputs["recommendationLookBackDuration"] = undefined /*out*/; resourceInputs["recommendationsEnabled"] = undefined /*out*/; resourceInputs["reminderNotificationsEnabled"] = undefined /*out*/; - resourceInputs["resourceId"] = undefined /*out*/; resourceInputs["reviewers"] = undefined /*out*/; resourceInputs["reviewersType"] = undefined /*out*/; - resourceInputs["roleDefinitionId"] = undefined /*out*/; - resourceInputs["startDate"] = undefined /*out*/; + resourceInputs["scope"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; resourceInputs["userPrincipalName"] = undefined /*out*/; @@ -308,10 +254,6 @@ export interface AccessReviewScheduleDefinitionByIdArgs { * The display name for the schedule definition. */ displayName?: pulumi.Input; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - endDate?: pulumi.Input; /** * This is used to indicate the resource id(s) to exclude */ @@ -357,9 +299,9 @@ export interface AccessReviewScheduleDefinitionByIdArgs { */ mailNotificationsEnabled?: pulumi.Input; /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. + * Access Review schedule definition recurrence range. */ - numberOfOccurrences?: pulumi.Input; + range?: pulumi.Input; /** * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ @@ -381,11 +323,7 @@ export interface AccessReviewScheduleDefinitionByIdArgs { */ scheduleDefinitionId?: pulumi.Input; /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - startDate?: pulumi.Input; - /** - * The recurrence range type. The possible values are: endDate, noEnd, numbered. + * The recurrence type : weekly, monthly, etc. */ - type?: pulumi.Input; + type?: pulumi.Input; } diff --git a/sdk/nodejs/authorization/getAccessReviewHistoryDefinitionById.ts b/sdk/nodejs/authorization/getAccessReviewHistoryDefinitionById.ts index 9355d6c7794f..ba9c7f0cdf44 100644 --- a/sdk/nodejs/authorization/getAccessReviewHistoryDefinitionById.ts +++ b/sdk/nodejs/authorization/getAccessReviewHistoryDefinitionById.ts @@ -42,10 +42,6 @@ export interface GetAccessReviewHistoryDefinitionByIdResult { * The display name for the history definition. */ readonly displayName?: string; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - readonly endDate?: string; /** * The access review history definition id. */ @@ -62,10 +58,6 @@ export interface GetAccessReviewHistoryDefinitionByIdResult { * The access review history definition unique id. */ readonly name: string; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - readonly numberOfOccurrences?: number; /** * The identity id */ @@ -78,6 +70,10 @@ export interface GetAccessReviewHistoryDefinitionByIdResult { * The identity type : user/servicePrincipal */ readonly principalType: string; + /** + * Access Review History Definition recurrence settings. + */ + readonly range?: outputs.authorization.AccessReviewRecurrenceRangeResponse; /** * Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. */ @@ -90,10 +86,6 @@ export interface GetAccessReviewHistoryDefinitionByIdResult { * A collection of scopes used when selecting review history data */ readonly scopes?: outputs.authorization.AccessReviewScopeResponse[]; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - readonly startDate?: string; /** * This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. */ diff --git a/sdk/nodejs/authorization/getAccessReviewScheduleDefinitionById.ts b/sdk/nodejs/authorization/getAccessReviewScheduleDefinitionById.ts index e0d136ea34bd..1f17e722ce7f 100644 --- a/sdk/nodejs/authorization/getAccessReviewScheduleDefinitionById.ts +++ b/sdk/nodejs/authorization/getAccessReviewScheduleDefinitionById.ts @@ -30,10 +30,6 @@ export interface GetAccessReviewScheduleDefinitionByIdArgs { * Access Review Schedule Definition. */ export interface GetAccessReviewScheduleDefinitionByIdResult { - /** - * The role assignment state eligible/active to review - */ - readonly assignmentState: string; /** * Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. */ @@ -62,38 +58,10 @@ export interface GetAccessReviewScheduleDefinitionByIdResult { * The display name for the schedule definition. */ readonly displayName?: string; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - readonly endDate?: string; - /** - * This is used to indicate the resource id(s) to exclude - */ - readonly excludeResourceId?: string; - /** - * This is used to indicate the role definition id(s) to exclude - */ - readonly excludeRoleDefinitionId?: string; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - readonly expandNestedMemberships?: boolean; /** * The access review schedule definition id. */ readonly id: string; - /** - * Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - */ - readonly inactiveDuration?: string; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - readonly includeAccessBelowResource?: boolean; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - readonly includeInheritedAccess?: boolean; /** * The duration in days for an instance. */ @@ -118,10 +86,6 @@ export interface GetAccessReviewScheduleDefinitionByIdResult { * The access review schedule definition unique id. */ readonly name: string; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - readonly numberOfOccurrences?: number; /** * The identity id */ @@ -131,9 +95,13 @@ export interface GetAccessReviewScheduleDefinitionByIdResult { */ readonly principalName: string; /** - * The identity type user/servicePrincipal to review + * The identity type : user/servicePrincipal */ readonly principalType: string; + /** + * Access Review schedule definition recurrence range. + */ + readonly range?: outputs.authorization.AccessReviewRecurrenceRangeResponse; /** * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ @@ -146,10 +114,6 @@ export interface GetAccessReviewScheduleDefinitionByIdResult { * Flag to indicate whether sending reminder emails to reviewers are enabled. */ readonly reminderNotificationsEnabled?: boolean; - /** - * ResourceId in which this review is getting created - */ - readonly resourceId: string; /** * This is the collection of reviewers. */ @@ -159,13 +123,9 @@ export interface GetAccessReviewScheduleDefinitionByIdResult { */ readonly reviewersType: string; /** - * This is used to indicate the role being reviewed - */ - readonly roleDefinitionId: string; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + * This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. */ - readonly startDate?: string; + readonly scope: outputs.authorization.AccessReviewScopeResponse; /** * This read-only field specifies the status of an accessReview. */ diff --git a/sdk/nodejs/authorization/getScopeAccessReviewHistoryDefinitionById.ts b/sdk/nodejs/authorization/getScopeAccessReviewHistoryDefinitionById.ts index 28234a5241e9..379158d05f5b 100644 --- a/sdk/nodejs/authorization/getScopeAccessReviewHistoryDefinitionById.ts +++ b/sdk/nodejs/authorization/getScopeAccessReviewHistoryDefinitionById.ts @@ -47,10 +47,6 @@ export interface GetScopeAccessReviewHistoryDefinitionByIdResult { * The display name for the history definition. */ readonly displayName?: string; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - readonly endDate?: string; /** * The access review history definition id. */ @@ -67,10 +63,6 @@ export interface GetScopeAccessReviewHistoryDefinitionByIdResult { * The access review history definition unique id. */ readonly name: string; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - readonly numberOfOccurrences?: number; /** * The identity id */ @@ -83,6 +75,10 @@ export interface GetScopeAccessReviewHistoryDefinitionByIdResult { * The identity type : user/servicePrincipal */ readonly principalType: string; + /** + * Access Review History Definition recurrence settings. + */ + readonly range?: outputs.authorization.AccessReviewRecurrenceRangeResponse; /** * Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. */ @@ -95,10 +91,6 @@ export interface GetScopeAccessReviewHistoryDefinitionByIdResult { * A collection of scopes used when selecting review history data */ readonly scopes?: outputs.authorization.AccessReviewScopeResponse[]; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - readonly startDate?: string; /** * This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. */ diff --git a/sdk/nodejs/authorization/getScopeAccessReviewScheduleDefinitionById.ts b/sdk/nodejs/authorization/getScopeAccessReviewScheduleDefinitionById.ts index 854323748ecf..8d43f50e211b 100644 --- a/sdk/nodejs/authorization/getScopeAccessReviewScheduleDefinitionById.ts +++ b/sdk/nodejs/authorization/getScopeAccessReviewScheduleDefinitionById.ts @@ -35,10 +35,6 @@ export interface GetScopeAccessReviewScheduleDefinitionByIdArgs { * Access Review Schedule Definition. */ export interface GetScopeAccessReviewScheduleDefinitionByIdResult { - /** - * The role assignment state eligible/active to review - */ - readonly assignmentState: string; /** * Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. */ @@ -67,38 +63,10 @@ export interface GetScopeAccessReviewScheduleDefinitionByIdResult { * The display name for the schedule definition. */ readonly displayName?: string; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - readonly endDate?: string; - /** - * This is used to indicate the resource id(s) to exclude - */ - readonly excludeResourceId?: string; - /** - * This is used to indicate the role definition id(s) to exclude - */ - readonly excludeRoleDefinitionId?: string; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - readonly expandNestedMemberships?: boolean; /** * The access review schedule definition id. */ readonly id: string; - /** - * Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - */ - readonly inactiveDuration?: string; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - readonly includeAccessBelowResource?: boolean; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - readonly includeInheritedAccess?: boolean; /** * The duration in days for an instance. */ @@ -123,10 +91,6 @@ export interface GetScopeAccessReviewScheduleDefinitionByIdResult { * The access review schedule definition unique id. */ readonly name: string; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - readonly numberOfOccurrences?: number; /** * The identity id */ @@ -136,9 +100,13 @@ export interface GetScopeAccessReviewScheduleDefinitionByIdResult { */ readonly principalName: string; /** - * The identity type user/servicePrincipal to review + * The identity type : user/servicePrincipal */ readonly principalType: string; + /** + * Access Review schedule definition recurrence range. + */ + readonly range?: outputs.authorization.AccessReviewRecurrenceRangeResponse; /** * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ @@ -151,10 +119,6 @@ export interface GetScopeAccessReviewScheduleDefinitionByIdResult { * Flag to indicate whether sending reminder emails to reviewers are enabled. */ readonly reminderNotificationsEnabled?: boolean; - /** - * ResourceId in which this review is getting created - */ - readonly resourceId: string; /** * This is the collection of reviewers. */ @@ -164,13 +128,9 @@ export interface GetScopeAccessReviewScheduleDefinitionByIdResult { */ readonly reviewersType: string; /** - * This is used to indicate the role being reviewed - */ - readonly roleDefinitionId: string; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + * This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. */ - readonly startDate?: string; + readonly scope: outputs.authorization.AccessReviewScopeResponse; /** * This read-only field specifies the status of an accessReview. */ diff --git a/sdk/nodejs/authorization/scopeAccessReviewHistoryDefinitionById.ts b/sdk/nodejs/authorization/scopeAccessReviewHistoryDefinitionById.ts index 1a36c157a287..347f11d25023 100644 --- a/sdk/nodejs/authorization/scopeAccessReviewHistoryDefinitionById.ts +++ b/sdk/nodejs/authorization/scopeAccessReviewHistoryDefinitionById.ts @@ -50,10 +50,6 @@ export class ScopeAccessReviewHistoryDefinitionById extends pulumi.CustomResourc * The display name for the history definition. */ public readonly displayName!: pulumi.Output; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - public readonly endDate!: pulumi.Output; /** * Set of access review history instances for this history definition. */ @@ -66,10 +62,6 @@ export class ScopeAccessReviewHistoryDefinitionById extends pulumi.CustomResourc * The access review history definition unique id. */ public /*out*/ readonly name!: pulumi.Output; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - public readonly numberOfOccurrences!: pulumi.Output; /** * The identity id */ @@ -82,6 +74,10 @@ export class ScopeAccessReviewHistoryDefinitionById extends pulumi.CustomResourc * The identity type : user/servicePrincipal */ public /*out*/ readonly principalType!: pulumi.Output; + /** + * Access Review History Definition recurrence settings. + */ + public readonly range!: pulumi.Output; /** * Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. */ @@ -94,10 +90,6 @@ export class ScopeAccessReviewHistoryDefinitionById extends pulumi.CustomResourc * A collection of scopes used when selecting review history data */ public readonly scopes!: pulumi.Output; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - public readonly startDate!: pulumi.Output; /** * This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. */ @@ -127,14 +119,12 @@ export class ScopeAccessReviewHistoryDefinitionById extends pulumi.CustomResourc } resourceInputs["decisions"] = args ? args.decisions : undefined; resourceInputs["displayName"] = args ? args.displayName : undefined; - resourceInputs["endDate"] = args ? args.endDate : undefined; resourceInputs["historyDefinitionId"] = args ? args.historyDefinitionId : undefined; resourceInputs["instances"] = args ? args.instances : undefined; resourceInputs["interval"] = args ? args.interval : undefined; - resourceInputs["numberOfOccurrences"] = args ? args.numberOfOccurrences : undefined; + resourceInputs["range"] = args ? args.range : undefined; resourceInputs["scope"] = args ? args.scope : undefined; resourceInputs["scopes"] = args ? args.scopes : undefined; - resourceInputs["startDate"] = args ? args.startDate : undefined; resourceInputs["type"] = args ? args.type : undefined; resourceInputs["createdDateTime"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; @@ -149,18 +139,16 @@ export class ScopeAccessReviewHistoryDefinitionById extends pulumi.CustomResourc resourceInputs["createdDateTime"] = undefined /*out*/; resourceInputs["decisions"] = undefined /*out*/; resourceInputs["displayName"] = undefined /*out*/; - resourceInputs["endDate"] = undefined /*out*/; resourceInputs["instances"] = undefined /*out*/; resourceInputs["interval"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["numberOfOccurrences"] = undefined /*out*/; resourceInputs["principalId"] = undefined /*out*/; resourceInputs["principalName"] = undefined /*out*/; resourceInputs["principalType"] = undefined /*out*/; + resourceInputs["range"] = undefined /*out*/; resourceInputs["reviewHistoryPeriodEndDateTime"] = undefined /*out*/; resourceInputs["reviewHistoryPeriodStartDateTime"] = undefined /*out*/; resourceInputs["scopes"] = undefined /*out*/; - resourceInputs["startDate"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; resourceInputs["userPrincipalName"] = undefined /*out*/; @@ -184,10 +172,6 @@ export interface ScopeAccessReviewHistoryDefinitionByIdArgs { * The display name for the history definition. */ displayName?: pulumi.Input; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - endDate?: pulumi.Input; /** * The id of the access review history definition. */ @@ -201,9 +185,9 @@ export interface ScopeAccessReviewHistoryDefinitionByIdArgs { */ interval?: pulumi.Input; /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. + * Access Review History Definition recurrence settings. */ - numberOfOccurrences?: pulumi.Input; + range?: pulumi.Input; /** * The scope of the resource. */ @@ -213,11 +197,7 @@ export interface ScopeAccessReviewHistoryDefinitionByIdArgs { */ scopes?: pulumi.Input[]>; /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - startDate?: pulumi.Input; - /** - * The recurrence range type. The possible values are: endDate, noEnd, numbered. + * The recurrence type : weekly, monthly, etc. */ - type?: pulumi.Input; + type?: pulumi.Input; } diff --git a/sdk/nodejs/authorization/scopeAccessReviewScheduleDefinitionById.ts b/sdk/nodejs/authorization/scopeAccessReviewScheduleDefinitionById.ts index 6165e4fa328d..1c07b76bba84 100644 --- a/sdk/nodejs/authorization/scopeAccessReviewScheduleDefinitionById.ts +++ b/sdk/nodejs/authorization/scopeAccessReviewScheduleDefinitionById.ts @@ -38,10 +38,6 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour return obj['__pulumiType'] === ScopeAccessReviewScheduleDefinitionById.__pulumiType; } - /** - * The role assignment state eligible/active to review - */ - public /*out*/ readonly assignmentState!: pulumi.Output; /** * Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. */ @@ -70,34 +66,6 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour * The display name for the schedule definition. */ public readonly displayName!: pulumi.Output; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - public readonly endDate!: pulumi.Output; - /** - * This is used to indicate the resource id(s) to exclude - */ - public readonly excludeResourceId!: pulumi.Output; - /** - * This is used to indicate the role definition id(s) to exclude - */ - public readonly excludeRoleDefinitionId!: pulumi.Output; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - public readonly expandNestedMemberships!: pulumi.Output; - /** - * Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - */ - public readonly inactiveDuration!: pulumi.Output; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - public readonly includeAccessBelowResource!: pulumi.Output; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - public readonly includeInheritedAccess!: pulumi.Output; /** * The duration in days for an instance. */ @@ -122,10 +90,6 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour * The access review schedule definition unique id. */ public /*out*/ readonly name!: pulumi.Output; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - public readonly numberOfOccurrences!: pulumi.Output; /** * The identity id */ @@ -135,9 +99,13 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour */ public /*out*/ readonly principalName!: pulumi.Output; /** - * The identity type user/servicePrincipal to review + * The identity type : user/servicePrincipal */ public /*out*/ readonly principalType!: pulumi.Output; + /** + * Access Review schedule definition recurrence range. + */ + public readonly range!: pulumi.Output; /** * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ @@ -150,10 +118,6 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour * Flag to indicate whether sending reminder emails to reviewers are enabled. */ public readonly reminderNotificationsEnabled!: pulumi.Output; - /** - * ResourceId in which this review is getting created - */ - public /*out*/ readonly resourceId!: pulumi.Output; /** * This is the collection of reviewers. */ @@ -163,13 +127,9 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour */ public /*out*/ readonly reviewersType!: pulumi.Output; /** - * This is used to indicate the role being reviewed - */ - public /*out*/ readonly roleDefinitionId!: pulumi.Output; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + * This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. */ - public readonly startDate!: pulumi.Output; + public readonly scope!: pulumi.Output; /** * This read-only field specifies the status of an accessReview. */ @@ -204,7 +164,6 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour resourceInputs["descriptionForAdmins"] = args ? args.descriptionForAdmins : undefined; resourceInputs["descriptionForReviewers"] = args ? args.descriptionForReviewers : undefined; resourceInputs["displayName"] = args ? args.displayName : undefined; - resourceInputs["endDate"] = args ? args.endDate : undefined; resourceInputs["excludeResourceId"] = args ? args.excludeResourceId : undefined; resourceInputs["excludeRoleDefinitionId"] = args ? args.excludeRoleDefinitionId : undefined; resourceInputs["expandNestedMemberships"] = args ? args.expandNestedMemberships : undefined; @@ -216,27 +175,22 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour resourceInputs["interval"] = args ? args.interval : undefined; resourceInputs["justificationRequiredOnApproval"] = args ? args.justificationRequiredOnApproval : undefined; resourceInputs["mailNotificationsEnabled"] = args ? args.mailNotificationsEnabled : undefined; - resourceInputs["numberOfOccurrences"] = args ? args.numberOfOccurrences : undefined; + resourceInputs["range"] = args ? args.range : undefined; resourceInputs["recommendationLookBackDuration"] = args ? args.recommendationLookBackDuration : undefined; resourceInputs["recommendationsEnabled"] = args ? args.recommendationsEnabled : undefined; resourceInputs["reminderNotificationsEnabled"] = args ? args.reminderNotificationsEnabled : undefined; resourceInputs["reviewers"] = args ? args.reviewers : undefined; resourceInputs["scheduleDefinitionId"] = args ? args.scheduleDefinitionId : undefined; resourceInputs["scope"] = args ? args.scope : undefined; - resourceInputs["startDate"] = args ? args.startDate : undefined; resourceInputs["type"] = args ? args.type : undefined; - resourceInputs["assignmentState"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["principalId"] = undefined /*out*/; resourceInputs["principalName"] = undefined /*out*/; resourceInputs["principalType"] = undefined /*out*/; - resourceInputs["resourceId"] = undefined /*out*/; resourceInputs["reviewersType"] = undefined /*out*/; - resourceInputs["roleDefinitionId"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["userPrincipalName"] = undefined /*out*/; } else { - resourceInputs["assignmentState"] = undefined /*out*/; resourceInputs["autoApplyDecisionsEnabled"] = undefined /*out*/; resourceInputs["backupReviewers"] = undefined /*out*/; resourceInputs["defaultDecision"] = undefined /*out*/; @@ -244,31 +198,22 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour resourceInputs["descriptionForAdmins"] = undefined /*out*/; resourceInputs["descriptionForReviewers"] = undefined /*out*/; resourceInputs["displayName"] = undefined /*out*/; - resourceInputs["endDate"] = undefined /*out*/; - resourceInputs["excludeResourceId"] = undefined /*out*/; - resourceInputs["excludeRoleDefinitionId"] = undefined /*out*/; - resourceInputs["expandNestedMemberships"] = undefined /*out*/; - resourceInputs["inactiveDuration"] = undefined /*out*/; - resourceInputs["includeAccessBelowResource"] = undefined /*out*/; - resourceInputs["includeInheritedAccess"] = undefined /*out*/; resourceInputs["instanceDurationInDays"] = undefined /*out*/; resourceInputs["instances"] = undefined /*out*/; resourceInputs["interval"] = undefined /*out*/; resourceInputs["justificationRequiredOnApproval"] = undefined /*out*/; resourceInputs["mailNotificationsEnabled"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["numberOfOccurrences"] = undefined /*out*/; resourceInputs["principalId"] = undefined /*out*/; resourceInputs["principalName"] = undefined /*out*/; resourceInputs["principalType"] = undefined /*out*/; + resourceInputs["range"] = undefined /*out*/; resourceInputs["recommendationLookBackDuration"] = undefined /*out*/; resourceInputs["recommendationsEnabled"] = undefined /*out*/; resourceInputs["reminderNotificationsEnabled"] = undefined /*out*/; - resourceInputs["resourceId"] = undefined /*out*/; resourceInputs["reviewers"] = undefined /*out*/; resourceInputs["reviewersType"] = undefined /*out*/; - resourceInputs["roleDefinitionId"] = undefined /*out*/; - resourceInputs["startDate"] = undefined /*out*/; + resourceInputs["scope"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; resourceInputs["userPrincipalName"] = undefined /*out*/; @@ -312,10 +257,6 @@ export interface ScopeAccessReviewScheduleDefinitionByIdArgs { * The display name for the schedule definition. */ displayName?: pulumi.Input; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - endDate?: pulumi.Input; /** * This is used to indicate the resource id(s) to exclude */ @@ -361,9 +302,9 @@ export interface ScopeAccessReviewScheduleDefinitionByIdArgs { */ mailNotificationsEnabled?: pulumi.Input; /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. + * Access Review schedule definition recurrence range. */ - numberOfOccurrences?: pulumi.Input; + range?: pulumi.Input; /** * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ @@ -389,11 +330,7 @@ export interface ScopeAccessReviewScheduleDefinitionByIdArgs { */ scope: pulumi.Input; /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - startDate?: pulumi.Input; - /** - * The recurrence range type. The possible values are: endDate, noEnd, numbered. + * The recurrence type : weekly, monthly, etc. */ - type?: pulumi.Input; + type?: pulumi.Input; } diff --git a/sdk/nodejs/authorization/v20211201preview/accessReviewHistoryDefinitionById.ts b/sdk/nodejs/authorization/v20211201preview/accessReviewHistoryDefinitionById.ts index a9e8a6fb2cf5..b9cc48da9e0d 100644 --- a/sdk/nodejs/authorization/v20211201preview/accessReviewHistoryDefinitionById.ts +++ b/sdk/nodejs/authorization/v20211201preview/accessReviewHistoryDefinitionById.ts @@ -49,10 +49,6 @@ export class AccessReviewHistoryDefinitionById extends pulumi.CustomResource { * The display name for the history definition. */ public readonly displayName!: pulumi.Output; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - public readonly endDate!: pulumi.Output; /** * Set of access review history instances for this history definition. */ @@ -65,10 +61,6 @@ export class AccessReviewHistoryDefinitionById extends pulumi.CustomResource { * The access review history definition unique id. */ public /*out*/ readonly name!: pulumi.Output; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - public readonly numberOfOccurrences!: pulumi.Output; /** * The identity id */ @@ -81,6 +73,10 @@ export class AccessReviewHistoryDefinitionById extends pulumi.CustomResource { * The identity type : user/servicePrincipal */ public /*out*/ readonly principalType!: pulumi.Output; + /** + * Access Review History Definition recurrence settings. + */ + public readonly range!: pulumi.Output; /** * Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. */ @@ -93,10 +89,6 @@ export class AccessReviewHistoryDefinitionById extends pulumi.CustomResource { * A collection of scopes used when selecting review history data */ public readonly scopes!: pulumi.Output; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - public readonly startDate!: pulumi.Output; /** * This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. */ @@ -123,13 +115,11 @@ export class AccessReviewHistoryDefinitionById extends pulumi.CustomResource { if (!opts.id) { resourceInputs["decisions"] = args ? args.decisions : undefined; resourceInputs["displayName"] = args ? args.displayName : undefined; - resourceInputs["endDate"] = args ? args.endDate : undefined; resourceInputs["historyDefinitionId"] = args ? args.historyDefinitionId : undefined; resourceInputs["instances"] = args ? args.instances : undefined; resourceInputs["interval"] = args ? args.interval : undefined; - resourceInputs["numberOfOccurrences"] = args ? args.numberOfOccurrences : undefined; + resourceInputs["range"] = args ? args.range : undefined; resourceInputs["scopes"] = args ? args.scopes : undefined; - resourceInputs["startDate"] = args ? args.startDate : undefined; resourceInputs["type"] = args ? args.type : undefined; resourceInputs["createdDateTime"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; @@ -144,18 +134,16 @@ export class AccessReviewHistoryDefinitionById extends pulumi.CustomResource { resourceInputs["createdDateTime"] = undefined /*out*/; resourceInputs["decisions"] = undefined /*out*/; resourceInputs["displayName"] = undefined /*out*/; - resourceInputs["endDate"] = undefined /*out*/; resourceInputs["instances"] = undefined /*out*/; resourceInputs["interval"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["numberOfOccurrences"] = undefined /*out*/; resourceInputs["principalId"] = undefined /*out*/; resourceInputs["principalName"] = undefined /*out*/; resourceInputs["principalType"] = undefined /*out*/; + resourceInputs["range"] = undefined /*out*/; resourceInputs["reviewHistoryPeriodEndDateTime"] = undefined /*out*/; resourceInputs["reviewHistoryPeriodStartDateTime"] = undefined /*out*/; resourceInputs["scopes"] = undefined /*out*/; - resourceInputs["startDate"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; resourceInputs["userPrincipalName"] = undefined /*out*/; @@ -179,10 +167,6 @@ export interface AccessReviewHistoryDefinitionByIdArgs { * The display name for the history definition. */ displayName?: pulumi.Input; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - endDate?: pulumi.Input; /** * The id of the access review history definition. */ @@ -196,19 +180,15 @@ export interface AccessReviewHistoryDefinitionByIdArgs { */ interval?: pulumi.Input; /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. + * Access Review History Definition recurrence settings. */ - numberOfOccurrences?: pulumi.Input; + range?: pulumi.Input; /** * A collection of scopes used when selecting review history data */ scopes?: pulumi.Input[]>; /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - startDate?: pulumi.Input; - /** - * The recurrence range type. The possible values are: endDate, noEnd, numbered. + * The recurrence type : weekly, monthly, etc. */ - type?: pulumi.Input; + type?: pulumi.Input; } diff --git a/sdk/nodejs/authorization/v20211201preview/accessReviewScheduleDefinitionById.ts b/sdk/nodejs/authorization/v20211201preview/accessReviewScheduleDefinitionById.ts index 0a5e5268fcdb..ac71d0576048 100644 --- a/sdk/nodejs/authorization/v20211201preview/accessReviewScheduleDefinitionById.ts +++ b/sdk/nodejs/authorization/v20211201preview/accessReviewScheduleDefinitionById.ts @@ -37,10 +37,6 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { return obj['__pulumiType'] === AccessReviewScheduleDefinitionById.__pulumiType; } - /** - * The role assignment state eligible/active to review - */ - public /*out*/ readonly assignmentState!: pulumi.Output; /** * Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. */ @@ -69,34 +65,6 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { * The display name for the schedule definition. */ public readonly displayName!: pulumi.Output; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - public readonly endDate!: pulumi.Output; - /** - * This is used to indicate the resource id(s) to exclude - */ - public readonly excludeResourceId!: pulumi.Output; - /** - * This is used to indicate the role definition id(s) to exclude - */ - public readonly excludeRoleDefinitionId!: pulumi.Output; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - public readonly expandNestedMemberships!: pulumi.Output; - /** - * Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - */ - public readonly inactiveDuration!: pulumi.Output; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - public readonly includeAccessBelowResource!: pulumi.Output; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - public readonly includeInheritedAccess!: pulumi.Output; /** * The duration in days for an instance. */ @@ -121,10 +89,6 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { * The access review schedule definition unique id. */ public /*out*/ readonly name!: pulumi.Output; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - public readonly numberOfOccurrences!: pulumi.Output; /** * The identity id */ @@ -134,9 +98,13 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { */ public /*out*/ readonly principalName!: pulumi.Output; /** - * The identity type user/servicePrincipal to review + * The identity type : user/servicePrincipal */ public /*out*/ readonly principalType!: pulumi.Output; + /** + * Access Review schedule definition recurrence range. + */ + public readonly range!: pulumi.Output; /** * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ @@ -149,10 +117,6 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { * Flag to indicate whether sending reminder emails to reviewers are enabled. */ public readonly reminderNotificationsEnabled!: pulumi.Output; - /** - * ResourceId in which this review is getting created - */ - public /*out*/ readonly resourceId!: pulumi.Output; /** * This is the collection of reviewers. */ @@ -162,13 +126,9 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { */ public /*out*/ readonly reviewersType!: pulumi.Output; /** - * This is used to indicate the role being reviewed - */ - public /*out*/ readonly roleDefinitionId!: pulumi.Output; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + * This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. */ - public readonly startDate!: pulumi.Output; + public /*out*/ readonly scope!: pulumi.Output; /** * This read-only field specifies the status of an accessReview. */ @@ -200,7 +160,6 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { resourceInputs["descriptionForAdmins"] = args ? args.descriptionForAdmins : undefined; resourceInputs["descriptionForReviewers"] = args ? args.descriptionForReviewers : undefined; resourceInputs["displayName"] = args ? args.displayName : undefined; - resourceInputs["endDate"] = args ? args.endDate : undefined; resourceInputs["excludeResourceId"] = args ? args.excludeResourceId : undefined; resourceInputs["excludeRoleDefinitionId"] = args ? args.excludeRoleDefinitionId : undefined; resourceInputs["expandNestedMemberships"] = args ? args.expandNestedMemberships : undefined; @@ -212,26 +171,22 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { resourceInputs["interval"] = args ? args.interval : undefined; resourceInputs["justificationRequiredOnApproval"] = args ? args.justificationRequiredOnApproval : undefined; resourceInputs["mailNotificationsEnabled"] = args ? args.mailNotificationsEnabled : undefined; - resourceInputs["numberOfOccurrences"] = args ? args.numberOfOccurrences : undefined; + resourceInputs["range"] = args ? args.range : undefined; resourceInputs["recommendationLookBackDuration"] = args ? args.recommendationLookBackDuration : undefined; resourceInputs["recommendationsEnabled"] = args ? args.recommendationsEnabled : undefined; resourceInputs["reminderNotificationsEnabled"] = args ? args.reminderNotificationsEnabled : undefined; resourceInputs["reviewers"] = args ? args.reviewers : undefined; resourceInputs["scheduleDefinitionId"] = args ? args.scheduleDefinitionId : undefined; - resourceInputs["startDate"] = args ? args.startDate : undefined; resourceInputs["type"] = args ? args.type : undefined; - resourceInputs["assignmentState"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["principalId"] = undefined /*out*/; resourceInputs["principalName"] = undefined /*out*/; resourceInputs["principalType"] = undefined /*out*/; - resourceInputs["resourceId"] = undefined /*out*/; resourceInputs["reviewersType"] = undefined /*out*/; - resourceInputs["roleDefinitionId"] = undefined /*out*/; + resourceInputs["scope"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["userPrincipalName"] = undefined /*out*/; } else { - resourceInputs["assignmentState"] = undefined /*out*/; resourceInputs["autoApplyDecisionsEnabled"] = undefined /*out*/; resourceInputs["backupReviewers"] = undefined /*out*/; resourceInputs["defaultDecision"] = undefined /*out*/; @@ -239,31 +194,22 @@ export class AccessReviewScheduleDefinitionById extends pulumi.CustomResource { resourceInputs["descriptionForAdmins"] = undefined /*out*/; resourceInputs["descriptionForReviewers"] = undefined /*out*/; resourceInputs["displayName"] = undefined /*out*/; - resourceInputs["endDate"] = undefined /*out*/; - resourceInputs["excludeResourceId"] = undefined /*out*/; - resourceInputs["excludeRoleDefinitionId"] = undefined /*out*/; - resourceInputs["expandNestedMemberships"] = undefined /*out*/; - resourceInputs["inactiveDuration"] = undefined /*out*/; - resourceInputs["includeAccessBelowResource"] = undefined /*out*/; - resourceInputs["includeInheritedAccess"] = undefined /*out*/; resourceInputs["instanceDurationInDays"] = undefined /*out*/; resourceInputs["instances"] = undefined /*out*/; resourceInputs["interval"] = undefined /*out*/; resourceInputs["justificationRequiredOnApproval"] = undefined /*out*/; resourceInputs["mailNotificationsEnabled"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["numberOfOccurrences"] = undefined /*out*/; resourceInputs["principalId"] = undefined /*out*/; resourceInputs["principalName"] = undefined /*out*/; resourceInputs["principalType"] = undefined /*out*/; + resourceInputs["range"] = undefined /*out*/; resourceInputs["recommendationLookBackDuration"] = undefined /*out*/; resourceInputs["recommendationsEnabled"] = undefined /*out*/; resourceInputs["reminderNotificationsEnabled"] = undefined /*out*/; - resourceInputs["resourceId"] = undefined /*out*/; resourceInputs["reviewers"] = undefined /*out*/; resourceInputs["reviewersType"] = undefined /*out*/; - resourceInputs["roleDefinitionId"] = undefined /*out*/; - resourceInputs["startDate"] = undefined /*out*/; + resourceInputs["scope"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; resourceInputs["userPrincipalName"] = undefined /*out*/; @@ -307,10 +253,6 @@ export interface AccessReviewScheduleDefinitionByIdArgs { * The display name for the schedule definition. */ displayName?: pulumi.Input; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - endDate?: pulumi.Input; /** * This is used to indicate the resource id(s) to exclude */ @@ -356,9 +298,9 @@ export interface AccessReviewScheduleDefinitionByIdArgs { */ mailNotificationsEnabled?: pulumi.Input; /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. + * Access Review schedule definition recurrence range. */ - numberOfOccurrences?: pulumi.Input; + range?: pulumi.Input; /** * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ @@ -380,11 +322,7 @@ export interface AccessReviewScheduleDefinitionByIdArgs { */ scheduleDefinitionId?: pulumi.Input; /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - startDate?: pulumi.Input; - /** - * The recurrence range type. The possible values are: endDate, noEnd, numbered. + * The recurrence type : weekly, monthly, etc. */ - type?: pulumi.Input; + type?: pulumi.Input; } diff --git a/sdk/nodejs/authorization/v20211201preview/getAccessReviewHistoryDefinitionById.ts b/sdk/nodejs/authorization/v20211201preview/getAccessReviewHistoryDefinitionById.ts index cbbdc7b7a68b..15e44f5c0bb5 100644 --- a/sdk/nodejs/authorization/v20211201preview/getAccessReviewHistoryDefinitionById.ts +++ b/sdk/nodejs/authorization/v20211201preview/getAccessReviewHistoryDefinitionById.ts @@ -41,10 +41,6 @@ export interface GetAccessReviewHistoryDefinitionByIdResult { * The display name for the history definition. */ readonly displayName?: string; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - readonly endDate?: string; /** * The access review history definition id. */ @@ -61,10 +57,6 @@ export interface GetAccessReviewHistoryDefinitionByIdResult { * The access review history definition unique id. */ readonly name: string; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - readonly numberOfOccurrences?: number; /** * The identity id */ @@ -77,6 +69,10 @@ export interface GetAccessReviewHistoryDefinitionByIdResult { * The identity type : user/servicePrincipal */ readonly principalType: string; + /** + * Access Review History Definition recurrence settings. + */ + readonly range?: outputs.authorization.v20211201preview.AccessReviewRecurrenceRangeResponse; /** * Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. */ @@ -89,10 +85,6 @@ export interface GetAccessReviewHistoryDefinitionByIdResult { * A collection of scopes used when selecting review history data */ readonly scopes?: outputs.authorization.v20211201preview.AccessReviewScopeResponse[]; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - readonly startDate?: string; /** * This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. */ diff --git a/sdk/nodejs/authorization/v20211201preview/getAccessReviewScheduleDefinitionById.ts b/sdk/nodejs/authorization/v20211201preview/getAccessReviewScheduleDefinitionById.ts index b871abc56392..3bdcf5d1915c 100644 --- a/sdk/nodejs/authorization/v20211201preview/getAccessReviewScheduleDefinitionById.ts +++ b/sdk/nodejs/authorization/v20211201preview/getAccessReviewScheduleDefinitionById.ts @@ -29,10 +29,6 @@ export interface GetAccessReviewScheduleDefinitionByIdArgs { * Access Review Schedule Definition. */ export interface GetAccessReviewScheduleDefinitionByIdResult { - /** - * The role assignment state eligible/active to review - */ - readonly assignmentState: string; /** * Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. */ @@ -61,38 +57,10 @@ export interface GetAccessReviewScheduleDefinitionByIdResult { * The display name for the schedule definition. */ readonly displayName?: string; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - readonly endDate?: string; - /** - * This is used to indicate the resource id(s) to exclude - */ - readonly excludeResourceId?: string; - /** - * This is used to indicate the role definition id(s) to exclude - */ - readonly excludeRoleDefinitionId?: string; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - readonly expandNestedMemberships?: boolean; /** * The access review schedule definition id. */ readonly id: string; - /** - * Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - */ - readonly inactiveDuration?: string; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - readonly includeAccessBelowResource?: boolean; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - readonly includeInheritedAccess?: boolean; /** * The duration in days for an instance. */ @@ -117,10 +85,6 @@ export interface GetAccessReviewScheduleDefinitionByIdResult { * The access review schedule definition unique id. */ readonly name: string; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - readonly numberOfOccurrences?: number; /** * The identity id */ @@ -130,9 +94,13 @@ export interface GetAccessReviewScheduleDefinitionByIdResult { */ readonly principalName: string; /** - * The identity type user/servicePrincipal to review + * The identity type : user/servicePrincipal */ readonly principalType: string; + /** + * Access Review schedule definition recurrence range. + */ + readonly range?: outputs.authorization.v20211201preview.AccessReviewRecurrenceRangeResponse; /** * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ @@ -145,10 +113,6 @@ export interface GetAccessReviewScheduleDefinitionByIdResult { * Flag to indicate whether sending reminder emails to reviewers are enabled. */ readonly reminderNotificationsEnabled?: boolean; - /** - * ResourceId in which this review is getting created - */ - readonly resourceId: string; /** * This is the collection of reviewers. */ @@ -158,13 +122,9 @@ export interface GetAccessReviewScheduleDefinitionByIdResult { */ readonly reviewersType: string; /** - * This is used to indicate the role being reviewed - */ - readonly roleDefinitionId: string; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + * This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. */ - readonly startDate?: string; + readonly scope: outputs.authorization.v20211201preview.AccessReviewScopeResponse; /** * This read-only field specifies the status of an accessReview. */ diff --git a/sdk/nodejs/authorization/v20211201preview/getScopeAccessReviewHistoryDefinitionById.ts b/sdk/nodejs/authorization/v20211201preview/getScopeAccessReviewHistoryDefinitionById.ts index c4e4a933044b..c0a22c9ccb9e 100644 --- a/sdk/nodejs/authorization/v20211201preview/getScopeAccessReviewHistoryDefinitionById.ts +++ b/sdk/nodejs/authorization/v20211201preview/getScopeAccessReviewHistoryDefinitionById.ts @@ -46,10 +46,6 @@ export interface GetScopeAccessReviewHistoryDefinitionByIdResult { * The display name for the history definition. */ readonly displayName?: string; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - readonly endDate?: string; /** * The access review history definition id. */ @@ -66,10 +62,6 @@ export interface GetScopeAccessReviewHistoryDefinitionByIdResult { * The access review history definition unique id. */ readonly name: string; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - readonly numberOfOccurrences?: number; /** * The identity id */ @@ -82,6 +74,10 @@ export interface GetScopeAccessReviewHistoryDefinitionByIdResult { * The identity type : user/servicePrincipal */ readonly principalType: string; + /** + * Access Review History Definition recurrence settings. + */ + readonly range?: outputs.authorization.v20211201preview.AccessReviewRecurrenceRangeResponse; /** * Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. */ @@ -94,10 +90,6 @@ export interface GetScopeAccessReviewHistoryDefinitionByIdResult { * A collection of scopes used when selecting review history data */ readonly scopes?: outputs.authorization.v20211201preview.AccessReviewScopeResponse[]; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - readonly startDate?: string; /** * This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. */ diff --git a/sdk/nodejs/authorization/v20211201preview/getScopeAccessReviewScheduleDefinitionById.ts b/sdk/nodejs/authorization/v20211201preview/getScopeAccessReviewScheduleDefinitionById.ts index 521370ceaa93..b450082e5d8c 100644 --- a/sdk/nodejs/authorization/v20211201preview/getScopeAccessReviewScheduleDefinitionById.ts +++ b/sdk/nodejs/authorization/v20211201preview/getScopeAccessReviewScheduleDefinitionById.ts @@ -34,10 +34,6 @@ export interface GetScopeAccessReviewScheduleDefinitionByIdArgs { * Access Review Schedule Definition. */ export interface GetScopeAccessReviewScheduleDefinitionByIdResult { - /** - * The role assignment state eligible/active to review - */ - readonly assignmentState: string; /** * Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. */ @@ -66,38 +62,10 @@ export interface GetScopeAccessReviewScheduleDefinitionByIdResult { * The display name for the schedule definition. */ readonly displayName?: string; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - readonly endDate?: string; - /** - * This is used to indicate the resource id(s) to exclude - */ - readonly excludeResourceId?: string; - /** - * This is used to indicate the role definition id(s) to exclude - */ - readonly excludeRoleDefinitionId?: string; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - readonly expandNestedMemberships?: boolean; /** * The access review schedule definition id. */ readonly id: string; - /** - * Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - */ - readonly inactiveDuration?: string; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - readonly includeAccessBelowResource?: boolean; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - readonly includeInheritedAccess?: boolean; /** * The duration in days for an instance. */ @@ -122,10 +90,6 @@ export interface GetScopeAccessReviewScheduleDefinitionByIdResult { * The access review schedule definition unique id. */ readonly name: string; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - readonly numberOfOccurrences?: number; /** * The identity id */ @@ -135,9 +99,13 @@ export interface GetScopeAccessReviewScheduleDefinitionByIdResult { */ readonly principalName: string; /** - * The identity type user/servicePrincipal to review + * The identity type : user/servicePrincipal */ readonly principalType: string; + /** + * Access Review schedule definition recurrence range. + */ + readonly range?: outputs.authorization.v20211201preview.AccessReviewRecurrenceRangeResponse; /** * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ @@ -150,10 +118,6 @@ export interface GetScopeAccessReviewScheduleDefinitionByIdResult { * Flag to indicate whether sending reminder emails to reviewers are enabled. */ readonly reminderNotificationsEnabled?: boolean; - /** - * ResourceId in which this review is getting created - */ - readonly resourceId: string; /** * This is the collection of reviewers. */ @@ -163,13 +127,9 @@ export interface GetScopeAccessReviewScheduleDefinitionByIdResult { */ readonly reviewersType: string; /** - * This is used to indicate the role being reviewed - */ - readonly roleDefinitionId: string; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + * This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. */ - readonly startDate?: string; + readonly scope: outputs.authorization.v20211201preview.AccessReviewScopeResponse; /** * This read-only field specifies the status of an accessReview. */ diff --git a/sdk/nodejs/authorization/v20211201preview/scopeAccessReviewHistoryDefinitionById.ts b/sdk/nodejs/authorization/v20211201preview/scopeAccessReviewHistoryDefinitionById.ts index ed1332d04c23..e10a0cb31059 100644 --- a/sdk/nodejs/authorization/v20211201preview/scopeAccessReviewHistoryDefinitionById.ts +++ b/sdk/nodejs/authorization/v20211201preview/scopeAccessReviewHistoryDefinitionById.ts @@ -49,10 +49,6 @@ export class ScopeAccessReviewHistoryDefinitionById extends pulumi.CustomResourc * The display name for the history definition. */ public readonly displayName!: pulumi.Output; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - public readonly endDate!: pulumi.Output; /** * Set of access review history instances for this history definition. */ @@ -65,10 +61,6 @@ export class ScopeAccessReviewHistoryDefinitionById extends pulumi.CustomResourc * The access review history definition unique id. */ public /*out*/ readonly name!: pulumi.Output; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - public readonly numberOfOccurrences!: pulumi.Output; /** * The identity id */ @@ -81,6 +73,10 @@ export class ScopeAccessReviewHistoryDefinitionById extends pulumi.CustomResourc * The identity type : user/servicePrincipal */ public /*out*/ readonly principalType!: pulumi.Output; + /** + * Access Review History Definition recurrence settings. + */ + public readonly range!: pulumi.Output; /** * Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. */ @@ -93,10 +89,6 @@ export class ScopeAccessReviewHistoryDefinitionById extends pulumi.CustomResourc * A collection of scopes used when selecting review history data */ public readonly scopes!: pulumi.Output; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - public readonly startDate!: pulumi.Output; /** * This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. */ @@ -126,14 +118,12 @@ export class ScopeAccessReviewHistoryDefinitionById extends pulumi.CustomResourc } resourceInputs["decisions"] = args ? args.decisions : undefined; resourceInputs["displayName"] = args ? args.displayName : undefined; - resourceInputs["endDate"] = args ? args.endDate : undefined; resourceInputs["historyDefinitionId"] = args ? args.historyDefinitionId : undefined; resourceInputs["instances"] = args ? args.instances : undefined; resourceInputs["interval"] = args ? args.interval : undefined; - resourceInputs["numberOfOccurrences"] = args ? args.numberOfOccurrences : undefined; + resourceInputs["range"] = args ? args.range : undefined; resourceInputs["scope"] = args ? args.scope : undefined; resourceInputs["scopes"] = args ? args.scopes : undefined; - resourceInputs["startDate"] = args ? args.startDate : undefined; resourceInputs["type"] = args ? args.type : undefined; resourceInputs["createdDateTime"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; @@ -148,18 +138,16 @@ export class ScopeAccessReviewHistoryDefinitionById extends pulumi.CustomResourc resourceInputs["createdDateTime"] = undefined /*out*/; resourceInputs["decisions"] = undefined /*out*/; resourceInputs["displayName"] = undefined /*out*/; - resourceInputs["endDate"] = undefined /*out*/; resourceInputs["instances"] = undefined /*out*/; resourceInputs["interval"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["numberOfOccurrences"] = undefined /*out*/; resourceInputs["principalId"] = undefined /*out*/; resourceInputs["principalName"] = undefined /*out*/; resourceInputs["principalType"] = undefined /*out*/; + resourceInputs["range"] = undefined /*out*/; resourceInputs["reviewHistoryPeriodEndDateTime"] = undefined /*out*/; resourceInputs["reviewHistoryPeriodStartDateTime"] = undefined /*out*/; resourceInputs["scopes"] = undefined /*out*/; - resourceInputs["startDate"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; resourceInputs["userPrincipalName"] = undefined /*out*/; @@ -183,10 +171,6 @@ export interface ScopeAccessReviewHistoryDefinitionByIdArgs { * The display name for the history definition. */ displayName?: pulumi.Input; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - endDate?: pulumi.Input; /** * The id of the access review history definition. */ @@ -200,9 +184,9 @@ export interface ScopeAccessReviewHistoryDefinitionByIdArgs { */ interval?: pulumi.Input; /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. + * Access Review History Definition recurrence settings. */ - numberOfOccurrences?: pulumi.Input; + range?: pulumi.Input; /** * The scope of the resource. */ @@ -212,11 +196,7 @@ export interface ScopeAccessReviewHistoryDefinitionByIdArgs { */ scopes?: pulumi.Input[]>; /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - startDate?: pulumi.Input; - /** - * The recurrence range type. The possible values are: endDate, noEnd, numbered. + * The recurrence type : weekly, monthly, etc. */ - type?: pulumi.Input; + type?: pulumi.Input; } diff --git a/sdk/nodejs/authorization/v20211201preview/scopeAccessReviewScheduleDefinitionById.ts b/sdk/nodejs/authorization/v20211201preview/scopeAccessReviewScheduleDefinitionById.ts index 27e32ea8883b..1c68e7d7f7a8 100644 --- a/sdk/nodejs/authorization/v20211201preview/scopeAccessReviewScheduleDefinitionById.ts +++ b/sdk/nodejs/authorization/v20211201preview/scopeAccessReviewScheduleDefinitionById.ts @@ -37,10 +37,6 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour return obj['__pulumiType'] === ScopeAccessReviewScheduleDefinitionById.__pulumiType; } - /** - * The role assignment state eligible/active to review - */ - public /*out*/ readonly assignmentState!: pulumi.Output; /** * Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. */ @@ -69,34 +65,6 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour * The display name for the schedule definition. */ public readonly displayName!: pulumi.Output; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - public readonly endDate!: pulumi.Output; - /** - * This is used to indicate the resource id(s) to exclude - */ - public readonly excludeResourceId!: pulumi.Output; - /** - * This is used to indicate the role definition id(s) to exclude - */ - public readonly excludeRoleDefinitionId!: pulumi.Output; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - public readonly expandNestedMemberships!: pulumi.Output; - /** - * Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - */ - public readonly inactiveDuration!: pulumi.Output; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - public readonly includeAccessBelowResource!: pulumi.Output; - /** - * Flag to indicate whether to expand nested memberships or not. - */ - public readonly includeInheritedAccess!: pulumi.Output; /** * The duration in days for an instance. */ @@ -121,10 +89,6 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour * The access review schedule definition unique id. */ public /*out*/ readonly name!: pulumi.Output; - /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. - */ - public readonly numberOfOccurrences!: pulumi.Output; /** * The identity id */ @@ -134,9 +98,13 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour */ public /*out*/ readonly principalName!: pulumi.Output; /** - * The identity type user/servicePrincipal to review + * The identity type : user/servicePrincipal */ public /*out*/ readonly principalType!: pulumi.Output; + /** + * Access Review schedule definition recurrence range. + */ + public readonly range!: pulumi.Output; /** * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ @@ -149,10 +117,6 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour * Flag to indicate whether sending reminder emails to reviewers are enabled. */ public readonly reminderNotificationsEnabled!: pulumi.Output; - /** - * ResourceId in which this review is getting created - */ - public /*out*/ readonly resourceId!: pulumi.Output; /** * This is the collection of reviewers. */ @@ -162,13 +126,9 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour */ public /*out*/ readonly reviewersType!: pulumi.Output; /** - * This is used to indicate the role being reviewed - */ - public /*out*/ readonly roleDefinitionId!: pulumi.Output; - /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + * This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. */ - public readonly startDate!: pulumi.Output; + public readonly scope!: pulumi.Output; /** * This read-only field specifies the status of an accessReview. */ @@ -203,7 +163,6 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour resourceInputs["descriptionForAdmins"] = args ? args.descriptionForAdmins : undefined; resourceInputs["descriptionForReviewers"] = args ? args.descriptionForReviewers : undefined; resourceInputs["displayName"] = args ? args.displayName : undefined; - resourceInputs["endDate"] = args ? args.endDate : undefined; resourceInputs["excludeResourceId"] = args ? args.excludeResourceId : undefined; resourceInputs["excludeRoleDefinitionId"] = args ? args.excludeRoleDefinitionId : undefined; resourceInputs["expandNestedMemberships"] = args ? args.expandNestedMemberships : undefined; @@ -215,27 +174,22 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour resourceInputs["interval"] = args ? args.interval : undefined; resourceInputs["justificationRequiredOnApproval"] = args ? args.justificationRequiredOnApproval : undefined; resourceInputs["mailNotificationsEnabled"] = args ? args.mailNotificationsEnabled : undefined; - resourceInputs["numberOfOccurrences"] = args ? args.numberOfOccurrences : undefined; + resourceInputs["range"] = args ? args.range : undefined; resourceInputs["recommendationLookBackDuration"] = args ? args.recommendationLookBackDuration : undefined; resourceInputs["recommendationsEnabled"] = args ? args.recommendationsEnabled : undefined; resourceInputs["reminderNotificationsEnabled"] = args ? args.reminderNotificationsEnabled : undefined; resourceInputs["reviewers"] = args ? args.reviewers : undefined; resourceInputs["scheduleDefinitionId"] = args ? args.scheduleDefinitionId : undefined; resourceInputs["scope"] = args ? args.scope : undefined; - resourceInputs["startDate"] = args ? args.startDate : undefined; resourceInputs["type"] = args ? args.type : undefined; - resourceInputs["assignmentState"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["principalId"] = undefined /*out*/; resourceInputs["principalName"] = undefined /*out*/; resourceInputs["principalType"] = undefined /*out*/; - resourceInputs["resourceId"] = undefined /*out*/; resourceInputs["reviewersType"] = undefined /*out*/; - resourceInputs["roleDefinitionId"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["userPrincipalName"] = undefined /*out*/; } else { - resourceInputs["assignmentState"] = undefined /*out*/; resourceInputs["autoApplyDecisionsEnabled"] = undefined /*out*/; resourceInputs["backupReviewers"] = undefined /*out*/; resourceInputs["defaultDecision"] = undefined /*out*/; @@ -243,31 +197,22 @@ export class ScopeAccessReviewScheduleDefinitionById extends pulumi.CustomResour resourceInputs["descriptionForAdmins"] = undefined /*out*/; resourceInputs["descriptionForReviewers"] = undefined /*out*/; resourceInputs["displayName"] = undefined /*out*/; - resourceInputs["endDate"] = undefined /*out*/; - resourceInputs["excludeResourceId"] = undefined /*out*/; - resourceInputs["excludeRoleDefinitionId"] = undefined /*out*/; - resourceInputs["expandNestedMemberships"] = undefined /*out*/; - resourceInputs["inactiveDuration"] = undefined /*out*/; - resourceInputs["includeAccessBelowResource"] = undefined /*out*/; - resourceInputs["includeInheritedAccess"] = undefined /*out*/; resourceInputs["instanceDurationInDays"] = undefined /*out*/; resourceInputs["instances"] = undefined /*out*/; resourceInputs["interval"] = undefined /*out*/; resourceInputs["justificationRequiredOnApproval"] = undefined /*out*/; resourceInputs["mailNotificationsEnabled"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["numberOfOccurrences"] = undefined /*out*/; resourceInputs["principalId"] = undefined /*out*/; resourceInputs["principalName"] = undefined /*out*/; resourceInputs["principalType"] = undefined /*out*/; + resourceInputs["range"] = undefined /*out*/; resourceInputs["recommendationLookBackDuration"] = undefined /*out*/; resourceInputs["recommendationsEnabled"] = undefined /*out*/; resourceInputs["reminderNotificationsEnabled"] = undefined /*out*/; - resourceInputs["resourceId"] = undefined /*out*/; resourceInputs["reviewers"] = undefined /*out*/; resourceInputs["reviewersType"] = undefined /*out*/; - resourceInputs["roleDefinitionId"] = undefined /*out*/; - resourceInputs["startDate"] = undefined /*out*/; + resourceInputs["scope"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; resourceInputs["userPrincipalName"] = undefined /*out*/; @@ -311,10 +256,6 @@ export interface ScopeAccessReviewScheduleDefinitionByIdArgs { * The display name for the schedule definition. */ displayName?: pulumi.Input; - /** - * The DateTime when the review is scheduled to end. Required if type is endDate - */ - endDate?: pulumi.Input; /** * This is used to indicate the resource id(s) to exclude */ @@ -360,9 +301,9 @@ export interface ScopeAccessReviewScheduleDefinitionByIdArgs { */ mailNotificationsEnabled?: pulumi.Input; /** - * The number of times to repeat the access review. Required and must be positive if type is numbered. + * Access Review schedule definition recurrence range. */ - numberOfOccurrences?: pulumi.Input; + range?: pulumi.Input; /** * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ @@ -388,11 +329,7 @@ export interface ScopeAccessReviewScheduleDefinitionByIdArgs { */ scope: pulumi.Input; /** - * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - */ - startDate?: pulumi.Input; - /** - * The recurrence range type. The possible values are: endDate, noEnd, numbered. + * The recurrence type : weekly, monthly, etc. */ - type?: pulumi.Input; + type?: pulumi.Input; } diff --git a/sdk/nodejs/devhub/getWorkflow.ts b/sdk/nodejs/devhub/getWorkflow.ts index d357ab694b5e..52ea023b8351 100644 --- a/sdk/nodejs/devhub/getWorkflow.ts +++ b/sdk/nodejs/devhub/getWorkflow.ts @@ -37,39 +37,14 @@ export interface GetWorkflowArgs { * Resource representation of a workflow */ export interface GetWorkflowResult { - /** - * Information on the azure container registry - */ - readonly acr?: outputs.devhub.ACRResponse; - /** - * The Azure Kubernetes Cluster Resource the application will be deployed to. - */ - readonly aksResourceId?: string; /** * The name of the app. */ readonly appName?: string; - /** - * Determines the authorization status of requests. - */ - readonly authStatus: string; - /** - * Repository Branch Name - */ - readonly branchName?: string; /** * The version of the language image used for building the code in the generated dockerfile. */ readonly builderVersion?: string; - readonly deploymentProperties?: outputs.devhub.DeploymentPropertiesResponse; - /** - * Path to Dockerfile Build Context within the repository. - */ - readonly dockerBuildContext?: string; - /** - * Path to the Dockerfile within the repository. - */ - readonly dockerfile?: string; /** * The mode of generation to be used for generating Dockerfiles. */ @@ -82,6 +57,10 @@ export interface GetWorkflowResult { * The programming language used. */ readonly generationLanguage?: string; + /** + * Profile of a github workflow. + */ + readonly githubWorkflowProfile?: outputs.devhub.GitHubWorkflowProfileResponse; /** * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */ @@ -98,7 +77,6 @@ export interface GetWorkflowResult { * The version of the language image used for execution in the generated dockerfile. */ readonly languageVersion?: string; - readonly lastWorkflowRun?: outputs.devhub.WorkflowRunResponse; /** * The geo-location where the resource lives */ @@ -120,37 +98,13 @@ export interface GetWorkflowResult { */ readonly name: string; /** - * Kubernetes namespace the application is deployed to. + * The namespace to deploy the application to. */ readonly namespace?: string; - /** - * The fields needed for OIDC with GitHub. - */ - readonly oidcCredentials?: outputs.devhub.GitHubWorkflowProfileResponseOidcCredentials; /** * The port the application is exposed on. */ readonly port?: string; - /** - * The status of the Pull Request submitted against the users repository. - */ - readonly prStatus: string; - /** - * The URL to the Pull Request submitted against the users repository. - */ - readonly prURL: string; - /** - * The number associated with the submitted pull request. - */ - readonly pullNumber: number; - /** - * Repository Name - */ - readonly repositoryName?: string; - /** - * Repository Owner - */ - readonly repositoryOwner?: string; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ diff --git a/sdk/nodejs/devhub/v20221011preview/getWorkflow.ts b/sdk/nodejs/devhub/v20221011preview/getWorkflow.ts index e1e0998881b9..105ca465ddfd 100644 --- a/sdk/nodejs/devhub/v20221011preview/getWorkflow.ts +++ b/sdk/nodejs/devhub/v20221011preview/getWorkflow.ts @@ -34,39 +34,14 @@ export interface GetWorkflowArgs { * Resource representation of a workflow */ export interface GetWorkflowResult { - /** - * Information on the azure container registry - */ - readonly acr?: outputs.devhub.v20221011preview.ACRResponse; - /** - * The Azure Kubernetes Cluster Resource the application will be deployed to. - */ - readonly aksResourceId?: string; /** * The name of the app. */ readonly appName?: string; - /** - * Determines the authorization status of requests. - */ - readonly authStatus: string; - /** - * Repository Branch Name - */ - readonly branchName?: string; /** * The version of the language image used for building the code in the generated dockerfile. */ readonly builderVersion?: string; - readonly deploymentProperties?: outputs.devhub.v20221011preview.DeploymentPropertiesResponse; - /** - * Path to Dockerfile Build Context within the repository. - */ - readonly dockerBuildContext?: string; - /** - * Path to the Dockerfile within the repository. - */ - readonly dockerfile?: string; /** * The mode of generation to be used for generating Dockerfiles. */ @@ -79,6 +54,10 @@ export interface GetWorkflowResult { * The programming language used. */ readonly generationLanguage?: string; + /** + * Profile of a github workflow. + */ + readonly githubWorkflowProfile?: outputs.devhub.v20221011preview.GitHubWorkflowProfileResponse; /** * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */ @@ -95,7 +74,6 @@ export interface GetWorkflowResult { * The version of the language image used for execution in the generated dockerfile. */ readonly languageVersion?: string; - readonly lastWorkflowRun?: outputs.devhub.v20221011preview.WorkflowRunResponse; /** * The geo-location where the resource lives */ @@ -117,37 +95,13 @@ export interface GetWorkflowResult { */ readonly name: string; /** - * Kubernetes namespace the application is deployed to. + * The namespace to deploy the application to. */ readonly namespace?: string; - /** - * The fields needed for OIDC with GitHub. - */ - readonly oidcCredentials?: outputs.devhub.v20221011preview.GitHubWorkflowProfileResponseOidcCredentials; /** * The port the application is exposed on. */ readonly port?: string; - /** - * The status of the Pull Request submitted against the users repository. - */ - readonly prStatus: string; - /** - * The URL to the Pull Request submitted against the users repository. - */ - readonly prURL: string; - /** - * The number associated with the submitted pull request. - */ - readonly pullNumber: number; - /** - * Repository Name - */ - readonly repositoryName?: string; - /** - * Repository Owner - */ - readonly repositoryOwner?: string; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ diff --git a/sdk/nodejs/devhub/v20221011preview/workflow.ts b/sdk/nodejs/devhub/v20221011preview/workflow.ts index 93f9af15ab79..ba98ed38f43d 100644 --- a/sdk/nodejs/devhub/v20221011preview/workflow.ts +++ b/sdk/nodejs/devhub/v20221011preview/workflow.ts @@ -37,39 +37,14 @@ export class Workflow extends pulumi.CustomResource { return obj['__pulumiType'] === Workflow.__pulumiType; } - /** - * Information on the azure container registry - */ - public readonly acr!: pulumi.Output; - /** - * The Azure Kubernetes Cluster Resource the application will be deployed to. - */ - public readonly aksResourceId!: pulumi.Output; /** * The name of the app. */ public readonly appName!: pulumi.Output; - /** - * Determines the authorization status of requests. - */ - public /*out*/ readonly authStatus!: pulumi.Output; - /** - * Repository Branch Name - */ - public readonly branchName!: pulumi.Output; /** * The version of the language image used for building the code in the generated dockerfile. */ public readonly builderVersion!: pulumi.Output; - public readonly deploymentProperties!: pulumi.Output; - /** - * Path to Dockerfile Build Context within the repository. - */ - public readonly dockerBuildContext!: pulumi.Output; - /** - * Path to the Dockerfile within the repository. - */ - public readonly dockerfile!: pulumi.Output; /** * The mode of generation to be used for generating Dockerfiles. */ @@ -82,6 +57,10 @@ export class Workflow extends pulumi.CustomResource { * The programming language used. */ public readonly generationLanguage!: pulumi.Output; + /** + * Profile of a github workflow. + */ + public readonly githubWorkflowProfile!: pulumi.Output; /** * The name of the image to be generated. */ @@ -94,7 +73,6 @@ export class Workflow extends pulumi.CustomResource { * The version of the language image used for execution in the generated dockerfile. */ public readonly languageVersion!: pulumi.Output; - public readonly lastWorkflowRun!: pulumi.Output; /** * The geo-location where the resource lives */ @@ -116,37 +94,13 @@ export class Workflow extends pulumi.CustomResource { */ public /*out*/ readonly name!: pulumi.Output; /** - * Kubernetes namespace the application is deployed to. + * The namespace to deploy the application to. */ public readonly namespace!: pulumi.Output; - /** - * The fields needed for OIDC with GitHub. - */ - public readonly oidcCredentials!: pulumi.Output; /** * The port the application is exposed on. */ public readonly port!: pulumi.Output; - /** - * The status of the Pull Request submitted against the users repository. - */ - public /*out*/ readonly prStatus!: pulumi.Output; - /** - * The URL to the Pull Request submitted against the users repository. - */ - public /*out*/ readonly prURL!: pulumi.Output; - /** - * The number associated with the submitted pull request. - */ - public /*out*/ readonly pullNumber!: pulumi.Output; - /** - * Repository Name - */ - public readonly repositoryName!: pulumi.Output; - /** - * Repository Owner - */ - public readonly repositoryOwner!: pulumi.Output; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ @@ -174,70 +128,44 @@ export class Workflow extends pulumi.CustomResource { if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - resourceInputs["acr"] = args ? args.acr : undefined; - resourceInputs["aksResourceId"] = args ? args.aksResourceId : undefined; resourceInputs["appName"] = args ? args.appName : undefined; - resourceInputs["branchName"] = args ? args.branchName : undefined; resourceInputs["builderVersion"] = args ? args.builderVersion : undefined; - resourceInputs["deploymentProperties"] = args ? args.deploymentProperties : undefined; - resourceInputs["dockerBuildContext"] = args ? args.dockerBuildContext : undefined; - resourceInputs["dockerfile"] = args ? args.dockerfile : undefined; resourceInputs["dockerfileGenerationMode"] = args ? args.dockerfileGenerationMode : undefined; resourceInputs["dockerfileOutputDirectory"] = args ? args.dockerfileOutputDirectory : undefined; resourceInputs["generationLanguage"] = args ? args.generationLanguage : undefined; + resourceInputs["githubWorkflowProfile"] = args ? args.githubWorkflowProfile : undefined; resourceInputs["imageName"] = args ? args.imageName : undefined; resourceInputs["imageTag"] = args ? args.imageTag : undefined; resourceInputs["languageVersion"] = args ? args.languageVersion : undefined; - resourceInputs["lastWorkflowRun"] = args ? args.lastWorkflowRun : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["manifestGenerationMode"] = args ? args.manifestGenerationMode : undefined; resourceInputs["manifestOutputDirectory"] = args ? args.manifestOutputDirectory : undefined; resourceInputs["manifestType"] = args ? args.manifestType : undefined; resourceInputs["namespace"] = args ? args.namespace : undefined; - resourceInputs["oidcCredentials"] = args ? args.oidcCredentials : undefined; resourceInputs["port"] = args ? args.port : undefined; - resourceInputs["repositoryName"] = args ? args.repositoryName : undefined; - resourceInputs["repositoryOwner"] = args ? args.repositoryOwner : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["workflowName"] = args ? args.workflowName : undefined; - resourceInputs["authStatus"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["prStatus"] = undefined /*out*/; - resourceInputs["prURL"] = undefined /*out*/; - resourceInputs["pullNumber"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { - resourceInputs["acr"] = undefined /*out*/; - resourceInputs["aksResourceId"] = undefined /*out*/; resourceInputs["appName"] = undefined /*out*/; - resourceInputs["authStatus"] = undefined /*out*/; - resourceInputs["branchName"] = undefined /*out*/; resourceInputs["builderVersion"] = undefined /*out*/; - resourceInputs["deploymentProperties"] = undefined /*out*/; - resourceInputs["dockerBuildContext"] = undefined /*out*/; - resourceInputs["dockerfile"] = undefined /*out*/; resourceInputs["dockerfileGenerationMode"] = undefined /*out*/; resourceInputs["dockerfileOutputDirectory"] = undefined /*out*/; resourceInputs["generationLanguage"] = undefined /*out*/; + resourceInputs["githubWorkflowProfile"] = undefined /*out*/; resourceInputs["imageName"] = undefined /*out*/; resourceInputs["imageTag"] = undefined /*out*/; resourceInputs["languageVersion"] = undefined /*out*/; - resourceInputs["lastWorkflowRun"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["manifestGenerationMode"] = undefined /*out*/; resourceInputs["manifestOutputDirectory"] = undefined /*out*/; resourceInputs["manifestType"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["namespace"] = undefined /*out*/; - resourceInputs["oidcCredentials"] = undefined /*out*/; resourceInputs["port"] = undefined /*out*/; - resourceInputs["prStatus"] = undefined /*out*/; - resourceInputs["prURL"] = undefined /*out*/; - resourceInputs["pullNumber"] = undefined /*out*/; - resourceInputs["repositoryName"] = undefined /*out*/; - resourceInputs["repositoryOwner"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; @@ -253,35 +181,14 @@ export class Workflow extends pulumi.CustomResource { * The set of arguments for constructing a Workflow resource. */ export interface WorkflowArgs { - /** - * Information on the azure container registry - */ - acr?: pulumi.Input; - /** - * The Azure Kubernetes Cluster Resource the application will be deployed to. - */ - aksResourceId?: pulumi.Input; /** * The name of the app. */ appName?: pulumi.Input; - /** - * Repository Branch Name - */ - branchName?: pulumi.Input; /** * The version of the language image used for building the code in the generated dockerfile. */ builderVersion?: pulumi.Input; - deploymentProperties?: pulumi.Input; - /** - * Path to Dockerfile Build Context within the repository. - */ - dockerBuildContext?: pulumi.Input; - /** - * Path to the Dockerfile within the repository. - */ - dockerfile?: pulumi.Input; /** * The mode of generation to be used for generating Dockerfiles. */ @@ -294,6 +201,10 @@ export interface WorkflowArgs { * The programming language used. */ generationLanguage?: pulumi.Input; + /** + * Profile of a github workflow. + */ + githubWorkflowProfile?: pulumi.Input; /** * The name of the image to be generated. */ @@ -306,7 +217,6 @@ export interface WorkflowArgs { * The version of the language image used for execution in the generated dockerfile. */ languageVersion?: pulumi.Input; - lastWorkflowRun?: pulumi.Input; /** * The geo-location where the resource lives */ @@ -324,25 +234,13 @@ export interface WorkflowArgs { */ manifestType?: pulumi.Input; /** - * Kubernetes namespace the application is deployed to. + * The namespace to deploy the application to. */ namespace?: pulumi.Input; - /** - * The fields needed for OIDC with GitHub. - */ - oidcCredentials?: pulumi.Input; /** * The port the application is exposed on. */ port?: pulumi.Input; - /** - * Repository Name - */ - repositoryName?: pulumi.Input; - /** - * Repository Owner - */ - repositoryOwner?: pulumi.Input; /** * The name of the resource group. The name is case insensitive. */ diff --git a/sdk/nodejs/devhub/v20230801/getWorkflow.ts b/sdk/nodejs/devhub/v20230801/getWorkflow.ts index e14e74646702..f21cb4a5e0a9 100644 --- a/sdk/nodejs/devhub/v20230801/getWorkflow.ts +++ b/sdk/nodejs/devhub/v20230801/getWorkflow.ts @@ -34,39 +34,14 @@ export interface GetWorkflowArgs { * Resource representation of a workflow */ export interface GetWorkflowResult { - /** - * Information on the azure container registry - */ - readonly acr?: outputs.devhub.v20230801.ACRResponse; - /** - * The Azure Kubernetes Cluster Resource the application will be deployed to. - */ - readonly aksResourceId?: string; /** * The name of the app. */ readonly appName?: string; - /** - * Determines the authorization status of requests. - */ - readonly authStatus: string; - /** - * Repository Branch Name - */ - readonly branchName?: string; /** * The version of the language image used for building the code in the generated dockerfile. */ readonly builderVersion?: string; - readonly deploymentProperties?: outputs.devhub.v20230801.DeploymentPropertiesResponse; - /** - * Path to Dockerfile Build Context within the repository. - */ - readonly dockerBuildContext?: string; - /** - * Path to the Dockerfile within the repository. - */ - readonly dockerfile?: string; /** * The mode of generation to be used for generating Dockerfiles. */ @@ -79,6 +54,10 @@ export interface GetWorkflowResult { * The programming language used. */ readonly generationLanguage?: string; + /** + * Profile of a github workflow. + */ + readonly githubWorkflowProfile?: outputs.devhub.v20230801.GitHubWorkflowProfileResponse; /** * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */ @@ -95,7 +74,6 @@ export interface GetWorkflowResult { * The version of the language image used for execution in the generated dockerfile. */ readonly languageVersion?: string; - readonly lastWorkflowRun?: outputs.devhub.v20230801.WorkflowRunResponse; /** * The geo-location where the resource lives */ @@ -117,37 +95,13 @@ export interface GetWorkflowResult { */ readonly name: string; /** - * Kubernetes namespace the application is deployed to. + * The namespace to deploy the application to. */ readonly namespace?: string; - /** - * The fields needed for OIDC with GitHub. - */ - readonly oidcCredentials?: outputs.devhub.v20230801.GitHubWorkflowProfileResponseOidcCredentials; /** * The port the application is exposed on. */ readonly port?: string; - /** - * The status of the Pull Request submitted against the users repository. - */ - readonly prStatus: string; - /** - * The URL to the Pull Request submitted against the users repository. - */ - readonly prURL: string; - /** - * The number associated with the submitted pull request. - */ - readonly pullNumber: number; - /** - * Repository Name - */ - readonly repositoryName?: string; - /** - * Repository Owner - */ - readonly repositoryOwner?: string; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ diff --git a/sdk/nodejs/devhub/v20230801/workflow.ts b/sdk/nodejs/devhub/v20230801/workflow.ts index 74a56b25688e..0d8f49ed998b 100644 --- a/sdk/nodejs/devhub/v20230801/workflow.ts +++ b/sdk/nodejs/devhub/v20230801/workflow.ts @@ -37,39 +37,14 @@ export class Workflow extends pulumi.CustomResource { return obj['__pulumiType'] === Workflow.__pulumiType; } - /** - * Information on the azure container registry - */ - public readonly acr!: pulumi.Output; - /** - * The Azure Kubernetes Cluster Resource the application will be deployed to. - */ - public readonly aksResourceId!: pulumi.Output; /** * The name of the app. */ public readonly appName!: pulumi.Output; - /** - * Determines the authorization status of requests. - */ - public /*out*/ readonly authStatus!: pulumi.Output; - /** - * Repository Branch Name - */ - public readonly branchName!: pulumi.Output; /** * The version of the language image used for building the code in the generated dockerfile. */ public readonly builderVersion!: pulumi.Output; - public readonly deploymentProperties!: pulumi.Output; - /** - * Path to Dockerfile Build Context within the repository. - */ - public readonly dockerBuildContext!: pulumi.Output; - /** - * Path to the Dockerfile within the repository. - */ - public readonly dockerfile!: pulumi.Output; /** * The mode of generation to be used for generating Dockerfiles. */ @@ -82,6 +57,10 @@ export class Workflow extends pulumi.CustomResource { * The programming language used. */ public readonly generationLanguage!: pulumi.Output; + /** + * Profile of a github workflow. + */ + public readonly githubWorkflowProfile!: pulumi.Output; /** * The name of the image to be generated. */ @@ -94,7 +73,6 @@ export class Workflow extends pulumi.CustomResource { * The version of the language image used for execution in the generated dockerfile. */ public readonly languageVersion!: pulumi.Output; - public readonly lastWorkflowRun!: pulumi.Output; /** * The geo-location where the resource lives */ @@ -116,37 +94,13 @@ export class Workflow extends pulumi.CustomResource { */ public /*out*/ readonly name!: pulumi.Output; /** - * Kubernetes namespace the application is deployed to. + * The namespace to deploy the application to. */ public readonly namespace!: pulumi.Output; - /** - * The fields needed for OIDC with GitHub. - */ - public readonly oidcCredentials!: pulumi.Output; /** * The port the application is exposed on. */ public readonly port!: pulumi.Output; - /** - * The status of the Pull Request submitted against the users repository. - */ - public /*out*/ readonly prStatus!: pulumi.Output; - /** - * The URL to the Pull Request submitted against the users repository. - */ - public /*out*/ readonly prURL!: pulumi.Output; - /** - * The number associated with the submitted pull request. - */ - public /*out*/ readonly pullNumber!: pulumi.Output; - /** - * Repository Name - */ - public readonly repositoryName!: pulumi.Output; - /** - * Repository Owner - */ - public readonly repositoryOwner!: pulumi.Output; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ @@ -174,70 +128,44 @@ export class Workflow extends pulumi.CustomResource { if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - resourceInputs["acr"] = args ? args.acr : undefined; - resourceInputs["aksResourceId"] = args ? args.aksResourceId : undefined; resourceInputs["appName"] = args ? args.appName : undefined; - resourceInputs["branchName"] = args ? args.branchName : undefined; resourceInputs["builderVersion"] = args ? args.builderVersion : undefined; - resourceInputs["deploymentProperties"] = args ? args.deploymentProperties : undefined; - resourceInputs["dockerBuildContext"] = args ? args.dockerBuildContext : undefined; - resourceInputs["dockerfile"] = args ? args.dockerfile : undefined; resourceInputs["dockerfileGenerationMode"] = args ? args.dockerfileGenerationMode : undefined; resourceInputs["dockerfileOutputDirectory"] = args ? args.dockerfileOutputDirectory : undefined; resourceInputs["generationLanguage"] = args ? args.generationLanguage : undefined; + resourceInputs["githubWorkflowProfile"] = args ? args.githubWorkflowProfile : undefined; resourceInputs["imageName"] = args ? args.imageName : undefined; resourceInputs["imageTag"] = args ? args.imageTag : undefined; resourceInputs["languageVersion"] = args ? args.languageVersion : undefined; - resourceInputs["lastWorkflowRun"] = args ? args.lastWorkflowRun : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["manifestGenerationMode"] = args ? args.manifestGenerationMode : undefined; resourceInputs["manifestOutputDirectory"] = args ? args.manifestOutputDirectory : undefined; resourceInputs["manifestType"] = args ? args.manifestType : undefined; resourceInputs["namespace"] = args ? args.namespace : undefined; - resourceInputs["oidcCredentials"] = args ? args.oidcCredentials : undefined; resourceInputs["port"] = args ? args.port : undefined; - resourceInputs["repositoryName"] = args ? args.repositoryName : undefined; - resourceInputs["repositoryOwner"] = args ? args.repositoryOwner : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["workflowName"] = args ? args.workflowName : undefined; - resourceInputs["authStatus"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["prStatus"] = undefined /*out*/; - resourceInputs["prURL"] = undefined /*out*/; - resourceInputs["pullNumber"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { - resourceInputs["acr"] = undefined /*out*/; - resourceInputs["aksResourceId"] = undefined /*out*/; resourceInputs["appName"] = undefined /*out*/; - resourceInputs["authStatus"] = undefined /*out*/; - resourceInputs["branchName"] = undefined /*out*/; resourceInputs["builderVersion"] = undefined /*out*/; - resourceInputs["deploymentProperties"] = undefined /*out*/; - resourceInputs["dockerBuildContext"] = undefined /*out*/; - resourceInputs["dockerfile"] = undefined /*out*/; resourceInputs["dockerfileGenerationMode"] = undefined /*out*/; resourceInputs["dockerfileOutputDirectory"] = undefined /*out*/; resourceInputs["generationLanguage"] = undefined /*out*/; + resourceInputs["githubWorkflowProfile"] = undefined /*out*/; resourceInputs["imageName"] = undefined /*out*/; resourceInputs["imageTag"] = undefined /*out*/; resourceInputs["languageVersion"] = undefined /*out*/; - resourceInputs["lastWorkflowRun"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["manifestGenerationMode"] = undefined /*out*/; resourceInputs["manifestOutputDirectory"] = undefined /*out*/; resourceInputs["manifestType"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["namespace"] = undefined /*out*/; - resourceInputs["oidcCredentials"] = undefined /*out*/; resourceInputs["port"] = undefined /*out*/; - resourceInputs["prStatus"] = undefined /*out*/; - resourceInputs["prURL"] = undefined /*out*/; - resourceInputs["pullNumber"] = undefined /*out*/; - resourceInputs["repositoryName"] = undefined /*out*/; - resourceInputs["repositoryOwner"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; @@ -253,35 +181,14 @@ export class Workflow extends pulumi.CustomResource { * The set of arguments for constructing a Workflow resource. */ export interface WorkflowArgs { - /** - * Information on the azure container registry - */ - acr?: pulumi.Input; - /** - * The Azure Kubernetes Cluster Resource the application will be deployed to. - */ - aksResourceId?: pulumi.Input; /** * The name of the app. */ appName?: pulumi.Input; - /** - * Repository Branch Name - */ - branchName?: pulumi.Input; /** * The version of the language image used for building the code in the generated dockerfile. */ builderVersion?: pulumi.Input; - deploymentProperties?: pulumi.Input; - /** - * Path to Dockerfile Build Context within the repository. - */ - dockerBuildContext?: pulumi.Input; - /** - * Path to the Dockerfile within the repository. - */ - dockerfile?: pulumi.Input; /** * The mode of generation to be used for generating Dockerfiles. */ @@ -294,6 +201,10 @@ export interface WorkflowArgs { * The programming language used. */ generationLanguage?: pulumi.Input; + /** + * Profile of a github workflow. + */ + githubWorkflowProfile?: pulumi.Input; /** * The name of the image to be generated. */ @@ -306,7 +217,6 @@ export interface WorkflowArgs { * The version of the language image used for execution in the generated dockerfile. */ languageVersion?: pulumi.Input; - lastWorkflowRun?: pulumi.Input; /** * The geo-location where the resource lives */ @@ -324,25 +234,13 @@ export interface WorkflowArgs { */ manifestType?: pulumi.Input; /** - * Kubernetes namespace the application is deployed to. + * The namespace to deploy the application to. */ namespace?: pulumi.Input; - /** - * The fields needed for OIDC with GitHub. - */ - oidcCredentials?: pulumi.Input; /** * The port the application is exposed on. */ port?: pulumi.Input; - /** - * Repository Name - */ - repositoryName?: pulumi.Input; - /** - * Repository Owner - */ - repositoryOwner?: pulumi.Input; /** * The name of the resource group. The name is case insensitive. */ diff --git a/sdk/nodejs/devhub/workflow.ts b/sdk/nodejs/devhub/workflow.ts index 615e814bf7df..88ac629e9236 100644 --- a/sdk/nodejs/devhub/workflow.ts +++ b/sdk/nodejs/devhub/workflow.ts @@ -40,39 +40,14 @@ export class Workflow extends pulumi.CustomResource { return obj['__pulumiType'] === Workflow.__pulumiType; } - /** - * Information on the azure container registry - */ - public readonly acr!: pulumi.Output; - /** - * The Azure Kubernetes Cluster Resource the application will be deployed to. - */ - public readonly aksResourceId!: pulumi.Output; /** * The name of the app. */ public readonly appName!: pulumi.Output; - /** - * Determines the authorization status of requests. - */ - public /*out*/ readonly authStatus!: pulumi.Output; - /** - * Repository Branch Name - */ - public readonly branchName!: pulumi.Output; /** * The version of the language image used for building the code in the generated dockerfile. */ public readonly builderVersion!: pulumi.Output; - public readonly deploymentProperties!: pulumi.Output; - /** - * Path to Dockerfile Build Context within the repository. - */ - public readonly dockerBuildContext!: pulumi.Output; - /** - * Path to the Dockerfile within the repository. - */ - public readonly dockerfile!: pulumi.Output; /** * The mode of generation to be used for generating Dockerfiles. */ @@ -85,6 +60,10 @@ export class Workflow extends pulumi.CustomResource { * The programming language used. */ public readonly generationLanguage!: pulumi.Output; + /** + * Profile of a github workflow. + */ + public readonly githubWorkflowProfile!: pulumi.Output; /** * The name of the image to be generated. */ @@ -97,7 +76,6 @@ export class Workflow extends pulumi.CustomResource { * The version of the language image used for execution in the generated dockerfile. */ public readonly languageVersion!: pulumi.Output; - public readonly lastWorkflowRun!: pulumi.Output; /** * The geo-location where the resource lives */ @@ -119,37 +97,13 @@ export class Workflow extends pulumi.CustomResource { */ public /*out*/ readonly name!: pulumi.Output; /** - * Kubernetes namespace the application is deployed to. + * The namespace to deploy the application to. */ public readonly namespace!: pulumi.Output; - /** - * The fields needed for OIDC with GitHub. - */ - public readonly oidcCredentials!: pulumi.Output; /** * The port the application is exposed on. */ public readonly port!: pulumi.Output; - /** - * The status of the Pull Request submitted against the users repository. - */ - public /*out*/ readonly prStatus!: pulumi.Output; - /** - * The URL to the Pull Request submitted against the users repository. - */ - public /*out*/ readonly prURL!: pulumi.Output; - /** - * The number associated with the submitted pull request. - */ - public /*out*/ readonly pullNumber!: pulumi.Output; - /** - * Repository Name - */ - public readonly repositoryName!: pulumi.Output; - /** - * Repository Owner - */ - public readonly repositoryOwner!: pulumi.Output; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ @@ -177,70 +131,44 @@ export class Workflow extends pulumi.CustomResource { if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - resourceInputs["acr"] = args ? args.acr : undefined; - resourceInputs["aksResourceId"] = args ? args.aksResourceId : undefined; resourceInputs["appName"] = args ? args.appName : undefined; - resourceInputs["branchName"] = args ? args.branchName : undefined; resourceInputs["builderVersion"] = args ? args.builderVersion : undefined; - resourceInputs["deploymentProperties"] = args ? args.deploymentProperties : undefined; - resourceInputs["dockerBuildContext"] = args ? args.dockerBuildContext : undefined; - resourceInputs["dockerfile"] = args ? args.dockerfile : undefined; resourceInputs["dockerfileGenerationMode"] = args ? args.dockerfileGenerationMode : undefined; resourceInputs["dockerfileOutputDirectory"] = args ? args.dockerfileOutputDirectory : undefined; resourceInputs["generationLanguage"] = args ? args.generationLanguage : undefined; + resourceInputs["githubWorkflowProfile"] = args ? args.githubWorkflowProfile : undefined; resourceInputs["imageName"] = args ? args.imageName : undefined; resourceInputs["imageTag"] = args ? args.imageTag : undefined; resourceInputs["languageVersion"] = args ? args.languageVersion : undefined; - resourceInputs["lastWorkflowRun"] = args ? args.lastWorkflowRun : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["manifestGenerationMode"] = args ? args.manifestGenerationMode : undefined; resourceInputs["manifestOutputDirectory"] = args ? args.manifestOutputDirectory : undefined; resourceInputs["manifestType"] = args ? args.manifestType : undefined; resourceInputs["namespace"] = args ? args.namespace : undefined; - resourceInputs["oidcCredentials"] = args ? args.oidcCredentials : undefined; resourceInputs["port"] = args ? args.port : undefined; - resourceInputs["repositoryName"] = args ? args.repositoryName : undefined; - resourceInputs["repositoryOwner"] = args ? args.repositoryOwner : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["workflowName"] = args ? args.workflowName : undefined; - resourceInputs["authStatus"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["prStatus"] = undefined /*out*/; - resourceInputs["prURL"] = undefined /*out*/; - resourceInputs["pullNumber"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { - resourceInputs["acr"] = undefined /*out*/; - resourceInputs["aksResourceId"] = undefined /*out*/; resourceInputs["appName"] = undefined /*out*/; - resourceInputs["authStatus"] = undefined /*out*/; - resourceInputs["branchName"] = undefined /*out*/; resourceInputs["builderVersion"] = undefined /*out*/; - resourceInputs["deploymentProperties"] = undefined /*out*/; - resourceInputs["dockerBuildContext"] = undefined /*out*/; - resourceInputs["dockerfile"] = undefined /*out*/; resourceInputs["dockerfileGenerationMode"] = undefined /*out*/; resourceInputs["dockerfileOutputDirectory"] = undefined /*out*/; resourceInputs["generationLanguage"] = undefined /*out*/; + resourceInputs["githubWorkflowProfile"] = undefined /*out*/; resourceInputs["imageName"] = undefined /*out*/; resourceInputs["imageTag"] = undefined /*out*/; resourceInputs["languageVersion"] = undefined /*out*/; - resourceInputs["lastWorkflowRun"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["manifestGenerationMode"] = undefined /*out*/; resourceInputs["manifestOutputDirectory"] = undefined /*out*/; resourceInputs["manifestType"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["namespace"] = undefined /*out*/; - resourceInputs["oidcCredentials"] = undefined /*out*/; resourceInputs["port"] = undefined /*out*/; - resourceInputs["prStatus"] = undefined /*out*/; - resourceInputs["prURL"] = undefined /*out*/; - resourceInputs["pullNumber"] = undefined /*out*/; - resourceInputs["repositoryName"] = undefined /*out*/; - resourceInputs["repositoryOwner"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; @@ -256,35 +184,14 @@ export class Workflow extends pulumi.CustomResource { * The set of arguments for constructing a Workflow resource. */ export interface WorkflowArgs { - /** - * Information on the azure container registry - */ - acr?: pulumi.Input; - /** - * The Azure Kubernetes Cluster Resource the application will be deployed to. - */ - aksResourceId?: pulumi.Input; /** * The name of the app. */ appName?: pulumi.Input; - /** - * Repository Branch Name - */ - branchName?: pulumi.Input; /** * The version of the language image used for building the code in the generated dockerfile. */ builderVersion?: pulumi.Input; - deploymentProperties?: pulumi.Input; - /** - * Path to Dockerfile Build Context within the repository. - */ - dockerBuildContext?: pulumi.Input; - /** - * Path to the Dockerfile within the repository. - */ - dockerfile?: pulumi.Input; /** * The mode of generation to be used for generating Dockerfiles. */ @@ -297,6 +204,10 @@ export interface WorkflowArgs { * The programming language used. */ generationLanguage?: pulumi.Input; + /** + * Profile of a github workflow. + */ + githubWorkflowProfile?: pulumi.Input; /** * The name of the image to be generated. */ @@ -309,7 +220,6 @@ export interface WorkflowArgs { * The version of the language image used for execution in the generated dockerfile. */ languageVersion?: pulumi.Input; - lastWorkflowRun?: pulumi.Input; /** * The geo-location where the resource lives */ @@ -327,25 +237,13 @@ export interface WorkflowArgs { */ manifestType?: pulumi.Input; /** - * Kubernetes namespace the application is deployed to. + * The namespace to deploy the application to. */ namespace?: pulumi.Input; - /** - * The fields needed for OIDC with GitHub. - */ - oidcCredentials?: pulumi.Input; /** * The port the application is exposed on. */ port?: pulumi.Input; - /** - * Repository Name - */ - repositoryName?: pulumi.Input; - /** - * Repository Owner - */ - repositoryOwner?: pulumi.Input; /** * The name of the resource group. The name is case insensitive. */ diff --git a/sdk/nodejs/education/getLab.ts b/sdk/nodejs/education/getLab.ts index 779c1c6939c6..a3bc76dbb9ab 100644 --- a/sdk/nodejs/education/getLab.ts +++ b/sdk/nodejs/education/getLab.ts @@ -93,6 +93,10 @@ export interface GetLabResult { * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ readonly systemData: outputs.education.SystemDataResponse; + /** + * Total budget + */ + readonly totalBudget: outputs.education.AmountResponse; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ diff --git a/sdk/nodejs/education/lab.ts b/sdk/nodejs/education/lab.ts index c36800f4a0b7..cdab1507cc0f 100644 --- a/sdk/nodejs/education/lab.ts +++ b/sdk/nodejs/education/lab.ts @@ -82,6 +82,10 @@ export class Lab extends pulumi.CustomResource { * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ public /*out*/ readonly systemData!: pulumi.Output; + /** + * Total budget + */ + public /*out*/ readonly totalBudget!: pulumi.Output; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ @@ -138,6 +142,7 @@ export class Lab extends pulumi.CustomResource { resourceInputs["name"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["totalBudget"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { resourceInputs["budgetPerStudent"] = undefined /*out*/; @@ -151,6 +156,7 @@ export class Lab extends pulumi.CustomResource { resourceInputs["name"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["totalBudget"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; resourceInputs["value"] = undefined /*out*/; } diff --git a/sdk/nodejs/education/v20211201preview/getLab.ts b/sdk/nodejs/education/v20211201preview/getLab.ts index cab6537938d1..00c692582628 100644 --- a/sdk/nodejs/education/v20211201preview/getLab.ts +++ b/sdk/nodejs/education/v20211201preview/getLab.ts @@ -92,6 +92,10 @@ export interface GetLabResult { * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ readonly systemData: outputs.education.v20211201preview.SystemDataResponse; + /** + * Total budget + */ + readonly totalBudget: outputs.education.v20211201preview.AmountResponse; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ diff --git a/sdk/nodejs/education/v20211201preview/lab.ts b/sdk/nodejs/education/v20211201preview/lab.ts index 478296c8bd4c..3f61f7033e68 100644 --- a/sdk/nodejs/education/v20211201preview/lab.ts +++ b/sdk/nodejs/education/v20211201preview/lab.ts @@ -81,6 +81,10 @@ export class Lab extends pulumi.CustomResource { * Azure Resource Manager metadata containing createdBy and modifiedBy information. */ public /*out*/ readonly systemData!: pulumi.Output; + /** + * Total budget + */ + public /*out*/ readonly totalBudget!: pulumi.Output; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */ @@ -137,6 +141,7 @@ export class Lab extends pulumi.CustomResource { resourceInputs["name"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["totalBudget"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { resourceInputs["budgetPerStudent"] = undefined /*out*/; @@ -150,6 +155,7 @@ export class Lab extends pulumi.CustomResource { resourceInputs["name"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; + resourceInputs["totalBudget"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; resourceInputs["value"] = undefined /*out*/; } diff --git a/sdk/nodejs/insights/v20150501/getWorkbook.ts b/sdk/nodejs/insights/v20150501/getWorkbook.ts index 770cfc503ca6..69170c2d4c42 100644 --- a/sdk/nodejs/insights/v20150501/getWorkbook.ts +++ b/sdk/nodejs/insights/v20150501/getWorkbook.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; import * as utilities from "../../utilities"; /** @@ -31,10 +34,6 @@ export interface GetWorkbookArgs { * An Application Insights workbook definition. */ export interface GetWorkbookResult { - /** - * Workbook category, as defined by the user at creation time. - */ - readonly category: string; /** * Azure resource Id */ @@ -52,41 +51,17 @@ export interface GetWorkbookResult { */ readonly name: string; /** - * Configuration of this particular workbook. Configuration data is a string containing valid JSON - */ - readonly serializedData: string; - /** - * Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. + * Metadata describing a web test for an Azure resource. */ - readonly sharedTypeKind: string; - /** - * Optional resourceId for a source resource. - */ - readonly sourceResourceId?: string; + readonly properties: outputs.insights.v20150501.WorkbookPropertiesResponse; /** * Resource tags */ readonly tags?: {[key: string]: string}; - /** - * Date and time in UTC of the last modification that was made to this workbook definition. - */ - readonly timeModified: string; /** * Azure resource type */ readonly type: string; - /** - * Unique user id of the specific user that owns this workbook. - */ - readonly userId: string; - /** - * This instance's version of the data model. This can change as new features are added that can be marked workbook. - */ - readonly version?: string; - /** - * Internally assigned unique id of the workbook definition. - */ - readonly workbookId: string; } /** * Get a single workbook by its resourceName. diff --git a/sdk/nodejs/insights/v20150501/workbook.ts b/sdk/nodejs/insights/v20150501/workbook.ts index 1bd5093aa0eb..15b56074d0ef 100644 --- a/sdk/nodejs/insights/v20150501/workbook.ts +++ b/sdk/nodejs/insights/v20150501/workbook.ts @@ -37,10 +37,6 @@ export class Workbook extends pulumi.CustomResource { return obj['__pulumiType'] === Workbook.__pulumiType; } - /** - * Workbook category, as defined by the user at creation time. - */ - public readonly category!: pulumi.Output; /** * The kind of workbook. Choices are user and shared. */ @@ -52,43 +48,19 @@ export class Workbook extends pulumi.CustomResource { /** * Azure resource name */ - public readonly name!: pulumi.Output; + public /*out*/ readonly name!: pulumi.Output; /** - * Configuration of this particular workbook. Configuration data is a string containing valid JSON + * Metadata describing a web test for an Azure resource. */ - public readonly serializedData!: pulumi.Output; - /** - * Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. - */ - public readonly sharedTypeKind!: pulumi.Output; - /** - * Optional resourceId for a source resource. - */ - public readonly sourceResourceId!: pulumi.Output; + public readonly properties!: pulumi.Output; /** * Resource tags */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; - /** - * Date and time in UTC of the last modification that was made to this workbook definition. - */ - public /*out*/ readonly timeModified!: pulumi.Output; /** * Azure resource type */ public /*out*/ readonly type!: pulumi.Output; - /** - * Unique user id of the specific user that owns this workbook. - */ - public readonly userId!: pulumi.Output; - /** - * This instance's version of the data model. This can change as new features are added that can be marked workbook. - */ - public readonly version!: pulumi.Output; - /** - * Internally assigned unique id of the workbook definition. - */ - public readonly workbookId!: pulumi.Output; /** * Create a Workbook resource with the given unique name, arguments, and options. @@ -101,56 +73,24 @@ export class Workbook extends pulumi.CustomResource { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { - if ((!args || args.category === undefined) && !opts.urn) { - throw new Error("Missing required property 'category'"); - } - if ((!args || args.name === undefined) && !opts.urn) { - throw new Error("Missing required property 'name'"); - } if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - if ((!args || args.serializedData === undefined) && !opts.urn) { - throw new Error("Missing required property 'serializedData'"); - } - if ((!args || args.sharedTypeKind === undefined) && !opts.urn) { - throw new Error("Missing required property 'sharedTypeKind'"); - } - if ((!args || args.userId === undefined) && !opts.urn) { - throw new Error("Missing required property 'userId'"); - } - if ((!args || args.workbookId === undefined) && !opts.urn) { - throw new Error("Missing required property 'workbookId'"); - } - resourceInputs["category"] = args ? args.category : undefined; resourceInputs["kind"] = args ? args.kind : undefined; resourceInputs["location"] = args ? args.location : undefined; - resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["properties"] = args ? (args.properties ? pulumi.output(args.properties).apply(inputs.insights.v20150501.workbookPropertiesArgsProvideDefaults) : undefined) : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["resourceName"] = args ? args.resourceName : undefined; - resourceInputs["serializedData"] = args ? args.serializedData : undefined; - resourceInputs["sharedTypeKind"] = (args ? args.sharedTypeKind : undefined) ?? "shared"; - resourceInputs["sourceResourceId"] = args ? args.sourceResourceId : undefined; resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["userId"] = args ? args.userId : undefined; - resourceInputs["version"] = args ? args.version : undefined; - resourceInputs["workbookId"] = args ? args.workbookId : undefined; - resourceInputs["timeModified"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { - resourceInputs["category"] = undefined /*out*/; resourceInputs["kind"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["serializedData"] = undefined /*out*/; - resourceInputs["sharedTypeKind"] = undefined /*out*/; - resourceInputs["sourceResourceId"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; - resourceInputs["timeModified"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["userId"] = undefined /*out*/; - resourceInputs["version"] = undefined /*out*/; - resourceInputs["workbookId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:insights:Workbook" }, { type: "azure-native:insights/v20180617preview:Workbook" }, { type: "azure-native:insights/v20201020:Workbook" }, { type: "azure-native:insights/v20210308:Workbook" }, { type: "azure-native:insights/v20210801:Workbook" }, { type: "azure-native:insights/v20220401:Workbook" }, { type: "azure-native:insights/v20230601:Workbook" }] }; @@ -163,10 +103,6 @@ export class Workbook extends pulumi.CustomResource { * The set of arguments for constructing a Workbook resource. */ export interface WorkbookArgs { - /** - * Workbook category, as defined by the user at creation time. - */ - category: pulumi.Input; /** * The kind of workbook. Choices are user and shared. */ @@ -176,9 +112,9 @@ export interface WorkbookArgs { */ location?: pulumi.Input; /** - * The user-defined name of the workbook. + * Metadata describing a web test for an Azure resource. */ - name: pulumi.Input; + properties?: pulumi.Input; /** * The name of the resource group. The name is case insensitive. */ @@ -187,32 +123,8 @@ export interface WorkbookArgs { * The name of the Application Insights component resource. */ resourceName?: pulumi.Input; - /** - * Configuration of this particular workbook. Configuration data is a string containing valid JSON - */ - serializedData: pulumi.Input; - /** - * Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. - */ - sharedTypeKind: pulumi.Input; - /** - * Optional resourceId for a source resource. - */ - sourceResourceId?: pulumi.Input; /** * Resource tags */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * Unique user id of the specific user that owns this workbook. - */ - userId: pulumi.Input; - /** - * This instance's version of the data model. This can change as new features are added that can be marked workbook. - */ - version?: pulumi.Input; - /** - * Internally assigned unique id of the workbook definition. - */ - workbookId: pulumi.Input; } diff --git a/sdk/nodejs/netapp/v20210401/backupPolicy.ts b/sdk/nodejs/netapp/v20210401/backupPolicy.ts index 4c245765a802..496f04351487 100644 --- a/sdk/nodejs/netapp/v20210401/backupPolicy.ts +++ b/sdk/nodejs/netapp/v20210401/backupPolicy.ts @@ -37,18 +37,6 @@ export class BackupPolicy extends pulumi.CustomResource { return obj['__pulumiType'] === BackupPolicy.__pulumiType; } - /** - * Backup Policy Resource ID - */ - public /*out*/ readonly backupPolicyId!: pulumi.Output; - /** - * Daily backups count to keep - */ - public readonly dailyBackupsToKeep!: pulumi.Output; - /** - * The property to decide policy is enabled or not - */ - public readonly enabled!: pulumi.Output; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -58,17 +46,13 @@ export class BackupPolicy extends pulumi.CustomResource { */ public readonly location!: pulumi.Output; /** - * Monthly backups count to keep - */ - public readonly monthlyBackupsToKeep!: pulumi.Output; - /** - * Name of backup policy + * Resource name */ public /*out*/ readonly name!: pulumi.Output; /** - * Azure lifecycle management + * Backup policy Properties */ - public /*out*/ readonly provisioningState!: pulumi.Output; + public /*out*/ readonly properties!: pulumi.Output; /** * The system meta data relating to this resource. */ @@ -81,22 +65,6 @@ export class BackupPolicy extends pulumi.CustomResource { * Resource type */ public /*out*/ readonly type!: pulumi.Output; - /** - * A list of volumes assigned to this policy - */ - public readonly volumeBackups!: pulumi.Output; - /** - * Volumes using current backup policy - */ - public readonly volumesAssigned!: pulumi.Output; - /** - * Weekly backups count to keep - */ - public readonly weeklyBackupsToKeep!: pulumi.Output; - /** - * Yearly backups count to keep - */ - public readonly yearlyBackupsToKeep!: pulumi.Output; /** * Create a BackupPolicy resource with the given unique name, arguments, and options. @@ -127,28 +95,19 @@ export class BackupPolicy extends pulumi.CustomResource { resourceInputs["volumesAssigned"] = args ? args.volumesAssigned : undefined; resourceInputs["weeklyBackupsToKeep"] = args ? args.weeklyBackupsToKeep : undefined; resourceInputs["yearlyBackupsToKeep"] = args ? args.yearlyBackupsToKeep : undefined; - resourceInputs["backupPolicyId"] = undefined /*out*/; resourceInputs["etag"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { - resourceInputs["backupPolicyId"] = undefined /*out*/; - resourceInputs["dailyBackupsToKeep"] = undefined /*out*/; - resourceInputs["enabled"] = undefined /*out*/; resourceInputs["etag"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; - resourceInputs["monthlyBackupsToKeep"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["volumeBackups"] = undefined /*out*/; - resourceInputs["volumesAssigned"] = undefined /*out*/; - resourceInputs["weeklyBackupsToKeep"] = undefined /*out*/; - resourceInputs["yearlyBackupsToKeep"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:netapp:BackupPolicy" }, { type: "azure-native:netapp/v20200501:BackupPolicy" }, { type: "azure-native:netapp/v20200601:BackupPolicy" }, { type: "azure-native:netapp/v20200701:BackupPolicy" }, { type: "azure-native:netapp/v20200801:BackupPolicy" }, { type: "azure-native:netapp/v20200901:BackupPolicy" }, { type: "azure-native:netapp/v20201101:BackupPolicy" }, { type: "azure-native:netapp/v20201201:BackupPolicy" }, { type: "azure-native:netapp/v20210201:BackupPolicy" }, { type: "azure-native:netapp/v20210401preview:BackupPolicy" }, { type: "azure-native:netapp/v20210601:BackupPolicy" }, { type: "azure-native:netapp/v20210801:BackupPolicy" }, { type: "azure-native:netapp/v20211001:BackupPolicy" }, { type: "azure-native:netapp/v20220101:BackupPolicy" }, { type: "azure-native:netapp/v20220301:BackupPolicy" }, { type: "azure-native:netapp/v20220501:BackupPolicy" }, { type: "azure-native:netapp/v20220901:BackupPolicy" }, { type: "azure-native:netapp/v20221101:BackupPolicy" }, { type: "azure-native:netapp/v20221101preview:BackupPolicy" }, { type: "azure-native:netapp/v20230501:BackupPolicy" }, { type: "azure-native:netapp/v20230501preview:BackupPolicy" }, { type: "azure-native:netapp/v20230701:BackupPolicy" }] }; diff --git a/sdk/nodejs/netapp/v20210401/getBackupPolicy.ts b/sdk/nodejs/netapp/v20210401/getBackupPolicy.ts index 084e2a3dc2d9..7b6b32eeb3d2 100644 --- a/sdk/nodejs/netapp/v20210401/getBackupPolicy.ts +++ b/sdk/nodejs/netapp/v20210401/getBackupPolicy.ts @@ -39,18 +39,6 @@ export interface GetBackupPolicyArgs { * Backup policy information */ export interface GetBackupPolicyResult { - /** - * Backup Policy Resource ID - */ - readonly backupPolicyId: string; - /** - * Daily backups count to keep - */ - readonly dailyBackupsToKeep?: number; - /** - * The property to decide policy is enabled or not - */ - readonly enabled?: boolean; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -64,17 +52,13 @@ export interface GetBackupPolicyResult { */ readonly location: string; /** - * Monthly backups count to keep - */ - readonly monthlyBackupsToKeep?: number; - /** - * Name of backup policy + * Resource name */ readonly name: string; /** - * Azure lifecycle management + * Backup policy Properties */ - readonly provisioningState: string; + readonly properties: outputs.netapp.v20210401.BackupPolicyPropertiesResponse; /** * The system meta data relating to this resource. */ @@ -87,22 +71,6 @@ export interface GetBackupPolicyResult { * Resource type */ readonly type: string; - /** - * A list of volumes assigned to this policy - */ - readonly volumeBackups?: outputs.netapp.v20210401.VolumeBackupsResponse[]; - /** - * Volumes using current backup policy - */ - readonly volumesAssigned?: number; - /** - * Weekly backups count to keep - */ - readonly weeklyBackupsToKeep?: number; - /** - * Yearly backups count to keep - */ - readonly yearlyBackupsToKeep?: number; } /** * Get a particular backup Policy diff --git a/sdk/nodejs/netapp/v20210401preview/backupPolicy.ts b/sdk/nodejs/netapp/v20210401preview/backupPolicy.ts index da55d7ba5a65..2d4e5b6f4637 100644 --- a/sdk/nodejs/netapp/v20210401preview/backupPolicy.ts +++ b/sdk/nodejs/netapp/v20210401preview/backupPolicy.ts @@ -37,30 +37,18 @@ export class BackupPolicy extends pulumi.CustomResource { return obj['__pulumiType'] === BackupPolicy.__pulumiType; } - /** - * Daily backups count to keep - */ - public readonly dailyBackupsToKeep!: pulumi.Output; - /** - * The property to decide policy is enabled or not - */ - public readonly enabled!: pulumi.Output; /** * Resource location */ public readonly location!: pulumi.Output; /** - * Monthly backups count to keep - */ - public readonly monthlyBackupsToKeep!: pulumi.Output; - /** - * Name of backup policy + * Resource name */ public /*out*/ readonly name!: pulumi.Output; /** - * Azure lifecycle management + * Backup policy Properties */ - public /*out*/ readonly provisioningState!: pulumi.Output; + public /*out*/ readonly properties!: pulumi.Output; /** * Resource tags */ @@ -69,22 +57,6 @@ export class BackupPolicy extends pulumi.CustomResource { * Resource type */ public /*out*/ readonly type!: pulumi.Output; - /** - * A list of volumes assigned to this policy - */ - public readonly volumeBackups!: pulumi.Output; - /** - * Volumes using current backup policy - */ - public readonly volumesAssigned!: pulumi.Output; - /** - * Weekly backups count to keep - */ - public readonly weeklyBackupsToKeep!: pulumi.Output; - /** - * Yearly backups count to keep - */ - public readonly yearlyBackupsToKeep!: pulumi.Output; /** * Create a BackupPolicy resource with the given unique name, arguments, and options. @@ -116,21 +88,14 @@ export class BackupPolicy extends pulumi.CustomResource { resourceInputs["weeklyBackupsToKeep"] = args ? args.weeklyBackupsToKeep : undefined; resourceInputs["yearlyBackupsToKeep"] = args ? args.yearlyBackupsToKeep : undefined; resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { - resourceInputs["dailyBackupsToKeep"] = undefined /*out*/; - resourceInputs["enabled"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; - resourceInputs["monthlyBackupsToKeep"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["volumeBackups"] = undefined /*out*/; - resourceInputs["volumesAssigned"] = undefined /*out*/; - resourceInputs["weeklyBackupsToKeep"] = undefined /*out*/; - resourceInputs["yearlyBackupsToKeep"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:netapp:BackupPolicy" }, { type: "azure-native:netapp/v20200501:BackupPolicy" }, { type: "azure-native:netapp/v20200601:BackupPolicy" }, { type: "azure-native:netapp/v20200701:BackupPolicy" }, { type: "azure-native:netapp/v20200801:BackupPolicy" }, { type: "azure-native:netapp/v20200901:BackupPolicy" }, { type: "azure-native:netapp/v20201101:BackupPolicy" }, { type: "azure-native:netapp/v20201201:BackupPolicy" }, { type: "azure-native:netapp/v20210201:BackupPolicy" }, { type: "azure-native:netapp/v20210401:BackupPolicy" }, { type: "azure-native:netapp/v20210601:BackupPolicy" }, { type: "azure-native:netapp/v20210801:BackupPolicy" }, { type: "azure-native:netapp/v20211001:BackupPolicy" }, { type: "azure-native:netapp/v20220101:BackupPolicy" }, { type: "azure-native:netapp/v20220301:BackupPolicy" }, { type: "azure-native:netapp/v20220501:BackupPolicy" }, { type: "azure-native:netapp/v20220901:BackupPolicy" }, { type: "azure-native:netapp/v20221101:BackupPolicy" }, { type: "azure-native:netapp/v20221101preview:BackupPolicy" }, { type: "azure-native:netapp/v20230501:BackupPolicy" }, { type: "azure-native:netapp/v20230501preview:BackupPolicy" }, { type: "azure-native:netapp/v20230701:BackupPolicy" }] }; diff --git a/sdk/nodejs/netapp/v20210401preview/getBackupPolicy.ts b/sdk/nodejs/netapp/v20210401preview/getBackupPolicy.ts index 23a92072f9d8..63199d8f3fff 100644 --- a/sdk/nodejs/netapp/v20210401preview/getBackupPolicy.ts +++ b/sdk/nodejs/netapp/v20210401preview/getBackupPolicy.ts @@ -39,14 +39,6 @@ export interface GetBackupPolicyArgs { * Backup policy information */ export interface GetBackupPolicyResult { - /** - * Daily backups count to keep - */ - readonly dailyBackupsToKeep?: number; - /** - * The property to decide policy is enabled or not - */ - readonly enabled?: boolean; /** * Resource Id */ @@ -56,17 +48,13 @@ export interface GetBackupPolicyResult { */ readonly location: string; /** - * Monthly backups count to keep - */ - readonly monthlyBackupsToKeep?: number; - /** - * Name of backup policy + * Resource name */ readonly name: string; /** - * Azure lifecycle management + * Backup policy Properties */ - readonly provisioningState: string; + readonly properties: outputs.netapp.v20210401preview.BackupPolicyPropertiesResponse; /** * Resource tags */ @@ -75,22 +63,6 @@ export interface GetBackupPolicyResult { * Resource type */ readonly type: string; - /** - * A list of volumes assigned to this policy - */ - readonly volumeBackups?: outputs.netapp.v20210401preview.VolumeBackupsResponse[]; - /** - * Volumes using current backup policy - */ - readonly volumesAssigned?: number; - /** - * Weekly backups count to keep - */ - readonly weeklyBackupsToKeep?: number; - /** - * Yearly backups count to keep - */ - readonly yearlyBackupsToKeep?: number; } /** * Get a particular backup Policy diff --git a/sdk/nodejs/network/getP2sVpnServerConfiguration.ts b/sdk/nodejs/network/getP2sVpnServerConfiguration.ts index 8ffc856b4a40..d7b4be59e96a 100644 --- a/sdk/nodejs/network/getP2sVpnServerConfiguration.ts +++ b/sdk/nodejs/network/getP2sVpnServerConfiguration.ts @@ -49,49 +49,13 @@ export interface GetP2sVpnServerConfigurationResult { */ readonly id?: string; /** - * The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + * The name of the resource that is unique within a resource group. This name can be used to access the resource. */ readonly name?: string; /** - * List of references to P2SVpnGateways. + * Properties of the P2SVpnServer configuration. */ - readonly p2SVpnGateways: outputs.network.SubResourceResponse[]; - /** - * Radius client root certificate of P2SVpnServerConfiguration. - */ - readonly p2SVpnServerConfigRadiusClientRootCertificates?: outputs.network.P2SVpnServerConfigRadiusClientRootCertificateResponse[]; - /** - * Radius Server root certificate of P2SVpnServerConfiguration. - */ - readonly p2SVpnServerConfigRadiusServerRootCertificates?: outputs.network.P2SVpnServerConfigRadiusServerRootCertificateResponse[]; - /** - * VPN client revoked certificate of P2SVpnServerConfiguration. - */ - readonly p2SVpnServerConfigVpnClientRevokedCertificates?: outputs.network.P2SVpnServerConfigVpnClientRevokedCertificateResponse[]; - /** - * VPN client root certificate of P2SVpnServerConfiguration. - */ - readonly p2SVpnServerConfigVpnClientRootCertificates?: outputs.network.P2SVpnServerConfigVpnClientRootCertificateResponse[]; - /** - * The provisioning state of the P2S VPN server configuration resource. - */ - readonly provisioningState: string; - /** - * The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerAddress?: string; - /** - * The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerSecret?: string; - /** - * VpnClientIpsecPolicies for P2SVpnServerConfiguration. - */ - readonly vpnClientIpsecPolicies?: outputs.network.IpsecPolicyResponse[]; - /** - * VPN protocols for the P2SVpnServerConfiguration. - */ - readonly vpnProtocols?: string[]; + readonly properties: outputs.network.P2SVpnServerConfigurationPropertiesResponse; } /** * Retrieves the details of a P2SVpnServerConfiguration. diff --git a/sdk/nodejs/network/getVpnServerConfiguration.ts b/sdk/nodejs/network/getVpnServerConfiguration.ts index b27b250d9a02..69b0f40ad043 100644 --- a/sdk/nodejs/network/getVpnServerConfiguration.ts +++ b/sdk/nodejs/network/getVpnServerConfiguration.ts @@ -37,14 +37,6 @@ export interface GetVpnServerConfigurationArgs { * VpnServerConfiguration Resource. */ export interface GetVpnServerConfigurationResult { - /** - * The set of aad vpn authentication parameters. - */ - readonly aadAuthenticationParameters?: outputs.network.AadAuthenticationParametersResponse; - /** - * List of all VpnServerConfigurationPolicyGroups. - */ - readonly configurationPolicyGroups?: outputs.network.VpnServerConfigurationPolicyGroupResponse[]; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -62,33 +54,9 @@ export interface GetVpnServerConfigurationResult { */ readonly name: string; /** - * List of references to P2SVpnGateways. - */ - readonly p2SVpnGateways: outputs.network.P2SVpnGatewayResponse[]; - /** - * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - */ - readonly provisioningState: string; - /** - * Radius client root certificate of VpnServerConfiguration. - */ - readonly radiusClientRootCertificates?: outputs.network.VpnServerConfigRadiusClientRootCertificateResponse[]; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerAddress?: string; - /** - * Radius Server root certificate of VpnServerConfiguration. - */ - readonly radiusServerRootCertificates?: outputs.network.VpnServerConfigRadiusServerRootCertificateResponse[]; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerSecret?: string; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. + * Properties of the P2SVpnServer configuration. */ - readonly radiusServers?: outputs.network.RadiusServerResponse[]; + readonly properties: outputs.network.VpnServerConfigurationPropertiesResponse; /** * Resource tags. */ @@ -97,26 +65,6 @@ export interface GetVpnServerConfigurationResult { * Resource type. */ readonly type: string; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - readonly vpnAuthenticationTypes?: string[]; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - readonly vpnClientIpsecPolicies?: outputs.network.IpsecPolicyResponse[]; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - readonly vpnClientRevokedCertificates?: outputs.network.VpnServerConfigVpnClientRevokedCertificateResponse[]; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - readonly vpnClientRootCertificates?: outputs.network.VpnServerConfigVpnClientRootCertificateResponse[]; - /** - * VPN protocols for the VpnServerConfiguration. - */ - readonly vpnProtocols?: string[]; } /** * Retrieves the details of a VpnServerConfiguration. diff --git a/sdk/nodejs/network/p2sVpnServerConfiguration.ts b/sdk/nodejs/network/p2sVpnServerConfiguration.ts index de501b05971f..094049c0c6e0 100644 --- a/sdk/nodejs/network/p2sVpnServerConfiguration.ts +++ b/sdk/nodejs/network/p2sVpnServerConfiguration.ts @@ -43,49 +43,13 @@ export class P2sVpnServerConfiguration extends pulumi.CustomResource { */ public /*out*/ readonly etag!: pulumi.Output; /** - * The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + * The name of the resource that is unique within a resource group. This name can be used to access the resource. */ public readonly name!: pulumi.Output; /** - * List of references to P2SVpnGateways. + * Properties of the P2SVpnServer configuration. */ - public /*out*/ readonly p2SVpnGateways!: pulumi.Output; - /** - * Radius client root certificate of P2SVpnServerConfiguration. - */ - public readonly p2SVpnServerConfigRadiusClientRootCertificates!: pulumi.Output; - /** - * Radius Server root certificate of P2SVpnServerConfiguration. - */ - public readonly p2SVpnServerConfigRadiusServerRootCertificates!: pulumi.Output; - /** - * VPN client revoked certificate of P2SVpnServerConfiguration. - */ - public readonly p2SVpnServerConfigVpnClientRevokedCertificates!: pulumi.Output; - /** - * VPN client root certificate of P2SVpnServerConfiguration. - */ - public readonly p2SVpnServerConfigVpnClientRootCertificates!: pulumi.Output; - /** - * The provisioning state of the P2S VPN server configuration resource. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerAddress!: pulumi.Output; - /** - * The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerSecret!: pulumi.Output; - /** - * VpnClientIpsecPolicies for P2SVpnServerConfiguration. - */ - public readonly vpnClientIpsecPolicies!: pulumi.Output; - /** - * VPN protocols for the P2SVpnServerConfiguration. - */ - public readonly vpnProtocols!: pulumi.Output; + public readonly properties!: pulumi.Output; /** * Create a P2sVpnServerConfiguration resource with the given unique name, arguments, and options. @@ -106,33 +70,15 @@ export class P2sVpnServerConfiguration extends pulumi.CustomResource { } resourceInputs["id"] = args ? args.id : undefined; resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["p2SVpnServerConfigRadiusClientRootCertificates"] = args ? args.p2SVpnServerConfigRadiusClientRootCertificates : undefined; - resourceInputs["p2SVpnServerConfigRadiusServerRootCertificates"] = args ? args.p2SVpnServerConfigRadiusServerRootCertificates : undefined; - resourceInputs["p2SVpnServerConfigVpnClientRevokedCertificates"] = args ? args.p2SVpnServerConfigVpnClientRevokedCertificates : undefined; - resourceInputs["p2SVpnServerConfigVpnClientRootCertificates"] = args ? args.p2SVpnServerConfigVpnClientRootCertificates : undefined; resourceInputs["p2SVpnServerConfigurationName"] = args ? args.p2SVpnServerConfigurationName : undefined; - resourceInputs["radiusServerAddress"] = args ? args.radiusServerAddress : undefined; - resourceInputs["radiusServerSecret"] = args ? args.radiusServerSecret : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["virtualWanName"] = args ? args.virtualWanName : undefined; - resourceInputs["vpnClientIpsecPolicies"] = args ? args.vpnClientIpsecPolicies : undefined; - resourceInputs["vpnProtocols"] = args ? args.vpnProtocols : undefined; resourceInputs["etag"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; } else { resourceInputs["etag"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["p2SVpnServerConfigRadiusClientRootCertificates"] = undefined /*out*/; - resourceInputs["p2SVpnServerConfigRadiusServerRootCertificates"] = undefined /*out*/; - resourceInputs["p2SVpnServerConfigVpnClientRevokedCertificates"] = undefined /*out*/; - resourceInputs["p2SVpnServerConfigVpnClientRootCertificates"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["radiusServerAddress"] = undefined /*out*/; - resourceInputs["radiusServerSecret"] = undefined /*out*/; - resourceInputs["vpnClientIpsecPolicies"] = undefined /*out*/; - resourceInputs["vpnProtocols"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:network/v20180801:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20181001:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20181101:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20181201:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20190201:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20190401:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20190601:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20190701:P2sVpnServerConfiguration" }] }; @@ -150,37 +96,17 @@ export interface P2sVpnServerConfigurationArgs { */ id?: pulumi.Input; /** - * The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + * The name of the resource that is unique within a resource group. This name can be used to access the resource. */ name?: pulumi.Input; - /** - * Radius client root certificate of P2SVpnServerConfiguration. - */ - p2SVpnServerConfigRadiusClientRootCertificates?: pulumi.Input[]>; - /** - * Radius Server root certificate of P2SVpnServerConfiguration. - */ - p2SVpnServerConfigRadiusServerRootCertificates?: pulumi.Input[]>; - /** - * VPN client revoked certificate of P2SVpnServerConfiguration. - */ - p2SVpnServerConfigVpnClientRevokedCertificates?: pulumi.Input[]>; - /** - * VPN client root certificate of P2SVpnServerConfiguration. - */ - p2SVpnServerConfigVpnClientRootCertificates?: pulumi.Input[]>; /** * The name of the P2SVpnServerConfiguration. */ p2SVpnServerConfigurationName?: pulumi.Input; /** - * The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - */ - radiusServerAddress?: pulumi.Input; - /** - * The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + * Properties of the P2SVpnServer configuration. */ - radiusServerSecret?: pulumi.Input; + properties?: pulumi.Input; /** * The resource group name of the VirtualWan. */ @@ -189,12 +115,4 @@ export interface P2sVpnServerConfigurationArgs { * The name of the VirtualWan. */ virtualWanName: pulumi.Input; - /** - * VpnClientIpsecPolicies for P2SVpnServerConfiguration. - */ - vpnClientIpsecPolicies?: pulumi.Input[]>; - /** - * VPN protocols for the P2SVpnServerConfiguration. - */ - vpnProtocols?: pulumi.Input[]>; } diff --git a/sdk/nodejs/network/v20190701/getP2sVpnServerConfiguration.ts b/sdk/nodejs/network/v20190701/getP2sVpnServerConfiguration.ts index 14b9c210059c..bdd1b8aa6923 100644 --- a/sdk/nodejs/network/v20190701/getP2sVpnServerConfiguration.ts +++ b/sdk/nodejs/network/v20190701/getP2sVpnServerConfiguration.ts @@ -48,49 +48,13 @@ export interface GetP2sVpnServerConfigurationResult { */ readonly id?: string; /** - * The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + * The name of the resource that is unique within a resource group. This name can be used to access the resource. */ readonly name?: string; /** - * List of references to P2SVpnGateways. + * Properties of the P2SVpnServer configuration. */ - readonly p2SVpnGateways: outputs.network.v20190701.SubResourceResponse[]; - /** - * Radius client root certificate of P2SVpnServerConfiguration. - */ - readonly p2SVpnServerConfigRadiusClientRootCertificates?: outputs.network.v20190701.P2SVpnServerConfigRadiusClientRootCertificateResponse[]; - /** - * Radius Server root certificate of P2SVpnServerConfiguration. - */ - readonly p2SVpnServerConfigRadiusServerRootCertificates?: outputs.network.v20190701.P2SVpnServerConfigRadiusServerRootCertificateResponse[]; - /** - * VPN client revoked certificate of P2SVpnServerConfiguration. - */ - readonly p2SVpnServerConfigVpnClientRevokedCertificates?: outputs.network.v20190701.P2SVpnServerConfigVpnClientRevokedCertificateResponse[]; - /** - * VPN client root certificate of P2SVpnServerConfiguration. - */ - readonly p2SVpnServerConfigVpnClientRootCertificates?: outputs.network.v20190701.P2SVpnServerConfigVpnClientRootCertificateResponse[]; - /** - * The provisioning state of the P2S VPN server configuration resource. - */ - readonly provisioningState: string; - /** - * The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerAddress?: string; - /** - * The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerSecret?: string; - /** - * VpnClientIpsecPolicies for P2SVpnServerConfiguration. - */ - readonly vpnClientIpsecPolicies?: outputs.network.v20190701.IpsecPolicyResponse[]; - /** - * VPN protocols for the P2SVpnServerConfiguration. - */ - readonly vpnProtocols?: string[]; + readonly properties: outputs.network.v20190701.P2SVpnServerConfigurationPropertiesResponse; } /** * Retrieves the details of a P2SVpnServerConfiguration. diff --git a/sdk/nodejs/network/v20190701/p2sVpnServerConfiguration.ts b/sdk/nodejs/network/v20190701/p2sVpnServerConfiguration.ts index 7c28d9a18f53..1a7fc9b464ca 100644 --- a/sdk/nodejs/network/v20190701/p2sVpnServerConfiguration.ts +++ b/sdk/nodejs/network/v20190701/p2sVpnServerConfiguration.ts @@ -42,49 +42,13 @@ export class P2sVpnServerConfiguration extends pulumi.CustomResource { */ public /*out*/ readonly etag!: pulumi.Output; /** - * The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + * The name of the resource that is unique within a resource group. This name can be used to access the resource. */ public readonly name!: pulumi.Output; /** - * List of references to P2SVpnGateways. + * Properties of the P2SVpnServer configuration. */ - public /*out*/ readonly p2SVpnGateways!: pulumi.Output; - /** - * Radius client root certificate of P2SVpnServerConfiguration. - */ - public readonly p2SVpnServerConfigRadiusClientRootCertificates!: pulumi.Output; - /** - * Radius Server root certificate of P2SVpnServerConfiguration. - */ - public readonly p2SVpnServerConfigRadiusServerRootCertificates!: pulumi.Output; - /** - * VPN client revoked certificate of P2SVpnServerConfiguration. - */ - public readonly p2SVpnServerConfigVpnClientRevokedCertificates!: pulumi.Output; - /** - * VPN client root certificate of P2SVpnServerConfiguration. - */ - public readonly p2SVpnServerConfigVpnClientRootCertificates!: pulumi.Output; - /** - * The provisioning state of the P2S VPN server configuration resource. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerAddress!: pulumi.Output; - /** - * The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerSecret!: pulumi.Output; - /** - * VpnClientIpsecPolicies for P2SVpnServerConfiguration. - */ - public readonly vpnClientIpsecPolicies!: pulumi.Output; - /** - * VPN protocols for the P2SVpnServerConfiguration. - */ - public readonly vpnProtocols!: pulumi.Output; + public readonly properties!: pulumi.Output; /** * Create a P2sVpnServerConfiguration resource with the given unique name, arguments, and options. @@ -105,33 +69,15 @@ export class P2sVpnServerConfiguration extends pulumi.CustomResource { } resourceInputs["id"] = args ? args.id : undefined; resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["p2SVpnServerConfigRadiusClientRootCertificates"] = args ? args.p2SVpnServerConfigRadiusClientRootCertificates : undefined; - resourceInputs["p2SVpnServerConfigRadiusServerRootCertificates"] = args ? args.p2SVpnServerConfigRadiusServerRootCertificates : undefined; - resourceInputs["p2SVpnServerConfigVpnClientRevokedCertificates"] = args ? args.p2SVpnServerConfigVpnClientRevokedCertificates : undefined; - resourceInputs["p2SVpnServerConfigVpnClientRootCertificates"] = args ? args.p2SVpnServerConfigVpnClientRootCertificates : undefined; resourceInputs["p2SVpnServerConfigurationName"] = args ? args.p2SVpnServerConfigurationName : undefined; - resourceInputs["radiusServerAddress"] = args ? args.radiusServerAddress : undefined; - resourceInputs["radiusServerSecret"] = args ? args.radiusServerSecret : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["virtualWanName"] = args ? args.virtualWanName : undefined; - resourceInputs["vpnClientIpsecPolicies"] = args ? args.vpnClientIpsecPolicies : undefined; - resourceInputs["vpnProtocols"] = args ? args.vpnProtocols : undefined; resourceInputs["etag"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; } else { resourceInputs["etag"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["p2SVpnServerConfigRadiusClientRootCertificates"] = undefined /*out*/; - resourceInputs["p2SVpnServerConfigRadiusServerRootCertificates"] = undefined /*out*/; - resourceInputs["p2SVpnServerConfigVpnClientRevokedCertificates"] = undefined /*out*/; - resourceInputs["p2SVpnServerConfigVpnClientRootCertificates"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["radiusServerAddress"] = undefined /*out*/; - resourceInputs["radiusServerSecret"] = undefined /*out*/; - resourceInputs["vpnClientIpsecPolicies"] = undefined /*out*/; - resourceInputs["vpnProtocols"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:network:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20180801:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20181001:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20181101:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20181201:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20190201:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20190401:P2sVpnServerConfiguration" }, { type: "azure-native:network/v20190601:P2sVpnServerConfiguration" }] }; @@ -149,37 +95,17 @@ export interface P2sVpnServerConfigurationArgs { */ id?: pulumi.Input; /** - * The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + * The name of the resource that is unique within a resource group. This name can be used to access the resource. */ name?: pulumi.Input; - /** - * Radius client root certificate of P2SVpnServerConfiguration. - */ - p2SVpnServerConfigRadiusClientRootCertificates?: pulumi.Input[]>; - /** - * Radius Server root certificate of P2SVpnServerConfiguration. - */ - p2SVpnServerConfigRadiusServerRootCertificates?: pulumi.Input[]>; - /** - * VPN client revoked certificate of P2SVpnServerConfiguration. - */ - p2SVpnServerConfigVpnClientRevokedCertificates?: pulumi.Input[]>; - /** - * VPN client root certificate of P2SVpnServerConfiguration. - */ - p2SVpnServerConfigVpnClientRootCertificates?: pulumi.Input[]>; /** * The name of the P2SVpnServerConfiguration. */ p2SVpnServerConfigurationName?: pulumi.Input; /** - * The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - */ - radiusServerAddress?: pulumi.Input; - /** - * The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + * Properties of the P2SVpnServer configuration. */ - radiusServerSecret?: pulumi.Input; + properties?: pulumi.Input; /** * The resource group name of the VirtualWan. */ @@ -188,12 +114,4 @@ export interface P2sVpnServerConfigurationArgs { * The name of the VirtualWan. */ virtualWanName: pulumi.Input; - /** - * VpnClientIpsecPolicies for P2SVpnServerConfiguration. - */ - vpnClientIpsecPolicies?: pulumi.Input[]>; - /** - * VPN protocols for the P2SVpnServerConfiguration. - */ - vpnProtocols?: pulumi.Input[]>; } diff --git a/sdk/nodejs/network/v20230201/getVpnServerConfiguration.ts b/sdk/nodejs/network/v20230201/getVpnServerConfiguration.ts index a98bff4d657e..973c847a5038 100644 --- a/sdk/nodejs/network/v20230201/getVpnServerConfiguration.ts +++ b/sdk/nodejs/network/v20230201/getVpnServerConfiguration.ts @@ -34,14 +34,6 @@ export interface GetVpnServerConfigurationArgs { * VpnServerConfiguration Resource. */ export interface GetVpnServerConfigurationResult { - /** - * The set of aad vpn authentication parameters. - */ - readonly aadAuthenticationParameters?: outputs.network.v20230201.AadAuthenticationParametersResponse; - /** - * List of all VpnServerConfigurationPolicyGroups. - */ - readonly configurationPolicyGroups?: outputs.network.v20230201.VpnServerConfigurationPolicyGroupResponse[]; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -59,33 +51,9 @@ export interface GetVpnServerConfigurationResult { */ readonly name: string; /** - * List of references to P2SVpnGateways. - */ - readonly p2SVpnGateways: outputs.network.v20230201.P2SVpnGatewayResponse[]; - /** - * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - */ - readonly provisioningState: string; - /** - * Radius client root certificate of VpnServerConfiguration. - */ - readonly radiusClientRootCertificates?: outputs.network.v20230201.VpnServerConfigRadiusClientRootCertificateResponse[]; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerAddress?: string; - /** - * Radius Server root certificate of VpnServerConfiguration. - */ - readonly radiusServerRootCertificates?: outputs.network.v20230201.VpnServerConfigRadiusServerRootCertificateResponse[]; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerSecret?: string; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. + * Properties of the P2SVpnServer configuration. */ - readonly radiusServers?: outputs.network.v20230201.RadiusServerResponse[]; + readonly properties: outputs.network.v20230201.VpnServerConfigurationPropertiesResponse; /** * Resource tags. */ @@ -94,26 +62,6 @@ export interface GetVpnServerConfigurationResult { * Resource type. */ readonly type: string; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - readonly vpnAuthenticationTypes?: string[]; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - readonly vpnClientIpsecPolicies?: outputs.network.v20230201.IpsecPolicyResponse[]; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - readonly vpnClientRevokedCertificates?: outputs.network.v20230201.VpnServerConfigVpnClientRevokedCertificateResponse[]; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - readonly vpnClientRootCertificates?: outputs.network.v20230201.VpnServerConfigVpnClientRootCertificateResponse[]; - /** - * VPN protocols for the VpnServerConfiguration. - */ - readonly vpnProtocols?: string[]; } /** * Retrieves the details of a VpnServerConfiguration. diff --git a/sdk/nodejs/network/v20230201/vpnServerConfiguration.ts b/sdk/nodejs/network/v20230201/vpnServerConfiguration.ts index a78a34a00450..83f0b350eb1f 100644 --- a/sdk/nodejs/network/v20230201/vpnServerConfiguration.ts +++ b/sdk/nodejs/network/v20230201/vpnServerConfiguration.ts @@ -37,14 +37,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { return obj['__pulumiType'] === VpnServerConfiguration.__pulumiType; } - /** - * The set of aad vpn authentication parameters. - */ - public readonly aadAuthenticationParameters!: pulumi.Output; - /** - * List of all VpnServerConfigurationPolicyGroups. - */ - public readonly configurationPolicyGroups!: pulumi.Output; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -58,33 +50,9 @@ export class VpnServerConfiguration extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * List of references to P2SVpnGateways. - */ - public /*out*/ readonly p2SVpnGateways!: pulumi.Output; - /** - * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * Radius client root certificate of VpnServerConfiguration. - */ - public readonly radiusClientRootCertificates!: pulumi.Output; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerAddress!: pulumi.Output; - /** - * Radius Server root certificate of VpnServerConfiguration. + * Properties of the P2SVpnServer configuration. */ - public readonly radiusServerRootCertificates!: pulumi.Output; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerSecret!: pulumi.Output; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. - */ - public readonly radiusServers!: pulumi.Output; + public readonly properties!: pulumi.Output; /** * Resource tags. */ @@ -93,26 +61,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { * Resource type. */ public /*out*/ readonly type!: pulumi.Output; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - public readonly vpnAuthenticationTypes!: pulumi.Output; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - public readonly vpnClientIpsecPolicies!: pulumi.Output; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - public readonly vpnClientRevokedCertificates!: pulumi.Output; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - public readonly vpnClientRootCertificates!: pulumi.Output; - /** - * VPN protocols for the VpnServerConfiguration. - */ - public readonly vpnProtocols!: pulumi.Output; /** * Create a VpnServerConfiguration resource with the given unique name, arguments, and options. @@ -128,48 +76,22 @@ export class VpnServerConfiguration extends pulumi.CustomResource { if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - resourceInputs["aadAuthenticationParameters"] = args ? args.aadAuthenticationParameters : undefined; - resourceInputs["configurationPolicyGroups"] = args ? args.configurationPolicyGroups : undefined; resourceInputs["id"] = args ? args.id : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["radiusClientRootCertificates"] = args ? args.radiusClientRootCertificates : undefined; - resourceInputs["radiusServerAddress"] = args ? args.radiusServerAddress : undefined; - resourceInputs["radiusServerRootCertificates"] = args ? args.radiusServerRootCertificates : undefined; - resourceInputs["radiusServerSecret"] = args ? args.radiusServerSecret : undefined; - resourceInputs["radiusServers"] = args ? args.radiusServers : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["vpnAuthenticationTypes"] = args ? args.vpnAuthenticationTypes : undefined; - resourceInputs["vpnClientIpsecPolicies"] = args ? args.vpnClientIpsecPolicies : undefined; - resourceInputs["vpnClientRevokedCertificates"] = args ? args.vpnClientRevokedCertificates : undefined; - resourceInputs["vpnClientRootCertificates"] = args ? args.vpnClientRootCertificates : undefined; - resourceInputs["vpnProtocols"] = args ? args.vpnProtocols : undefined; resourceInputs["vpnServerConfigurationName"] = args ? args.vpnServerConfigurationName : undefined; resourceInputs["etag"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { - resourceInputs["aadAuthenticationParameters"] = undefined /*out*/; - resourceInputs["configurationPolicyGroups"] = undefined /*out*/; resourceInputs["etag"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["radiusClientRootCertificates"] = undefined /*out*/; - resourceInputs["radiusServerAddress"] = undefined /*out*/; - resourceInputs["radiusServerRootCertificates"] = undefined /*out*/; - resourceInputs["radiusServerSecret"] = undefined /*out*/; - resourceInputs["radiusServers"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["vpnAuthenticationTypes"] = undefined /*out*/; - resourceInputs["vpnClientIpsecPolicies"] = undefined /*out*/; - resourceInputs["vpnClientRevokedCertificates"] = undefined /*out*/; - resourceInputs["vpnClientRootCertificates"] = undefined /*out*/; - resourceInputs["vpnProtocols"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:network:VpnServerConfiguration" }, { type: "azure-native:network/v20190801:VpnServerConfiguration" }, { type: "azure-native:network/v20190901:VpnServerConfiguration" }, { type: "azure-native:network/v20191101:VpnServerConfiguration" }, { type: "azure-native:network/v20191201:VpnServerConfiguration" }, { type: "azure-native:network/v20200301:VpnServerConfiguration" }, { type: "azure-native:network/v20200401:VpnServerConfiguration" }, { type: "azure-native:network/v20200501:VpnServerConfiguration" }, { type: "azure-native:network/v20200601:VpnServerConfiguration" }, { type: "azure-native:network/v20200701:VpnServerConfiguration" }, { type: "azure-native:network/v20200801:VpnServerConfiguration" }, { type: "azure-native:network/v20201101:VpnServerConfiguration" }, { type: "azure-native:network/v20210201:VpnServerConfiguration" }, { type: "azure-native:network/v20210301:VpnServerConfiguration" }, { type: "azure-native:network/v20210501:VpnServerConfiguration" }, { type: "azure-native:network/v20210801:VpnServerConfiguration" }, { type: "azure-native:network/v20220101:VpnServerConfiguration" }, { type: "azure-native:network/v20220501:VpnServerConfiguration" }, { type: "azure-native:network/v20220701:VpnServerConfiguration" }, { type: "azure-native:network/v20220901:VpnServerConfiguration" }, { type: "azure-native:network/v20221101:VpnServerConfiguration" }, { type: "azure-native:network/v20230401:VpnServerConfiguration" }, { type: "azure-native:network/v20230501:VpnServerConfiguration" }, { type: "azure-native:network/v20230601:VpnServerConfiguration" }, { type: "azure-native:network/v20230901:VpnServerConfiguration" }] }; @@ -182,15 +104,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { * The set of arguments for constructing a VpnServerConfiguration resource. */ export interface VpnServerConfigurationArgs { - /** - * The set of aad vpn authentication parameters. - */ - aadAuthenticationParameters?: pulumi.Input; - /** - * List of all VpnServerConfigurationPolicyGroups. - * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - */ - configurationPolicyGroups?: pulumi.Input[]>; /** * Resource ID. */ @@ -200,29 +113,13 @@ export interface VpnServerConfigurationArgs { */ location?: pulumi.Input; /** - * The name of the VpnServerConfiguration that is unique within a resource group. + * The name of the resource that is unique within a resource group. This name can be used to access the resource. */ name?: pulumi.Input; /** - * Radius client root certificate of VpnServerConfiguration. - */ - radiusClientRootCertificates?: pulumi.Input[]>; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - radiusServerAddress?: pulumi.Input; - /** - * Radius Server root certificate of VpnServerConfiguration. - */ - radiusServerRootCertificates?: pulumi.Input[]>; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + * Properties of the P2SVpnServer configuration. */ - radiusServerSecret?: pulumi.Input; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. - */ - radiusServers?: pulumi.Input[]>; + properties?: pulumi.Input; /** * The resource group name of the VpnServerConfiguration. */ @@ -231,26 +128,6 @@ export interface VpnServerConfigurationArgs { * Resource tags. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - vpnAuthenticationTypes?: pulumi.Input[]>; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - vpnClientIpsecPolicies?: pulumi.Input[]>; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - vpnClientRevokedCertificates?: pulumi.Input[]>; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - vpnClientRootCertificates?: pulumi.Input[]>; - /** - * VPN protocols for the VpnServerConfiguration. - */ - vpnProtocols?: pulumi.Input[]>; /** * The name of the VpnServerConfiguration being created or updated. */ diff --git a/sdk/nodejs/network/v20230401/getVpnServerConfiguration.ts b/sdk/nodejs/network/v20230401/getVpnServerConfiguration.ts index 2aa3df647023..6734316d6d60 100644 --- a/sdk/nodejs/network/v20230401/getVpnServerConfiguration.ts +++ b/sdk/nodejs/network/v20230401/getVpnServerConfiguration.ts @@ -34,14 +34,6 @@ export interface GetVpnServerConfigurationArgs { * VpnServerConfiguration Resource. */ export interface GetVpnServerConfigurationResult { - /** - * The set of aad vpn authentication parameters. - */ - readonly aadAuthenticationParameters?: outputs.network.v20230401.AadAuthenticationParametersResponse; - /** - * List of all VpnServerConfigurationPolicyGroups. - */ - readonly configurationPolicyGroups?: outputs.network.v20230401.VpnServerConfigurationPolicyGroupResponse[]; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -59,33 +51,9 @@ export interface GetVpnServerConfigurationResult { */ readonly name: string; /** - * List of references to P2SVpnGateways. - */ - readonly p2SVpnGateways: outputs.network.v20230401.P2SVpnGatewayResponse[]; - /** - * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - */ - readonly provisioningState: string; - /** - * Radius client root certificate of VpnServerConfiguration. - */ - readonly radiusClientRootCertificates?: outputs.network.v20230401.VpnServerConfigRadiusClientRootCertificateResponse[]; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerAddress?: string; - /** - * Radius Server root certificate of VpnServerConfiguration. - */ - readonly radiusServerRootCertificates?: outputs.network.v20230401.VpnServerConfigRadiusServerRootCertificateResponse[]; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerSecret?: string; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. + * Properties of the P2SVpnServer configuration. */ - readonly radiusServers?: outputs.network.v20230401.RadiusServerResponse[]; + readonly properties: outputs.network.v20230401.VpnServerConfigurationPropertiesResponse; /** * Resource tags. */ @@ -94,26 +62,6 @@ export interface GetVpnServerConfigurationResult { * Resource type. */ readonly type: string; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - readonly vpnAuthenticationTypes?: string[]; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - readonly vpnClientIpsecPolicies?: outputs.network.v20230401.IpsecPolicyResponse[]; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - readonly vpnClientRevokedCertificates?: outputs.network.v20230401.VpnServerConfigVpnClientRevokedCertificateResponse[]; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - readonly vpnClientRootCertificates?: outputs.network.v20230401.VpnServerConfigVpnClientRootCertificateResponse[]; - /** - * VPN protocols for the VpnServerConfiguration. - */ - readonly vpnProtocols?: string[]; } /** * Retrieves the details of a VpnServerConfiguration. diff --git a/sdk/nodejs/network/v20230401/vpnServerConfiguration.ts b/sdk/nodejs/network/v20230401/vpnServerConfiguration.ts index 805610341550..7a7372b6451d 100644 --- a/sdk/nodejs/network/v20230401/vpnServerConfiguration.ts +++ b/sdk/nodejs/network/v20230401/vpnServerConfiguration.ts @@ -37,14 +37,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { return obj['__pulumiType'] === VpnServerConfiguration.__pulumiType; } - /** - * The set of aad vpn authentication parameters. - */ - public readonly aadAuthenticationParameters!: pulumi.Output; - /** - * List of all VpnServerConfigurationPolicyGroups. - */ - public readonly configurationPolicyGroups!: pulumi.Output; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -58,33 +50,9 @@ export class VpnServerConfiguration extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * List of references to P2SVpnGateways. - */ - public /*out*/ readonly p2SVpnGateways!: pulumi.Output; - /** - * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * Radius client root certificate of VpnServerConfiguration. - */ - public readonly radiusClientRootCertificates!: pulumi.Output; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerAddress!: pulumi.Output; - /** - * Radius Server root certificate of VpnServerConfiguration. + * Properties of the P2SVpnServer configuration. */ - public readonly radiusServerRootCertificates!: pulumi.Output; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerSecret!: pulumi.Output; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. - */ - public readonly radiusServers!: pulumi.Output; + public readonly properties!: pulumi.Output; /** * Resource tags. */ @@ -93,26 +61,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { * Resource type. */ public /*out*/ readonly type!: pulumi.Output; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - public readonly vpnAuthenticationTypes!: pulumi.Output; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - public readonly vpnClientIpsecPolicies!: pulumi.Output; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - public readonly vpnClientRevokedCertificates!: pulumi.Output; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - public readonly vpnClientRootCertificates!: pulumi.Output; - /** - * VPN protocols for the VpnServerConfiguration. - */ - public readonly vpnProtocols!: pulumi.Output; /** * Create a VpnServerConfiguration resource with the given unique name, arguments, and options. @@ -128,48 +76,22 @@ export class VpnServerConfiguration extends pulumi.CustomResource { if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - resourceInputs["aadAuthenticationParameters"] = args ? args.aadAuthenticationParameters : undefined; - resourceInputs["configurationPolicyGroups"] = args ? args.configurationPolicyGroups : undefined; resourceInputs["id"] = args ? args.id : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["radiusClientRootCertificates"] = args ? args.radiusClientRootCertificates : undefined; - resourceInputs["radiusServerAddress"] = args ? args.radiusServerAddress : undefined; - resourceInputs["radiusServerRootCertificates"] = args ? args.radiusServerRootCertificates : undefined; - resourceInputs["radiusServerSecret"] = args ? args.radiusServerSecret : undefined; - resourceInputs["radiusServers"] = args ? args.radiusServers : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["vpnAuthenticationTypes"] = args ? args.vpnAuthenticationTypes : undefined; - resourceInputs["vpnClientIpsecPolicies"] = args ? args.vpnClientIpsecPolicies : undefined; - resourceInputs["vpnClientRevokedCertificates"] = args ? args.vpnClientRevokedCertificates : undefined; - resourceInputs["vpnClientRootCertificates"] = args ? args.vpnClientRootCertificates : undefined; - resourceInputs["vpnProtocols"] = args ? args.vpnProtocols : undefined; resourceInputs["vpnServerConfigurationName"] = args ? args.vpnServerConfigurationName : undefined; resourceInputs["etag"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { - resourceInputs["aadAuthenticationParameters"] = undefined /*out*/; - resourceInputs["configurationPolicyGroups"] = undefined /*out*/; resourceInputs["etag"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["radiusClientRootCertificates"] = undefined /*out*/; - resourceInputs["radiusServerAddress"] = undefined /*out*/; - resourceInputs["radiusServerRootCertificates"] = undefined /*out*/; - resourceInputs["radiusServerSecret"] = undefined /*out*/; - resourceInputs["radiusServers"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["vpnAuthenticationTypes"] = undefined /*out*/; - resourceInputs["vpnClientIpsecPolicies"] = undefined /*out*/; - resourceInputs["vpnClientRevokedCertificates"] = undefined /*out*/; - resourceInputs["vpnClientRootCertificates"] = undefined /*out*/; - resourceInputs["vpnProtocols"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:network:VpnServerConfiguration" }, { type: "azure-native:network/v20190801:VpnServerConfiguration" }, { type: "azure-native:network/v20190901:VpnServerConfiguration" }, { type: "azure-native:network/v20191101:VpnServerConfiguration" }, { type: "azure-native:network/v20191201:VpnServerConfiguration" }, { type: "azure-native:network/v20200301:VpnServerConfiguration" }, { type: "azure-native:network/v20200401:VpnServerConfiguration" }, { type: "azure-native:network/v20200501:VpnServerConfiguration" }, { type: "azure-native:network/v20200601:VpnServerConfiguration" }, { type: "azure-native:network/v20200701:VpnServerConfiguration" }, { type: "azure-native:network/v20200801:VpnServerConfiguration" }, { type: "azure-native:network/v20201101:VpnServerConfiguration" }, { type: "azure-native:network/v20210201:VpnServerConfiguration" }, { type: "azure-native:network/v20210301:VpnServerConfiguration" }, { type: "azure-native:network/v20210501:VpnServerConfiguration" }, { type: "azure-native:network/v20210801:VpnServerConfiguration" }, { type: "azure-native:network/v20220101:VpnServerConfiguration" }, { type: "azure-native:network/v20220501:VpnServerConfiguration" }, { type: "azure-native:network/v20220701:VpnServerConfiguration" }, { type: "azure-native:network/v20220901:VpnServerConfiguration" }, { type: "azure-native:network/v20221101:VpnServerConfiguration" }, { type: "azure-native:network/v20230201:VpnServerConfiguration" }, { type: "azure-native:network/v20230501:VpnServerConfiguration" }, { type: "azure-native:network/v20230601:VpnServerConfiguration" }, { type: "azure-native:network/v20230901:VpnServerConfiguration" }] }; @@ -182,15 +104,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { * The set of arguments for constructing a VpnServerConfiguration resource. */ export interface VpnServerConfigurationArgs { - /** - * The set of aad vpn authentication parameters. - */ - aadAuthenticationParameters?: pulumi.Input; - /** - * List of all VpnServerConfigurationPolicyGroups. - * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - */ - configurationPolicyGroups?: pulumi.Input[]>; /** * Resource ID. */ @@ -200,29 +113,13 @@ export interface VpnServerConfigurationArgs { */ location?: pulumi.Input; /** - * The name of the VpnServerConfiguration that is unique within a resource group. + * The name of the resource that is unique within a resource group. This name can be used to access the resource. */ name?: pulumi.Input; /** - * Radius client root certificate of VpnServerConfiguration. - */ - radiusClientRootCertificates?: pulumi.Input[]>; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - radiusServerAddress?: pulumi.Input; - /** - * Radius Server root certificate of VpnServerConfiguration. - */ - radiusServerRootCertificates?: pulumi.Input[]>; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + * Properties of the P2SVpnServer configuration. */ - radiusServerSecret?: pulumi.Input; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. - */ - radiusServers?: pulumi.Input[]>; + properties?: pulumi.Input; /** * The resource group name of the VpnServerConfiguration. */ @@ -231,26 +128,6 @@ export interface VpnServerConfigurationArgs { * Resource tags. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - vpnAuthenticationTypes?: pulumi.Input[]>; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - vpnClientIpsecPolicies?: pulumi.Input[]>; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - vpnClientRevokedCertificates?: pulumi.Input[]>; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - vpnClientRootCertificates?: pulumi.Input[]>; - /** - * VPN protocols for the VpnServerConfiguration. - */ - vpnProtocols?: pulumi.Input[]>; /** * The name of the VpnServerConfiguration being created or updated. */ diff --git a/sdk/nodejs/network/v20230501/getVpnServerConfiguration.ts b/sdk/nodejs/network/v20230501/getVpnServerConfiguration.ts index 0028d890e515..79670a6b7258 100644 --- a/sdk/nodejs/network/v20230501/getVpnServerConfiguration.ts +++ b/sdk/nodejs/network/v20230501/getVpnServerConfiguration.ts @@ -34,14 +34,6 @@ export interface GetVpnServerConfigurationArgs { * VpnServerConfiguration Resource. */ export interface GetVpnServerConfigurationResult { - /** - * The set of aad vpn authentication parameters. - */ - readonly aadAuthenticationParameters?: outputs.network.v20230501.AadAuthenticationParametersResponse; - /** - * List of all VpnServerConfigurationPolicyGroups. - */ - readonly configurationPolicyGroups?: outputs.network.v20230501.VpnServerConfigurationPolicyGroupResponse[]; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -59,33 +51,9 @@ export interface GetVpnServerConfigurationResult { */ readonly name: string; /** - * List of references to P2SVpnGateways. - */ - readonly p2SVpnGateways: outputs.network.v20230501.P2SVpnGatewayResponse[]; - /** - * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - */ - readonly provisioningState: string; - /** - * Radius client root certificate of VpnServerConfiguration. - */ - readonly radiusClientRootCertificates?: outputs.network.v20230501.VpnServerConfigRadiusClientRootCertificateResponse[]; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerAddress?: string; - /** - * Radius Server root certificate of VpnServerConfiguration. - */ - readonly radiusServerRootCertificates?: outputs.network.v20230501.VpnServerConfigRadiusServerRootCertificateResponse[]; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerSecret?: string; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. + * Properties of the P2SVpnServer configuration. */ - readonly radiusServers?: outputs.network.v20230501.RadiusServerResponse[]; + readonly properties: outputs.network.v20230501.VpnServerConfigurationPropertiesResponse; /** * Resource tags. */ @@ -94,26 +62,6 @@ export interface GetVpnServerConfigurationResult { * Resource type. */ readonly type: string; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - readonly vpnAuthenticationTypes?: string[]; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - readonly vpnClientIpsecPolicies?: outputs.network.v20230501.IpsecPolicyResponse[]; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - readonly vpnClientRevokedCertificates?: outputs.network.v20230501.VpnServerConfigVpnClientRevokedCertificateResponse[]; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - readonly vpnClientRootCertificates?: outputs.network.v20230501.VpnServerConfigVpnClientRootCertificateResponse[]; - /** - * VPN protocols for the VpnServerConfiguration. - */ - readonly vpnProtocols?: string[]; } /** * Retrieves the details of a VpnServerConfiguration. diff --git a/sdk/nodejs/network/v20230501/vpnServerConfiguration.ts b/sdk/nodejs/network/v20230501/vpnServerConfiguration.ts index ba5cff5f38cc..776759fbad04 100644 --- a/sdk/nodejs/network/v20230501/vpnServerConfiguration.ts +++ b/sdk/nodejs/network/v20230501/vpnServerConfiguration.ts @@ -37,14 +37,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { return obj['__pulumiType'] === VpnServerConfiguration.__pulumiType; } - /** - * The set of aad vpn authentication parameters. - */ - public readonly aadAuthenticationParameters!: pulumi.Output; - /** - * List of all VpnServerConfigurationPolicyGroups. - */ - public readonly configurationPolicyGroups!: pulumi.Output; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -58,33 +50,9 @@ export class VpnServerConfiguration extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * List of references to P2SVpnGateways. - */ - public /*out*/ readonly p2SVpnGateways!: pulumi.Output; - /** - * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * Radius client root certificate of VpnServerConfiguration. - */ - public readonly radiusClientRootCertificates!: pulumi.Output; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerAddress!: pulumi.Output; - /** - * Radius Server root certificate of VpnServerConfiguration. + * Properties of the P2SVpnServer configuration. */ - public readonly radiusServerRootCertificates!: pulumi.Output; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerSecret!: pulumi.Output; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. - */ - public readonly radiusServers!: pulumi.Output; + public readonly properties!: pulumi.Output; /** * Resource tags. */ @@ -93,26 +61,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { * Resource type. */ public /*out*/ readonly type!: pulumi.Output; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - public readonly vpnAuthenticationTypes!: pulumi.Output; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - public readonly vpnClientIpsecPolicies!: pulumi.Output; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - public readonly vpnClientRevokedCertificates!: pulumi.Output; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - public readonly vpnClientRootCertificates!: pulumi.Output; - /** - * VPN protocols for the VpnServerConfiguration. - */ - public readonly vpnProtocols!: pulumi.Output; /** * Create a VpnServerConfiguration resource with the given unique name, arguments, and options. @@ -128,48 +76,22 @@ export class VpnServerConfiguration extends pulumi.CustomResource { if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - resourceInputs["aadAuthenticationParameters"] = args ? args.aadAuthenticationParameters : undefined; - resourceInputs["configurationPolicyGroups"] = args ? args.configurationPolicyGroups : undefined; resourceInputs["id"] = args ? args.id : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["radiusClientRootCertificates"] = args ? args.radiusClientRootCertificates : undefined; - resourceInputs["radiusServerAddress"] = args ? args.radiusServerAddress : undefined; - resourceInputs["radiusServerRootCertificates"] = args ? args.radiusServerRootCertificates : undefined; - resourceInputs["radiusServerSecret"] = args ? args.radiusServerSecret : undefined; - resourceInputs["radiusServers"] = args ? args.radiusServers : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["vpnAuthenticationTypes"] = args ? args.vpnAuthenticationTypes : undefined; - resourceInputs["vpnClientIpsecPolicies"] = args ? args.vpnClientIpsecPolicies : undefined; - resourceInputs["vpnClientRevokedCertificates"] = args ? args.vpnClientRevokedCertificates : undefined; - resourceInputs["vpnClientRootCertificates"] = args ? args.vpnClientRootCertificates : undefined; - resourceInputs["vpnProtocols"] = args ? args.vpnProtocols : undefined; resourceInputs["vpnServerConfigurationName"] = args ? args.vpnServerConfigurationName : undefined; resourceInputs["etag"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { - resourceInputs["aadAuthenticationParameters"] = undefined /*out*/; - resourceInputs["configurationPolicyGroups"] = undefined /*out*/; resourceInputs["etag"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["radiusClientRootCertificates"] = undefined /*out*/; - resourceInputs["radiusServerAddress"] = undefined /*out*/; - resourceInputs["radiusServerRootCertificates"] = undefined /*out*/; - resourceInputs["radiusServerSecret"] = undefined /*out*/; - resourceInputs["radiusServers"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["vpnAuthenticationTypes"] = undefined /*out*/; - resourceInputs["vpnClientIpsecPolicies"] = undefined /*out*/; - resourceInputs["vpnClientRevokedCertificates"] = undefined /*out*/; - resourceInputs["vpnClientRootCertificates"] = undefined /*out*/; - resourceInputs["vpnProtocols"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:network:VpnServerConfiguration" }, { type: "azure-native:network/v20190801:VpnServerConfiguration" }, { type: "azure-native:network/v20190901:VpnServerConfiguration" }, { type: "azure-native:network/v20191101:VpnServerConfiguration" }, { type: "azure-native:network/v20191201:VpnServerConfiguration" }, { type: "azure-native:network/v20200301:VpnServerConfiguration" }, { type: "azure-native:network/v20200401:VpnServerConfiguration" }, { type: "azure-native:network/v20200501:VpnServerConfiguration" }, { type: "azure-native:network/v20200601:VpnServerConfiguration" }, { type: "azure-native:network/v20200701:VpnServerConfiguration" }, { type: "azure-native:network/v20200801:VpnServerConfiguration" }, { type: "azure-native:network/v20201101:VpnServerConfiguration" }, { type: "azure-native:network/v20210201:VpnServerConfiguration" }, { type: "azure-native:network/v20210301:VpnServerConfiguration" }, { type: "azure-native:network/v20210501:VpnServerConfiguration" }, { type: "azure-native:network/v20210801:VpnServerConfiguration" }, { type: "azure-native:network/v20220101:VpnServerConfiguration" }, { type: "azure-native:network/v20220501:VpnServerConfiguration" }, { type: "azure-native:network/v20220701:VpnServerConfiguration" }, { type: "azure-native:network/v20220901:VpnServerConfiguration" }, { type: "azure-native:network/v20221101:VpnServerConfiguration" }, { type: "azure-native:network/v20230201:VpnServerConfiguration" }, { type: "azure-native:network/v20230401:VpnServerConfiguration" }, { type: "azure-native:network/v20230601:VpnServerConfiguration" }, { type: "azure-native:network/v20230901:VpnServerConfiguration" }] }; @@ -182,15 +104,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { * The set of arguments for constructing a VpnServerConfiguration resource. */ export interface VpnServerConfigurationArgs { - /** - * The set of aad vpn authentication parameters. - */ - aadAuthenticationParameters?: pulumi.Input; - /** - * List of all VpnServerConfigurationPolicyGroups. - * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - */ - configurationPolicyGroups?: pulumi.Input[]>; /** * Resource ID. */ @@ -200,29 +113,13 @@ export interface VpnServerConfigurationArgs { */ location?: pulumi.Input; /** - * The name of the VpnServerConfiguration that is unique within a resource group. + * The name of the resource that is unique within a resource group. This name can be used to access the resource. */ name?: pulumi.Input; /** - * Radius client root certificate of VpnServerConfiguration. - */ - radiusClientRootCertificates?: pulumi.Input[]>; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - radiusServerAddress?: pulumi.Input; - /** - * Radius Server root certificate of VpnServerConfiguration. - */ - radiusServerRootCertificates?: pulumi.Input[]>; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + * Properties of the P2SVpnServer configuration. */ - radiusServerSecret?: pulumi.Input; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. - */ - radiusServers?: pulumi.Input[]>; + properties?: pulumi.Input; /** * The resource group name of the VpnServerConfiguration. */ @@ -231,26 +128,6 @@ export interface VpnServerConfigurationArgs { * Resource tags. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - vpnAuthenticationTypes?: pulumi.Input[]>; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - vpnClientIpsecPolicies?: pulumi.Input[]>; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - vpnClientRevokedCertificates?: pulumi.Input[]>; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - vpnClientRootCertificates?: pulumi.Input[]>; - /** - * VPN protocols for the VpnServerConfiguration. - */ - vpnProtocols?: pulumi.Input[]>; /** * The name of the VpnServerConfiguration being created or updated. */ diff --git a/sdk/nodejs/network/v20230601/getNetworkVirtualApplianceConnection.ts b/sdk/nodejs/network/v20230601/getNetworkVirtualApplianceConnection.ts index 41d2d15f1f0b..d10032c7f4eb 100644 --- a/sdk/nodejs/network/v20230601/getNetworkVirtualApplianceConnection.ts +++ b/sdk/nodejs/network/v20230601/getNetworkVirtualApplianceConnection.ts @@ -39,18 +39,6 @@ export interface GetNetworkVirtualApplianceConnectionArgs { * NetworkVirtualApplianceConnection resource. */ export interface GetNetworkVirtualApplianceConnectionResult { - /** - * Network Virtual Appliance ASN. - */ - readonly asn?: number; - /** - * List of bgpPeerAddresses for the NVA instances - */ - readonly bgpPeerAddress?: string[]; - /** - * Enable internet security. - */ - readonly enableInternetSecurity?: boolean; /** * Resource ID. */ @@ -60,17 +48,9 @@ export interface GetNetworkVirtualApplianceConnectionResult { */ readonly name?: string; /** - * The provisioning state of the NetworkVirtualApplianceConnection resource. - */ - readonly provisioningState: string; - /** - * The Routing Configuration indicating the associated and propagated route tables on this connection. - */ - readonly routingConfiguration?: outputs.network.v20230601.RoutingConfigurationResponse; - /** - * Unique identifier for the connection. + * Properties of the express route connection. */ - readonly tunnelIdentifier?: number; + readonly properties: outputs.network.v20230601.NetworkVirtualApplianceConnectionPropertiesResponse; } /** * Retrieves the details of specified NVA connection. diff --git a/sdk/nodejs/network/v20230601/getVpnServerConfiguration.ts b/sdk/nodejs/network/v20230601/getVpnServerConfiguration.ts index fd20a25ae378..b865f8e1d148 100644 --- a/sdk/nodejs/network/v20230601/getVpnServerConfiguration.ts +++ b/sdk/nodejs/network/v20230601/getVpnServerConfiguration.ts @@ -34,14 +34,6 @@ export interface GetVpnServerConfigurationArgs { * VpnServerConfiguration Resource. */ export interface GetVpnServerConfigurationResult { - /** - * The set of aad vpn authentication parameters. - */ - readonly aadAuthenticationParameters?: outputs.network.v20230601.AadAuthenticationParametersResponse; - /** - * List of all VpnServerConfigurationPolicyGroups. - */ - readonly configurationPolicyGroups?: outputs.network.v20230601.VpnServerConfigurationPolicyGroupResponse[]; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -59,33 +51,9 @@ export interface GetVpnServerConfigurationResult { */ readonly name: string; /** - * List of references to P2SVpnGateways. - */ - readonly p2SVpnGateways: outputs.network.v20230601.P2SVpnGatewayResponse[]; - /** - * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - */ - readonly provisioningState: string; - /** - * Radius client root certificate of VpnServerConfiguration. - */ - readonly radiusClientRootCertificates?: outputs.network.v20230601.VpnServerConfigRadiusClientRootCertificateResponse[]; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerAddress?: string; - /** - * Radius Server root certificate of VpnServerConfiguration. - */ - readonly radiusServerRootCertificates?: outputs.network.v20230601.VpnServerConfigRadiusServerRootCertificateResponse[]; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerSecret?: string; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. + * Properties of the P2SVpnServer configuration. */ - readonly radiusServers?: outputs.network.v20230601.RadiusServerResponse[]; + readonly properties: outputs.network.v20230601.VpnServerConfigurationPropertiesResponse; /** * Resource tags. */ @@ -94,26 +62,6 @@ export interface GetVpnServerConfigurationResult { * Resource type. */ readonly type: string; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - readonly vpnAuthenticationTypes?: string[]; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - readonly vpnClientIpsecPolicies?: outputs.network.v20230601.IpsecPolicyResponse[]; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - readonly vpnClientRevokedCertificates?: outputs.network.v20230601.VpnServerConfigVpnClientRevokedCertificateResponse[]; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - readonly vpnClientRootCertificates?: outputs.network.v20230601.VpnServerConfigVpnClientRootCertificateResponse[]; - /** - * VPN protocols for the VpnServerConfiguration. - */ - readonly vpnProtocols?: string[]; } /** * Retrieves the details of a VpnServerConfiguration. diff --git a/sdk/nodejs/network/v20230601/networkVirtualApplianceConnection.ts b/sdk/nodejs/network/v20230601/networkVirtualApplianceConnection.ts index 6875675c7c29..19ffb3f1638f 100644 --- a/sdk/nodejs/network/v20230601/networkVirtualApplianceConnection.ts +++ b/sdk/nodejs/network/v20230601/networkVirtualApplianceConnection.ts @@ -37,34 +37,14 @@ export class NetworkVirtualApplianceConnection extends pulumi.CustomResource { return obj['__pulumiType'] === NetworkVirtualApplianceConnection.__pulumiType; } - /** - * Network Virtual Appliance ASN. - */ - public readonly asn!: pulumi.Output; - /** - * List of bgpPeerAddresses for the NVA instances - */ - public readonly bgpPeerAddress!: pulumi.Output; - /** - * Enable internet security. - */ - public readonly enableInternetSecurity!: pulumi.Output; /** * The name of the resource. */ public readonly name!: pulumi.Output; /** - * The provisioning state of the NetworkVirtualApplianceConnection resource. + * Properties of the express route connection. */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * The Routing Configuration indicating the associated and propagated route tables on this connection. - */ - public readonly routingConfiguration!: pulumi.Output; - /** - * Unique identifier for the connection. - */ - public readonly tunnelIdentifier!: pulumi.Output; + public readonly properties!: pulumi.Output; /** * Create a NetworkVirtualApplianceConnection resource with the given unique name, arguments, and options. @@ -83,25 +63,15 @@ export class NetworkVirtualApplianceConnection extends pulumi.CustomResource { if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - resourceInputs["asn"] = args ? args.asn : undefined; - resourceInputs["bgpPeerAddress"] = args ? args.bgpPeerAddress : undefined; resourceInputs["connectionName"] = args ? args.connectionName : undefined; - resourceInputs["enableInternetSecurity"] = args ? args.enableInternetSecurity : undefined; resourceInputs["id"] = args ? args.id : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["networkVirtualApplianceName"] = args ? args.networkVirtualApplianceName : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["routingConfiguration"] = args ? args.routingConfiguration : undefined; - resourceInputs["tunnelIdentifier"] = args ? args.tunnelIdentifier : undefined; - resourceInputs["provisioningState"] = undefined /*out*/; } else { - resourceInputs["asn"] = undefined /*out*/; - resourceInputs["bgpPeerAddress"] = undefined /*out*/; - resourceInputs["enableInternetSecurity"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["routingConfiguration"] = undefined /*out*/; - resourceInputs["tunnelIdentifier"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:network/v20230901:NetworkVirtualApplianceConnection" }] }; @@ -114,22 +84,10 @@ export class NetworkVirtualApplianceConnection extends pulumi.CustomResource { * The set of arguments for constructing a NetworkVirtualApplianceConnection resource. */ export interface NetworkVirtualApplianceConnectionArgs { - /** - * Network Virtual Appliance ASN. - */ - asn?: pulumi.Input; - /** - * List of bgpPeerAddresses for the NVA instances - */ - bgpPeerAddress?: pulumi.Input[]>; /** * The name of the NVA connection. */ connectionName?: pulumi.Input; - /** - * Enable internet security. - */ - enableInternetSecurity?: pulumi.Input; /** * Resource ID. */ @@ -143,15 +101,11 @@ export interface NetworkVirtualApplianceConnectionArgs { */ networkVirtualApplianceName: pulumi.Input; /** - * The name of the resource group. + * Properties of the express route connection. */ - resourceGroupName: pulumi.Input; - /** - * The Routing Configuration indicating the associated and propagated route tables on this connection. - */ - routingConfiguration?: pulumi.Input; + properties?: pulumi.Input; /** - * Unique identifier for the connection. + * The name of the resource group. */ - tunnelIdentifier?: pulumi.Input; + resourceGroupName: pulumi.Input; } diff --git a/sdk/nodejs/network/v20230601/vpnServerConfiguration.ts b/sdk/nodejs/network/v20230601/vpnServerConfiguration.ts index 6b0928774b7b..07b9be73b92e 100644 --- a/sdk/nodejs/network/v20230601/vpnServerConfiguration.ts +++ b/sdk/nodejs/network/v20230601/vpnServerConfiguration.ts @@ -37,14 +37,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { return obj['__pulumiType'] === VpnServerConfiguration.__pulumiType; } - /** - * The set of aad vpn authentication parameters. - */ - public readonly aadAuthenticationParameters!: pulumi.Output; - /** - * List of all VpnServerConfigurationPolicyGroups. - */ - public readonly configurationPolicyGroups!: pulumi.Output; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -58,33 +50,9 @@ export class VpnServerConfiguration extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * List of references to P2SVpnGateways. - */ - public /*out*/ readonly p2SVpnGateways!: pulumi.Output; - /** - * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * Radius client root certificate of VpnServerConfiguration. - */ - public readonly radiusClientRootCertificates!: pulumi.Output; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerAddress!: pulumi.Output; - /** - * Radius Server root certificate of VpnServerConfiguration. + * Properties of the P2SVpnServer configuration. */ - public readonly radiusServerRootCertificates!: pulumi.Output; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerSecret!: pulumi.Output; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. - */ - public readonly radiusServers!: pulumi.Output; + public readonly properties!: pulumi.Output; /** * Resource tags. */ @@ -93,26 +61,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { * Resource type. */ public /*out*/ readonly type!: pulumi.Output; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - public readonly vpnAuthenticationTypes!: pulumi.Output; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - public readonly vpnClientIpsecPolicies!: pulumi.Output; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - public readonly vpnClientRevokedCertificates!: pulumi.Output; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - public readonly vpnClientRootCertificates!: pulumi.Output; - /** - * VPN protocols for the VpnServerConfiguration. - */ - public readonly vpnProtocols!: pulumi.Output; /** * Create a VpnServerConfiguration resource with the given unique name, arguments, and options. @@ -128,48 +76,22 @@ export class VpnServerConfiguration extends pulumi.CustomResource { if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - resourceInputs["aadAuthenticationParameters"] = args ? args.aadAuthenticationParameters : undefined; - resourceInputs["configurationPolicyGroups"] = args ? args.configurationPolicyGroups : undefined; resourceInputs["id"] = args ? args.id : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["radiusClientRootCertificates"] = args ? args.radiusClientRootCertificates : undefined; - resourceInputs["radiusServerAddress"] = args ? args.radiusServerAddress : undefined; - resourceInputs["radiusServerRootCertificates"] = args ? args.radiusServerRootCertificates : undefined; - resourceInputs["radiusServerSecret"] = args ? args.radiusServerSecret : undefined; - resourceInputs["radiusServers"] = args ? args.radiusServers : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["vpnAuthenticationTypes"] = args ? args.vpnAuthenticationTypes : undefined; - resourceInputs["vpnClientIpsecPolicies"] = args ? args.vpnClientIpsecPolicies : undefined; - resourceInputs["vpnClientRevokedCertificates"] = args ? args.vpnClientRevokedCertificates : undefined; - resourceInputs["vpnClientRootCertificates"] = args ? args.vpnClientRootCertificates : undefined; - resourceInputs["vpnProtocols"] = args ? args.vpnProtocols : undefined; resourceInputs["vpnServerConfigurationName"] = args ? args.vpnServerConfigurationName : undefined; resourceInputs["etag"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { - resourceInputs["aadAuthenticationParameters"] = undefined /*out*/; - resourceInputs["configurationPolicyGroups"] = undefined /*out*/; resourceInputs["etag"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["radiusClientRootCertificates"] = undefined /*out*/; - resourceInputs["radiusServerAddress"] = undefined /*out*/; - resourceInputs["radiusServerRootCertificates"] = undefined /*out*/; - resourceInputs["radiusServerSecret"] = undefined /*out*/; - resourceInputs["radiusServers"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["vpnAuthenticationTypes"] = undefined /*out*/; - resourceInputs["vpnClientIpsecPolicies"] = undefined /*out*/; - resourceInputs["vpnClientRevokedCertificates"] = undefined /*out*/; - resourceInputs["vpnClientRootCertificates"] = undefined /*out*/; - resourceInputs["vpnProtocols"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:network:VpnServerConfiguration" }, { type: "azure-native:network/v20190801:VpnServerConfiguration" }, { type: "azure-native:network/v20190901:VpnServerConfiguration" }, { type: "azure-native:network/v20191101:VpnServerConfiguration" }, { type: "azure-native:network/v20191201:VpnServerConfiguration" }, { type: "azure-native:network/v20200301:VpnServerConfiguration" }, { type: "azure-native:network/v20200401:VpnServerConfiguration" }, { type: "azure-native:network/v20200501:VpnServerConfiguration" }, { type: "azure-native:network/v20200601:VpnServerConfiguration" }, { type: "azure-native:network/v20200701:VpnServerConfiguration" }, { type: "azure-native:network/v20200801:VpnServerConfiguration" }, { type: "azure-native:network/v20201101:VpnServerConfiguration" }, { type: "azure-native:network/v20210201:VpnServerConfiguration" }, { type: "azure-native:network/v20210301:VpnServerConfiguration" }, { type: "azure-native:network/v20210501:VpnServerConfiguration" }, { type: "azure-native:network/v20210801:VpnServerConfiguration" }, { type: "azure-native:network/v20220101:VpnServerConfiguration" }, { type: "azure-native:network/v20220501:VpnServerConfiguration" }, { type: "azure-native:network/v20220701:VpnServerConfiguration" }, { type: "azure-native:network/v20220901:VpnServerConfiguration" }, { type: "azure-native:network/v20221101:VpnServerConfiguration" }, { type: "azure-native:network/v20230201:VpnServerConfiguration" }, { type: "azure-native:network/v20230401:VpnServerConfiguration" }, { type: "azure-native:network/v20230501:VpnServerConfiguration" }, { type: "azure-native:network/v20230901:VpnServerConfiguration" }] }; @@ -182,15 +104,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { * The set of arguments for constructing a VpnServerConfiguration resource. */ export interface VpnServerConfigurationArgs { - /** - * The set of aad vpn authentication parameters. - */ - aadAuthenticationParameters?: pulumi.Input; - /** - * List of all VpnServerConfigurationPolicyGroups. - * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - */ - configurationPolicyGroups?: pulumi.Input[]>; /** * Resource ID. */ @@ -200,29 +113,13 @@ export interface VpnServerConfigurationArgs { */ location?: pulumi.Input; /** - * The name of the VpnServerConfiguration that is unique within a resource group. + * The name of the resource that is unique within a resource group. This name can be used to access the resource. */ name?: pulumi.Input; /** - * Radius client root certificate of VpnServerConfiguration. - */ - radiusClientRootCertificates?: pulumi.Input[]>; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - radiusServerAddress?: pulumi.Input; - /** - * Radius Server root certificate of VpnServerConfiguration. - */ - radiusServerRootCertificates?: pulumi.Input[]>; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + * Properties of the P2SVpnServer configuration. */ - radiusServerSecret?: pulumi.Input; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. - */ - radiusServers?: pulumi.Input[]>; + properties?: pulumi.Input; /** * The resource group name of the VpnServerConfiguration. */ @@ -231,26 +128,6 @@ export interface VpnServerConfigurationArgs { * Resource tags. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - vpnAuthenticationTypes?: pulumi.Input[]>; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - vpnClientIpsecPolicies?: pulumi.Input[]>; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - vpnClientRevokedCertificates?: pulumi.Input[]>; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - vpnClientRootCertificates?: pulumi.Input[]>; - /** - * VPN protocols for the VpnServerConfiguration. - */ - vpnProtocols?: pulumi.Input[]>; /** * The name of the VpnServerConfiguration being created or updated. */ diff --git a/sdk/nodejs/network/v20230901/getNetworkVirtualApplianceConnection.ts b/sdk/nodejs/network/v20230901/getNetworkVirtualApplianceConnection.ts index 5684e9d36b20..21f9263af0ad 100644 --- a/sdk/nodejs/network/v20230901/getNetworkVirtualApplianceConnection.ts +++ b/sdk/nodejs/network/v20230901/getNetworkVirtualApplianceConnection.ts @@ -39,18 +39,6 @@ export interface GetNetworkVirtualApplianceConnectionArgs { * NetworkVirtualApplianceConnection resource. */ export interface GetNetworkVirtualApplianceConnectionResult { - /** - * Network Virtual Appliance ASN. - */ - readonly asn?: number; - /** - * List of bgpPeerAddresses for the NVA instances - */ - readonly bgpPeerAddress?: string[]; - /** - * Enable internet security. - */ - readonly enableInternetSecurity?: boolean; /** * Resource ID. */ @@ -60,17 +48,9 @@ export interface GetNetworkVirtualApplianceConnectionResult { */ readonly name?: string; /** - * The provisioning state of the NetworkVirtualApplianceConnection resource. - */ - readonly provisioningState: string; - /** - * The Routing Configuration indicating the associated and propagated route tables on this connection. - */ - readonly routingConfiguration?: outputs.network.v20230901.RoutingConfigurationResponse; - /** - * Unique identifier for the connection. + * Properties of the express route connection. */ - readonly tunnelIdentifier?: number; + readonly properties: outputs.network.v20230901.NetworkVirtualApplianceConnectionPropertiesResponse; } /** * Retrieves the details of specified NVA connection. diff --git a/sdk/nodejs/network/v20230901/getVpnServerConfiguration.ts b/sdk/nodejs/network/v20230901/getVpnServerConfiguration.ts index e2ce7999cbee..7a9ce51e57b8 100644 --- a/sdk/nodejs/network/v20230901/getVpnServerConfiguration.ts +++ b/sdk/nodejs/network/v20230901/getVpnServerConfiguration.ts @@ -34,14 +34,6 @@ export interface GetVpnServerConfigurationArgs { * VpnServerConfiguration Resource. */ export interface GetVpnServerConfigurationResult { - /** - * The set of aad vpn authentication parameters. - */ - readonly aadAuthenticationParameters?: outputs.network.v20230901.AadAuthenticationParametersResponse; - /** - * List of all VpnServerConfigurationPolicyGroups. - */ - readonly configurationPolicyGroups?: outputs.network.v20230901.VpnServerConfigurationPolicyGroupResponse[]; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -59,33 +51,9 @@ export interface GetVpnServerConfigurationResult { */ readonly name: string; /** - * List of references to P2SVpnGateways. - */ - readonly p2SVpnGateways: outputs.network.v20230901.P2SVpnGatewayResponse[]; - /** - * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - */ - readonly provisioningState: string; - /** - * Radius client root certificate of VpnServerConfiguration. - */ - readonly radiusClientRootCertificates?: outputs.network.v20230901.VpnServerConfigRadiusClientRootCertificateResponse[]; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerAddress?: string; - /** - * Radius Server root certificate of VpnServerConfiguration. - */ - readonly radiusServerRootCertificates?: outputs.network.v20230901.VpnServerConfigRadiusServerRootCertificateResponse[]; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. - */ - readonly radiusServerSecret?: string; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. + * Properties of the P2SVpnServer configuration. */ - readonly radiusServers?: outputs.network.v20230901.RadiusServerResponse[]; + readonly properties: outputs.network.v20230901.VpnServerConfigurationPropertiesResponse; /** * Resource tags. */ @@ -94,26 +62,6 @@ export interface GetVpnServerConfigurationResult { * Resource type. */ readonly type: string; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - readonly vpnAuthenticationTypes?: string[]; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - readonly vpnClientIpsecPolicies?: outputs.network.v20230901.IpsecPolicyResponse[]; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - readonly vpnClientRevokedCertificates?: outputs.network.v20230901.VpnServerConfigVpnClientRevokedCertificateResponse[]; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - readonly vpnClientRootCertificates?: outputs.network.v20230901.VpnServerConfigVpnClientRootCertificateResponse[]; - /** - * VPN protocols for the VpnServerConfiguration. - */ - readonly vpnProtocols?: string[]; } /** * Retrieves the details of a VpnServerConfiguration. diff --git a/sdk/nodejs/network/v20230901/networkVirtualApplianceConnection.ts b/sdk/nodejs/network/v20230901/networkVirtualApplianceConnection.ts index 8d4d967ad6d8..e28b7b9f1709 100644 --- a/sdk/nodejs/network/v20230901/networkVirtualApplianceConnection.ts +++ b/sdk/nodejs/network/v20230901/networkVirtualApplianceConnection.ts @@ -37,34 +37,14 @@ export class NetworkVirtualApplianceConnection extends pulumi.CustomResource { return obj['__pulumiType'] === NetworkVirtualApplianceConnection.__pulumiType; } - /** - * Network Virtual Appliance ASN. - */ - public readonly asn!: pulumi.Output; - /** - * List of bgpPeerAddresses for the NVA instances - */ - public readonly bgpPeerAddress!: pulumi.Output; - /** - * Enable internet security. - */ - public readonly enableInternetSecurity!: pulumi.Output; /** * The name of the resource. */ public readonly name!: pulumi.Output; /** - * The provisioning state of the NetworkVirtualApplianceConnection resource. + * Properties of the express route connection. */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * The Routing Configuration indicating the associated and propagated route tables on this connection. - */ - public readonly routingConfiguration!: pulumi.Output; - /** - * Unique identifier for the connection. - */ - public readonly tunnelIdentifier!: pulumi.Output; + public readonly properties!: pulumi.Output; /** * Create a NetworkVirtualApplianceConnection resource with the given unique name, arguments, and options. @@ -83,25 +63,15 @@ export class NetworkVirtualApplianceConnection extends pulumi.CustomResource { if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - resourceInputs["asn"] = args ? args.asn : undefined; - resourceInputs["bgpPeerAddress"] = args ? args.bgpPeerAddress : undefined; resourceInputs["connectionName"] = args ? args.connectionName : undefined; - resourceInputs["enableInternetSecurity"] = args ? args.enableInternetSecurity : undefined; resourceInputs["id"] = args ? args.id : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["networkVirtualApplianceName"] = args ? args.networkVirtualApplianceName : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; - resourceInputs["routingConfiguration"] = args ? args.routingConfiguration : undefined; - resourceInputs["tunnelIdentifier"] = args ? args.tunnelIdentifier : undefined; - resourceInputs["provisioningState"] = undefined /*out*/; } else { - resourceInputs["asn"] = undefined /*out*/; - resourceInputs["bgpPeerAddress"] = undefined /*out*/; - resourceInputs["enableInternetSecurity"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["routingConfiguration"] = undefined /*out*/; - resourceInputs["tunnelIdentifier"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:network/v20230601:NetworkVirtualApplianceConnection" }] }; @@ -114,22 +84,10 @@ export class NetworkVirtualApplianceConnection extends pulumi.CustomResource { * The set of arguments for constructing a NetworkVirtualApplianceConnection resource. */ export interface NetworkVirtualApplianceConnectionArgs { - /** - * Network Virtual Appliance ASN. - */ - asn?: pulumi.Input; - /** - * List of bgpPeerAddresses for the NVA instances - */ - bgpPeerAddress?: pulumi.Input[]>; /** * The name of the NVA connection. */ connectionName?: pulumi.Input; - /** - * Enable internet security. - */ - enableInternetSecurity?: pulumi.Input; /** * Resource ID. */ @@ -143,15 +101,11 @@ export interface NetworkVirtualApplianceConnectionArgs { */ networkVirtualApplianceName: pulumi.Input; /** - * The name of the resource group. + * Properties of the express route connection. */ - resourceGroupName: pulumi.Input; - /** - * The Routing Configuration indicating the associated and propagated route tables on this connection. - */ - routingConfiguration?: pulumi.Input; + properties?: pulumi.Input; /** - * Unique identifier for the connection. + * The name of the resource group. */ - tunnelIdentifier?: pulumi.Input; + resourceGroupName: pulumi.Input; } diff --git a/sdk/nodejs/network/v20230901/vpnServerConfiguration.ts b/sdk/nodejs/network/v20230901/vpnServerConfiguration.ts index 0b7ce10b091f..e32ecc5c2eb3 100644 --- a/sdk/nodejs/network/v20230901/vpnServerConfiguration.ts +++ b/sdk/nodejs/network/v20230901/vpnServerConfiguration.ts @@ -37,14 +37,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { return obj['__pulumiType'] === VpnServerConfiguration.__pulumiType; } - /** - * The set of aad vpn authentication parameters. - */ - public readonly aadAuthenticationParameters!: pulumi.Output; - /** - * List of all VpnServerConfigurationPolicyGroups. - */ - public readonly configurationPolicyGroups!: pulumi.Output; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -58,33 +50,9 @@ export class VpnServerConfiguration extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * List of references to P2SVpnGateways. - */ - public /*out*/ readonly p2SVpnGateways!: pulumi.Output; - /** - * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * Radius client root certificate of VpnServerConfiguration. - */ - public readonly radiusClientRootCertificates!: pulumi.Output; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerAddress!: pulumi.Output; - /** - * Radius Server root certificate of VpnServerConfiguration. + * Properties of the P2SVpnServer configuration. */ - public readonly radiusServerRootCertificates!: pulumi.Output; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerSecret!: pulumi.Output; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. - */ - public readonly radiusServers!: pulumi.Output; + public readonly properties!: pulumi.Output; /** * Resource tags. */ @@ -93,26 +61,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { * Resource type. */ public /*out*/ readonly type!: pulumi.Output; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - public readonly vpnAuthenticationTypes!: pulumi.Output; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - public readonly vpnClientIpsecPolicies!: pulumi.Output; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - public readonly vpnClientRevokedCertificates!: pulumi.Output; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - public readonly vpnClientRootCertificates!: pulumi.Output; - /** - * VPN protocols for the VpnServerConfiguration. - */ - public readonly vpnProtocols!: pulumi.Output; /** * Create a VpnServerConfiguration resource with the given unique name, arguments, and options. @@ -128,48 +76,22 @@ export class VpnServerConfiguration extends pulumi.CustomResource { if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - resourceInputs["aadAuthenticationParameters"] = args ? args.aadAuthenticationParameters : undefined; - resourceInputs["configurationPolicyGroups"] = args ? args.configurationPolicyGroups : undefined; resourceInputs["id"] = args ? args.id : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["radiusClientRootCertificates"] = args ? args.radiusClientRootCertificates : undefined; - resourceInputs["radiusServerAddress"] = args ? args.radiusServerAddress : undefined; - resourceInputs["radiusServerRootCertificates"] = args ? args.radiusServerRootCertificates : undefined; - resourceInputs["radiusServerSecret"] = args ? args.radiusServerSecret : undefined; - resourceInputs["radiusServers"] = args ? args.radiusServers : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["vpnAuthenticationTypes"] = args ? args.vpnAuthenticationTypes : undefined; - resourceInputs["vpnClientIpsecPolicies"] = args ? args.vpnClientIpsecPolicies : undefined; - resourceInputs["vpnClientRevokedCertificates"] = args ? args.vpnClientRevokedCertificates : undefined; - resourceInputs["vpnClientRootCertificates"] = args ? args.vpnClientRootCertificates : undefined; - resourceInputs["vpnProtocols"] = args ? args.vpnProtocols : undefined; resourceInputs["vpnServerConfigurationName"] = args ? args.vpnServerConfigurationName : undefined; resourceInputs["etag"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { - resourceInputs["aadAuthenticationParameters"] = undefined /*out*/; - resourceInputs["configurationPolicyGroups"] = undefined /*out*/; resourceInputs["etag"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["radiusClientRootCertificates"] = undefined /*out*/; - resourceInputs["radiusServerAddress"] = undefined /*out*/; - resourceInputs["radiusServerRootCertificates"] = undefined /*out*/; - resourceInputs["radiusServerSecret"] = undefined /*out*/; - resourceInputs["radiusServers"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["vpnAuthenticationTypes"] = undefined /*out*/; - resourceInputs["vpnClientIpsecPolicies"] = undefined /*out*/; - resourceInputs["vpnClientRevokedCertificates"] = undefined /*out*/; - resourceInputs["vpnClientRootCertificates"] = undefined /*out*/; - resourceInputs["vpnProtocols"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:network:VpnServerConfiguration" }, { type: "azure-native:network/v20190801:VpnServerConfiguration" }, { type: "azure-native:network/v20190901:VpnServerConfiguration" }, { type: "azure-native:network/v20191101:VpnServerConfiguration" }, { type: "azure-native:network/v20191201:VpnServerConfiguration" }, { type: "azure-native:network/v20200301:VpnServerConfiguration" }, { type: "azure-native:network/v20200401:VpnServerConfiguration" }, { type: "azure-native:network/v20200501:VpnServerConfiguration" }, { type: "azure-native:network/v20200601:VpnServerConfiguration" }, { type: "azure-native:network/v20200701:VpnServerConfiguration" }, { type: "azure-native:network/v20200801:VpnServerConfiguration" }, { type: "azure-native:network/v20201101:VpnServerConfiguration" }, { type: "azure-native:network/v20210201:VpnServerConfiguration" }, { type: "azure-native:network/v20210301:VpnServerConfiguration" }, { type: "azure-native:network/v20210501:VpnServerConfiguration" }, { type: "azure-native:network/v20210801:VpnServerConfiguration" }, { type: "azure-native:network/v20220101:VpnServerConfiguration" }, { type: "azure-native:network/v20220501:VpnServerConfiguration" }, { type: "azure-native:network/v20220701:VpnServerConfiguration" }, { type: "azure-native:network/v20220901:VpnServerConfiguration" }, { type: "azure-native:network/v20221101:VpnServerConfiguration" }, { type: "azure-native:network/v20230201:VpnServerConfiguration" }, { type: "azure-native:network/v20230401:VpnServerConfiguration" }, { type: "azure-native:network/v20230501:VpnServerConfiguration" }, { type: "azure-native:network/v20230601:VpnServerConfiguration" }] }; @@ -182,15 +104,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { * The set of arguments for constructing a VpnServerConfiguration resource. */ export interface VpnServerConfigurationArgs { - /** - * The set of aad vpn authentication parameters. - */ - aadAuthenticationParameters?: pulumi.Input; - /** - * List of all VpnServerConfigurationPolicyGroups. - * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - */ - configurationPolicyGroups?: pulumi.Input[]>; /** * Resource ID. */ @@ -200,29 +113,13 @@ export interface VpnServerConfigurationArgs { */ location?: pulumi.Input; /** - * The name of the VpnServerConfiguration that is unique within a resource group. + * The name of the resource that is unique within a resource group. This name can be used to access the resource. */ name?: pulumi.Input; /** - * Radius client root certificate of VpnServerConfiguration. - */ - radiusClientRootCertificates?: pulumi.Input[]>; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - radiusServerAddress?: pulumi.Input; - /** - * Radius Server root certificate of VpnServerConfiguration. - */ - radiusServerRootCertificates?: pulumi.Input[]>; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + * Properties of the P2SVpnServer configuration. */ - radiusServerSecret?: pulumi.Input; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. - */ - radiusServers?: pulumi.Input[]>; + properties?: pulumi.Input; /** * The resource group name of the VpnServerConfiguration. */ @@ -231,26 +128,6 @@ export interface VpnServerConfigurationArgs { * Resource tags. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - vpnAuthenticationTypes?: pulumi.Input[]>; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - vpnClientIpsecPolicies?: pulumi.Input[]>; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - vpnClientRevokedCertificates?: pulumi.Input[]>; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - vpnClientRootCertificates?: pulumi.Input[]>; - /** - * VPN protocols for the VpnServerConfiguration. - */ - vpnProtocols?: pulumi.Input[]>; /** * The name of the VpnServerConfiguration being created or updated. */ diff --git a/sdk/nodejs/network/vpnServerConfiguration.ts b/sdk/nodejs/network/vpnServerConfiguration.ts index fdb75300ae9c..b333e6c84d17 100644 --- a/sdk/nodejs/network/vpnServerConfiguration.ts +++ b/sdk/nodejs/network/vpnServerConfiguration.ts @@ -40,14 +40,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { return obj['__pulumiType'] === VpnServerConfiguration.__pulumiType; } - /** - * The set of aad vpn authentication parameters. - */ - public readonly aadAuthenticationParameters!: pulumi.Output; - /** - * List of all VpnServerConfigurationPolicyGroups. - */ - public readonly configurationPolicyGroups!: pulumi.Output; /** * A unique read-only string that changes whenever the resource is updated. */ @@ -61,33 +53,9 @@ export class VpnServerConfiguration extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * List of references to P2SVpnGateways. - */ - public /*out*/ readonly p2SVpnGateways!: pulumi.Output; - /** - * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * Radius client root certificate of VpnServerConfiguration. - */ - public readonly radiusClientRootCertificates!: pulumi.Output; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerAddress!: pulumi.Output; - /** - * Radius Server root certificate of VpnServerConfiguration. + * Properties of the P2SVpnServer configuration. */ - public readonly radiusServerRootCertificates!: pulumi.Output; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. - */ - public readonly radiusServerSecret!: pulumi.Output; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. - */ - public readonly radiusServers!: pulumi.Output; + public readonly properties!: pulumi.Output; /** * Resource tags. */ @@ -96,26 +64,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { * Resource type. */ public /*out*/ readonly type!: pulumi.Output; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - public readonly vpnAuthenticationTypes!: pulumi.Output; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - public readonly vpnClientIpsecPolicies!: pulumi.Output; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - public readonly vpnClientRevokedCertificates!: pulumi.Output; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - public readonly vpnClientRootCertificates!: pulumi.Output; - /** - * VPN protocols for the VpnServerConfiguration. - */ - public readonly vpnProtocols!: pulumi.Output; /** * Create a VpnServerConfiguration resource with the given unique name, arguments, and options. @@ -131,48 +79,22 @@ export class VpnServerConfiguration extends pulumi.CustomResource { if ((!args || args.resourceGroupName === undefined) && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } - resourceInputs["aadAuthenticationParameters"] = args ? args.aadAuthenticationParameters : undefined; - resourceInputs["configurationPolicyGroups"] = args ? args.configurationPolicyGroups : undefined; resourceInputs["id"] = args ? args.id : undefined; resourceInputs["location"] = args ? args.location : undefined; resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["radiusClientRootCertificates"] = args ? args.radiusClientRootCertificates : undefined; - resourceInputs["radiusServerAddress"] = args ? args.radiusServerAddress : undefined; - resourceInputs["radiusServerRootCertificates"] = args ? args.radiusServerRootCertificates : undefined; - resourceInputs["radiusServerSecret"] = args ? args.radiusServerSecret : undefined; - resourceInputs["radiusServers"] = args ? args.radiusServers : undefined; + resourceInputs["properties"] = args ? args.properties : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["vpnAuthenticationTypes"] = args ? args.vpnAuthenticationTypes : undefined; - resourceInputs["vpnClientIpsecPolicies"] = args ? args.vpnClientIpsecPolicies : undefined; - resourceInputs["vpnClientRevokedCertificates"] = args ? args.vpnClientRevokedCertificates : undefined; - resourceInputs["vpnClientRootCertificates"] = args ? args.vpnClientRootCertificates : undefined; - resourceInputs["vpnProtocols"] = args ? args.vpnProtocols : undefined; resourceInputs["vpnServerConfigurationName"] = args ? args.vpnServerConfigurationName : undefined; resourceInputs["etag"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { - resourceInputs["aadAuthenticationParameters"] = undefined /*out*/; - resourceInputs["configurationPolicyGroups"] = undefined /*out*/; resourceInputs["etag"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["p2SVpnGateways"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["radiusClientRootCertificates"] = undefined /*out*/; - resourceInputs["radiusServerAddress"] = undefined /*out*/; - resourceInputs["radiusServerRootCertificates"] = undefined /*out*/; - resourceInputs["radiusServerSecret"] = undefined /*out*/; - resourceInputs["radiusServers"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["vpnAuthenticationTypes"] = undefined /*out*/; - resourceInputs["vpnClientIpsecPolicies"] = undefined /*out*/; - resourceInputs["vpnClientRevokedCertificates"] = undefined /*out*/; - resourceInputs["vpnClientRootCertificates"] = undefined /*out*/; - resourceInputs["vpnProtocols"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:network/v20190801:VpnServerConfiguration" }, { type: "azure-native:network/v20190901:VpnServerConfiguration" }, { type: "azure-native:network/v20191101:VpnServerConfiguration" }, { type: "azure-native:network/v20191201:VpnServerConfiguration" }, { type: "azure-native:network/v20200301:VpnServerConfiguration" }, { type: "azure-native:network/v20200401:VpnServerConfiguration" }, { type: "azure-native:network/v20200501:VpnServerConfiguration" }, { type: "azure-native:network/v20200601:VpnServerConfiguration" }, { type: "azure-native:network/v20200701:VpnServerConfiguration" }, { type: "azure-native:network/v20200801:VpnServerConfiguration" }, { type: "azure-native:network/v20201101:VpnServerConfiguration" }, { type: "azure-native:network/v20210201:VpnServerConfiguration" }, { type: "azure-native:network/v20210301:VpnServerConfiguration" }, { type: "azure-native:network/v20210501:VpnServerConfiguration" }, { type: "azure-native:network/v20210801:VpnServerConfiguration" }, { type: "azure-native:network/v20220101:VpnServerConfiguration" }, { type: "azure-native:network/v20220501:VpnServerConfiguration" }, { type: "azure-native:network/v20220701:VpnServerConfiguration" }, { type: "azure-native:network/v20220901:VpnServerConfiguration" }, { type: "azure-native:network/v20221101:VpnServerConfiguration" }, { type: "azure-native:network/v20230201:VpnServerConfiguration" }, { type: "azure-native:network/v20230401:VpnServerConfiguration" }, { type: "azure-native:network/v20230501:VpnServerConfiguration" }, { type: "azure-native:network/v20230601:VpnServerConfiguration" }, { type: "azure-native:network/v20230901:VpnServerConfiguration" }] }; @@ -185,15 +107,6 @@ export class VpnServerConfiguration extends pulumi.CustomResource { * The set of arguments for constructing a VpnServerConfiguration resource. */ export interface VpnServerConfigurationArgs { - /** - * The set of aad vpn authentication parameters. - */ - aadAuthenticationParameters?: pulumi.Input; - /** - * List of all VpnServerConfigurationPolicyGroups. - * These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - */ - configurationPolicyGroups?: pulumi.Input[]>; /** * Resource ID. */ @@ -203,29 +116,13 @@ export interface VpnServerConfigurationArgs { */ location?: pulumi.Input; /** - * The name of the VpnServerConfiguration that is unique within a resource group. + * The name of the resource that is unique within a resource group. This name can be used to access the resource. */ name?: pulumi.Input; /** - * Radius client root certificate of VpnServerConfiguration. - */ - radiusClientRootCertificates?: pulumi.Input[]>; - /** - * The radius server address property of the VpnServerConfiguration resource for point to site client connection. - */ - radiusServerAddress?: pulumi.Input; - /** - * Radius Server root certificate of VpnServerConfiguration. - */ - radiusServerRootCertificates?: pulumi.Input[]>; - /** - * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + * Properties of the P2SVpnServer configuration. */ - radiusServerSecret?: pulumi.Input; - /** - * Multiple Radius Server configuration for VpnServerConfiguration. - */ - radiusServers?: pulumi.Input[]>; + properties?: pulumi.Input; /** * The resource group name of the VpnServerConfiguration. */ @@ -234,26 +131,6 @@ export interface VpnServerConfigurationArgs { * Resource tags. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; - /** - * VPN authentication types for the VpnServerConfiguration. - */ - vpnAuthenticationTypes?: pulumi.Input[]>; - /** - * VpnClientIpsecPolicies for VpnServerConfiguration. - */ - vpnClientIpsecPolicies?: pulumi.Input[]>; - /** - * VPN client revoked certificate of VpnServerConfiguration. - */ - vpnClientRevokedCertificates?: pulumi.Input[]>; - /** - * VPN client root certificate of VpnServerConfiguration. - */ - vpnClientRootCertificates?: pulumi.Input[]>; - /** - * VPN protocols for the VpnServerConfiguration. - */ - vpnProtocols?: pulumi.Input[]>; /** * The name of the VpnServerConfiguration being created or updated. */ diff --git a/sdk/nodejs/security/defenderForStorage.ts b/sdk/nodejs/security/defenderForStorage.ts new file mode 100644 index 000000000000..47af92fbbd35 --- /dev/null +++ b/sdk/nodejs/security/defenderForStorage.ts @@ -0,0 +1,131 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * The Defender for Storage resource. + * Azure REST API version: 2022-12-01-preview. + */ +export class DefenderForStorage extends pulumi.CustomResource { + /** + * Get an existing DefenderForStorage resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): DefenderForStorage { + return new DefenderForStorage(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:security:DefenderForStorage'; + + /** + * Returns true if the given object is an instance of DefenderForStorage. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DefenderForStorage { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DefenderForStorage.__pulumiType; + } + + /** + * Indicates whether Defender for Storage is enabled on this storage account. + */ + public readonly isEnabled!: pulumi.Output; + /** + * Properties of Malware Scanning. + */ + public readonly malwareScanning!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + */ + public readonly overrideSubscriptionLevelSettings!: pulumi.Output; + /** + * Properties of Sensitive Data Discovery. + */ + public readonly sensitiveDataDiscovery!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a DefenderForStorage resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: DefenderForStorageArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceId'"); + } + resourceInputs["isEnabled"] = args ? args.isEnabled : undefined; + resourceInputs["malwareScanning"] = args ? args.malwareScanning : undefined; + resourceInputs["overrideSubscriptionLevelSettings"] = args ? args.overrideSubscriptionLevelSettings : undefined; + resourceInputs["resourceId"] = args ? args.resourceId : undefined; + resourceInputs["sensitiveDataDiscovery"] = args ? args.sensitiveDataDiscovery : undefined; + resourceInputs["settingName"] = args ? args.settingName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["isEnabled"] = undefined /*out*/; + resourceInputs["malwareScanning"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["overrideSubscriptionLevelSettings"] = undefined /*out*/; + resourceInputs["sensitiveDataDiscovery"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:security/v20221201preview:DefenderForStorage" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(DefenderForStorage.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DefenderForStorage resource. + */ +export interface DefenderForStorageArgs { + /** + * Indicates whether Defender for Storage is enabled on this storage account. + */ + isEnabled?: pulumi.Input; + /** + * Properties of Malware Scanning. + */ + malwareScanning?: pulumi.Input; + /** + * Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + */ + overrideSubscriptionLevelSettings?: pulumi.Input; + /** + * The identifier of the resource. + */ + resourceId: pulumi.Input; + /** + * Properties of Sensitive Data Discovery. + */ + sensitiveDataDiscovery?: pulumi.Input; + /** + * Defender for Storage setting name. + */ + settingName?: pulumi.Input; +} diff --git a/sdk/nodejs/security/getDefenderForStorage.ts b/sdk/nodejs/security/getDefenderForStorage.ts new file mode 100644 index 000000000000..b5c2566dba38 --- /dev/null +++ b/sdk/nodejs/security/getDefenderForStorage.ts @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Gets the Defender for Storage settings for the specified storage account. + * Azure REST API version: 2022-12-01-preview. + */ +export function getDefenderForStorage(args: GetDefenderForStorageArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:security:getDefenderForStorage", { + "resourceId": args.resourceId, + "settingName": args.settingName, + }, opts); +} + +export interface GetDefenderForStorageArgs { + /** + * The identifier of the resource. + */ + resourceId: string; + /** + * Defender for Storage setting name. + */ + settingName: string; +} + +/** + * The Defender for Storage resource. + */ +export interface GetDefenderForStorageResult { + /** + * Resource Id + */ + readonly id: string; + /** + * Indicates whether Defender for Storage is enabled on this storage account. + */ + readonly isEnabled?: boolean; + /** + * Properties of Malware Scanning. + */ + readonly malwareScanning?: outputs.security.MalwareScanningPropertiesResponse; + /** + * Resource name + */ + readonly name: string; + /** + * Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + */ + readonly overrideSubscriptionLevelSettings?: boolean; + /** + * Properties of Sensitive Data Discovery. + */ + readonly sensitiveDataDiscovery?: outputs.security.SensitiveDataDiscoveryPropertiesResponse; + /** + * Resource type + */ + readonly type: string; +} +/** + * Gets the Defender for Storage settings for the specified storage account. + * Azure REST API version: 2022-12-01-preview. + */ +export function getDefenderForStorageOutput(args: GetDefenderForStorageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDefenderForStorage(a, opts)) +} + +export interface GetDefenderForStorageOutputArgs { + /** + * The identifier of the resource. + */ + resourceId: pulumi.Input; + /** + * Defender for Storage setting name. + */ + settingName: pulumi.Input; +} diff --git a/sdk/nodejs/security/index.ts b/sdk/nodejs/security/index.ts index 7a1b8ad38bd9..76da4bfce5eb 100644 --- a/sdk/nodejs/security/index.ts +++ b/sdk/nodejs/security/index.ts @@ -80,6 +80,11 @@ export type CustomEntityStoreAssignment = import("./customEntityStoreAssignment" export const CustomEntityStoreAssignment: typeof import("./customEntityStoreAssignment").CustomEntityStoreAssignment = null as any; utilities.lazyLoad(exports, ["CustomEntityStoreAssignment"], () => require("./customEntityStoreAssignment")); +export { DefenderForStorageArgs } from "./defenderForStorage"; +export type DefenderForStorage = import("./defenderForStorage").DefenderForStorage; +export const DefenderForStorage: typeof import("./defenderForStorage").DefenderForStorage = null as any; +utilities.lazyLoad(exports, ["DefenderForStorage"], () => require("./defenderForStorage")); + export { DevOpsConfigurationArgs } from "./devOpsConfiguration"; export type DevOpsConfiguration = import("./devOpsConfiguration").DevOpsConfiguration; export const DevOpsConfiguration: typeof import("./devOpsConfiguration").DevOpsConfiguration = null as any; @@ -165,6 +170,11 @@ export const getCustomEntityStoreAssignment: typeof import("./getCustomEntitySto export const getCustomEntityStoreAssignmentOutput: typeof import("./getCustomEntityStoreAssignment").getCustomEntityStoreAssignmentOutput = null as any; utilities.lazyLoad(exports, ["getCustomEntityStoreAssignment","getCustomEntityStoreAssignmentOutput"], () => require("./getCustomEntityStoreAssignment")); +export { GetDefenderForStorageArgs, GetDefenderForStorageResult, GetDefenderForStorageOutputArgs } from "./getDefenderForStorage"; +export const getDefenderForStorage: typeof import("./getDefenderForStorage").getDefenderForStorage = null as any; +export const getDefenderForStorageOutput: typeof import("./getDefenderForStorage").getDefenderForStorageOutput = null as any; +utilities.lazyLoad(exports, ["getDefenderForStorage","getDefenderForStorageOutput"], () => require("./getDefenderForStorage")); + export { GetDevOpsConfigurationArgs, GetDevOpsConfigurationResult, GetDevOpsConfigurationOutputArgs } from "./getDevOpsConfiguration"; export const getDevOpsConfiguration: typeof import("./getDevOpsConfiguration").getDevOpsConfiguration = null as any; export const getDevOpsConfigurationOutput: typeof import("./getDevOpsConfiguration").getDevOpsConfigurationOutput = null as any; @@ -342,6 +352,7 @@ import * as v20210801preview from "./v20210801preview"; import * as v20220101preview from "./v20220101preview"; import * as v20220701preview from "./v20220701preview"; import * as v20221120preview from "./v20221120preview"; +import * as v20221201preview from "./v20221201preview"; import * as v20230101preview from "./v20230101preview"; import * as v20230201preview from "./v20230201preview"; import * as v20230301preview from "./v20230301preview"; @@ -364,6 +375,7 @@ export { v20220101preview, v20220701preview, v20221120preview, + v20221201preview, v20230101preview, v20230201preview, v20230301preview, @@ -408,6 +420,8 @@ const _module = { return new CustomAssessmentAutomation(name, undefined, { urn }) case "azure-native:security:CustomEntityStoreAssignment": return new CustomEntityStoreAssignment(name, undefined, { urn }) + case "azure-native:security:DefenderForStorage": + return new DefenderForStorage(name, undefined, { urn }) case "azure-native:security:DevOpsConfiguration": return new DevOpsConfiguration(name, undefined, { urn }) case "azure-native:security:DeviceSecurityGroup": diff --git a/sdk/nodejs/security/v20221201preview/defenderForStorage.ts b/sdk/nodejs/security/v20221201preview/defenderForStorage.ts new file mode 100644 index 000000000000..bdc72932c64a --- /dev/null +++ b/sdk/nodejs/security/v20221201preview/defenderForStorage.ts @@ -0,0 +1,130 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * The Defender for Storage resource. + */ +export class DefenderForStorage extends pulumi.CustomResource { + /** + * Get an existing DefenderForStorage resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): DefenderForStorage { + return new DefenderForStorage(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'azure-native:security/v20221201preview:DefenderForStorage'; + + /** + * Returns true if the given object is an instance of DefenderForStorage. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DefenderForStorage { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DefenderForStorage.__pulumiType; + } + + /** + * Indicates whether Defender for Storage is enabled on this storage account. + */ + public readonly isEnabled!: pulumi.Output; + /** + * Properties of Malware Scanning. + */ + public readonly malwareScanning!: pulumi.Output; + /** + * Resource name + */ + public /*out*/ readonly name!: pulumi.Output; + /** + * Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + */ + public readonly overrideSubscriptionLevelSettings!: pulumi.Output; + /** + * Properties of Sensitive Data Discovery. + */ + public readonly sensitiveDataDiscovery!: pulumi.Output; + /** + * Resource type + */ + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a DefenderForStorage resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: DefenderForStorageArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.resourceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceId'"); + } + resourceInputs["isEnabled"] = args ? args.isEnabled : undefined; + resourceInputs["malwareScanning"] = args ? args.malwareScanning : undefined; + resourceInputs["overrideSubscriptionLevelSettings"] = args ? args.overrideSubscriptionLevelSettings : undefined; + resourceInputs["resourceId"] = args ? args.resourceId : undefined; + resourceInputs["sensitiveDataDiscovery"] = args ? args.sensitiveDataDiscovery : undefined; + resourceInputs["settingName"] = args ? args.settingName : undefined; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["isEnabled"] = undefined /*out*/; + resourceInputs["malwareScanning"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["overrideSubscriptionLevelSettings"] = undefined /*out*/; + resourceInputs["sensitiveDataDiscovery"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const aliasOpts = { aliases: [{ type: "azure-native:security:DefenderForStorage" }] }; + opts = pulumi.mergeOptions(opts, aliasOpts); + super(DefenderForStorage.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DefenderForStorage resource. + */ +export interface DefenderForStorageArgs { + /** + * Indicates whether Defender for Storage is enabled on this storage account. + */ + isEnabled?: pulumi.Input; + /** + * Properties of Malware Scanning. + */ + malwareScanning?: pulumi.Input; + /** + * Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + */ + overrideSubscriptionLevelSettings?: pulumi.Input; + /** + * The identifier of the resource. + */ + resourceId: pulumi.Input; + /** + * Properties of Sensitive Data Discovery. + */ + sensitiveDataDiscovery?: pulumi.Input; + /** + * Defender for Storage setting name. + */ + settingName?: pulumi.Input; +} diff --git a/sdk/nodejs/security/v20221201preview/getDefenderForStorage.ts b/sdk/nodejs/security/v20221201preview/getDefenderForStorage.ts new file mode 100644 index 000000000000..42a7709b045f --- /dev/null +++ b/sdk/nodejs/security/v20221201preview/getDefenderForStorage.ts @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; +import * as utilities from "../../utilities"; + +/** + * Gets the Defender for Storage settings for the specified storage account. + */ +export function getDefenderForStorage(args: GetDefenderForStorageArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("azure-native:security/v20221201preview:getDefenderForStorage", { + "resourceId": args.resourceId, + "settingName": args.settingName, + }, opts); +} + +export interface GetDefenderForStorageArgs { + /** + * The identifier of the resource. + */ + resourceId: string; + /** + * Defender for Storage setting name. + */ + settingName: string; +} + +/** + * The Defender for Storage resource. + */ +export interface GetDefenderForStorageResult { + /** + * Resource Id + */ + readonly id: string; + /** + * Indicates whether Defender for Storage is enabled on this storage account. + */ + readonly isEnabled?: boolean; + /** + * Properties of Malware Scanning. + */ + readonly malwareScanning?: outputs.security.v20221201preview.MalwareScanningPropertiesResponse; + /** + * Resource name + */ + readonly name: string; + /** + * Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + */ + readonly overrideSubscriptionLevelSettings?: boolean; + /** + * Properties of Sensitive Data Discovery. + */ + readonly sensitiveDataDiscovery?: outputs.security.v20221201preview.SensitiveDataDiscoveryPropertiesResponse; + /** + * Resource type + */ + readonly type: string; +} +/** + * Gets the Defender for Storage settings for the specified storage account. + */ +export function getDefenderForStorageOutput(args: GetDefenderForStorageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDefenderForStorage(a, opts)) +} + +export interface GetDefenderForStorageOutputArgs { + /** + * The identifier of the resource. + */ + resourceId: pulumi.Input; + /** + * Defender for Storage setting name. + */ + settingName: pulumi.Input; +} diff --git a/sdk/nodejs/security/v20221201preview/index.ts b/sdk/nodejs/security/v20221201preview/index.ts new file mode 100644 index 000000000000..04e3c6579ae7 --- /dev/null +++ b/sdk/nodejs/security/v20221201preview/index.ts @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../../utilities"; + +// Export members: +export { DefenderForStorageArgs } from "./defenderForStorage"; +export type DefenderForStorage = import("./defenderForStorage").DefenderForStorage; +export const DefenderForStorage: typeof import("./defenderForStorage").DefenderForStorage = null as any; +utilities.lazyLoad(exports, ["DefenderForStorage"], () => require("./defenderForStorage")); + +export { GetDefenderForStorageArgs, GetDefenderForStorageResult, GetDefenderForStorageOutputArgs } from "./getDefenderForStorage"; +export const getDefenderForStorage: typeof import("./getDefenderForStorage").getDefenderForStorage = null as any; +export const getDefenderForStorageOutput: typeof import("./getDefenderForStorage").getDefenderForStorageOutput = null as any; +utilities.lazyLoad(exports, ["getDefenderForStorage","getDefenderForStorageOutput"], () => require("./getDefenderForStorage")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "azure-native:security/v20221201preview:DefenderForStorage": + return new DefenderForStorage(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("azure-native", "security/v20221201preview", _module) diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 5048115ba472..b69d18fce71a 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -12918,6 +12918,7 @@ "security/connector.ts", "security/customAssessmentAutomation.ts", "security/customEntityStoreAssignment.ts", + "security/defenderForStorage.ts", "security/devOpsConfiguration.ts", "security/deviceSecurityGroup.ts", "security/getAPICollection.ts", @@ -12935,6 +12936,7 @@ "security/getConnector.ts", "security/getCustomAssessmentAutomation.ts", "security/getCustomEntityStoreAssignment.ts", + "security/getDefenderForStorage.ts", "security/getDevOpsConfiguration.ts", "security/getDeviceSecurityGroup.ts", "security/getGovernanceAssignment.ts", @@ -13033,6 +13035,9 @@ "security/v20221120preview/apicollection.ts", "security/v20221120preview/getAPICollection.ts", "security/v20221120preview/index.ts", + "security/v20221201preview/defenderForStorage.ts", + "security/v20221201preview/getDefenderForStorage.ts", + "security/v20221201preview/index.ts", "security/v20230101preview/getSecurityOperator.ts", "security/v20230101preview/index.ts", "security/v20230101preview/securityOperator.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 191daf280a1d..dd6ad4a60c37 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -35043,6 +35043,28 @@ export namespace authorization { startDateTime?: pulumi.Input; } + /** + * Recurrence Range of an Access Review Schedule Definition. + */ + export interface AccessReviewRecurrenceRangeArgs { + /** + * The DateTime when the review is scheduled to end. Required if type is endDate + */ + endDate?: pulumi.Input; + /** + * The number of times to repeat the access review. Required and must be positive if type is numbered. + */ + numberOfOccurrences?: pulumi.Input; + /** + * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + */ + startDate?: pulumi.Input; + /** + * The recurrence range type. The possible values are: endDate, noEnd, numbered. + */ + type?: pulumi.Input; + } + /** * Descriptor for what needs to be reviewed */ @@ -35594,6 +35616,28 @@ export namespace authorization { startDateTime?: pulumi.Input; } + /** + * Recurrence Range of an Access Review Schedule Definition. + */ + export interface AccessReviewRecurrenceRangeArgs { + /** + * The DateTime when the review is scheduled to end. Required if type is endDate + */ + endDate?: pulumi.Input; + /** + * The number of times to repeat the access review. Required and must be positive if type is numbered. + */ + numberOfOccurrences?: pulumi.Input; + /** + * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + */ + startDate?: pulumi.Input; + /** + * The recurrence range type. The possible values are: endDate, noEnd, numbered. + */ + type?: pulumi.Input; + } + /** * Descriptor for what needs to be reviewed */ @@ -206101,6 +206145,50 @@ export namespace devhub { overrides?: pulumi.Input<{[key: string]: pulumi.Input}>; } + /** + * GitHub Workflow Profile + */ + export interface GitHubWorkflowProfileArgs { + /** + * Information on the azure container registry + */ + acr?: pulumi.Input; + /** + * The Azure Kubernetes Cluster Resource the application will be deployed to. + */ + aksResourceId?: pulumi.Input; + /** + * Repository Branch Name + */ + branchName?: pulumi.Input; + deploymentProperties?: pulumi.Input; + /** + * Path to Dockerfile Build Context within the repository. + */ + dockerBuildContext?: pulumi.Input; + /** + * Path to the Dockerfile within the repository. + */ + dockerfile?: pulumi.Input; + lastWorkflowRun?: pulumi.Input; + /** + * Kubernetes namespace the application is deployed to. + */ + namespace?: pulumi.Input; + /** + * The fields needed for OIDC with GitHub. + */ + oidcCredentials?: pulumi.Input; + /** + * Repository Name + */ + repositoryName?: pulumi.Input; + /** + * Repository Owner + */ + repositoryOwner?: pulumi.Input; + } + /** * The fields needed for OIDC with GitHub. */ @@ -206165,6 +206253,50 @@ export namespace devhub { overrides?: pulumi.Input<{[key: string]: pulumi.Input}>; } + /** + * GitHub Workflow Profile + */ + export interface GitHubWorkflowProfileArgs { + /** + * Information on the azure container registry + */ + acr?: pulumi.Input; + /** + * The Azure Kubernetes Cluster Resource the application will be deployed to. + */ + aksResourceId?: pulumi.Input; + /** + * Repository Branch Name + */ + branchName?: pulumi.Input; + deploymentProperties?: pulumi.Input; + /** + * Path to Dockerfile Build Context within the repository. + */ + dockerBuildContext?: pulumi.Input; + /** + * Path to the Dockerfile within the repository. + */ + dockerfile?: pulumi.Input; + lastWorkflowRun?: pulumi.Input; + /** + * Kubernetes namespace the application is deployed to. + */ + namespace?: pulumi.Input; + /** + * The fields needed for OIDC with GitHub. + */ + oidcCredentials?: pulumi.Input; + /** + * Repository Name + */ + repositoryName?: pulumi.Input; + /** + * Repository Owner + */ + repositoryOwner?: pulumi.Input; + } + /** * The fields needed for OIDC with GitHub. */ @@ -206231,6 +206363,50 @@ export namespace devhub { overrides?: pulumi.Input<{[key: string]: pulumi.Input}>; } + /** + * GitHub Workflow Profile + */ + export interface GitHubWorkflowProfileArgs { + /** + * Information on the azure container registry + */ + acr?: pulumi.Input; + /** + * The Azure Kubernetes Cluster Resource the application will be deployed to. + */ + aksResourceId?: pulumi.Input; + /** + * Repository Branch Name + */ + branchName?: pulumi.Input; + deploymentProperties?: pulumi.Input; + /** + * Path to Dockerfile Build Context within the repository. + */ + dockerBuildContext?: pulumi.Input; + /** + * Path to the Dockerfile within the repository. + */ + dockerfile?: pulumi.Input; + lastWorkflowRun?: pulumi.Input; + /** + * Kubernetes namespace the application is deployed to. + */ + namespace?: pulumi.Input; + /** + * The fields needed for OIDC with GitHub. + */ + oidcCredentials?: pulumi.Input; + /** + * Repository Name + */ + repositoryName?: pulumi.Input; + /** + * Repository Owner + */ + repositoryOwner?: pulumi.Input; + } + /** * The fields needed for OIDC with GitHub. */ @@ -252361,6 +252537,58 @@ export namespace insights { */ supportsEmailNotifications?: pulumi.Input; } + + /** + * Properties that contain a workbook. + */ + export interface WorkbookPropertiesArgs { + /** + * Workbook category, as defined by the user at creation time. + */ + category: pulumi.Input; + /** + * The user-defined name of the workbook. + */ + name: pulumi.Input; + /** + * Configuration of this particular workbook. Configuration data is a string containing valid JSON + */ + serializedData: pulumi.Input; + /** + * Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. + */ + sharedTypeKind: pulumi.Input; + /** + * Optional resourceId for a source resource. + */ + sourceResourceId?: pulumi.Input; + /** + * A list of 0 or more tags that are associated with this workbook definition + */ + tags?: pulumi.Input[]>; + /** + * Unique user id of the specific user that owns this workbook. + */ + userId: pulumi.Input; + /** + * This instance's version of the data model. This can change as new features are added that can be marked workbook. + */ + version?: pulumi.Input; + /** + * Internally assigned unique id of the workbook definition. + */ + workbookId: pulumi.Input; + } + /** + * workbookPropertiesArgsProvideDefaults sets the appropriate defaults for WorkbookPropertiesArgs + */ + export function workbookPropertiesArgsProvideDefaults(val: WorkbookPropertiesArgs): WorkbookPropertiesArgs { + return { + ...val, + sharedTypeKind: (val.sharedTypeKind) ?? "shared", + }; + } + } export namespace v20160301 { @@ -364545,6 +364773,52 @@ export namespace network { publicCertData: pulumi.Input; } + /** + * Parameters for P2SVpnServerConfiguration. + */ + export interface P2SVpnServerConfigurationPropertiesArgs { + /** + * A unique read-only string that changes whenever the resource is updated. + */ + etag?: pulumi.Input; + /** + * The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + */ + name?: pulumi.Input; + /** + * Radius client root certificate of P2SVpnServerConfiguration. + */ + p2SVpnServerConfigRadiusClientRootCertificates?: pulumi.Input[]>; + /** + * Radius Server root certificate of P2SVpnServerConfiguration. + */ + p2SVpnServerConfigRadiusServerRootCertificates?: pulumi.Input[]>; + /** + * VPN client revoked certificate of P2SVpnServerConfiguration. + */ + p2SVpnServerConfigVpnClientRevokedCertificates?: pulumi.Input[]>; + /** + * VPN client root certificate of P2SVpnServerConfiguration. + */ + p2SVpnServerConfigVpnClientRootCertificates?: pulumi.Input[]>; + /** + * The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: pulumi.Input; + /** + * The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: pulumi.Input; + /** + * VpnClientIpsecPolicies for P2SVpnServerConfiguration. + */ + vpnClientIpsecPolicies?: pulumi.Input[]>; + /** + * VPN protocols for the P2SVpnServerConfiguration. + */ + vpnProtocols?: pulumi.Input[]>; + } + /** * Filter that is applied to packet capture request. Multiple filters can be applied. */ @@ -366928,6 +367202,64 @@ export namespace network { name?: pulumi.Input; } + /** + * Parameters for VpnServerConfiguration. + */ + export interface VpnServerConfigurationPropertiesArgs { + /** + * The set of aad vpn authentication parameters. + */ + aadAuthenticationParameters?: pulumi.Input; + /** + * List of all VpnServerConfigurationPolicyGroups. + */ + configurationPolicyGroups?: pulumi.Input[]>; + /** + * The name of the VpnServerConfiguration that is unique within a resource group. + */ + name?: pulumi.Input; + /** + * Radius client root certificate of VpnServerConfiguration. + */ + radiusClientRootCertificates?: pulumi.Input[]>; + /** + * The radius server address property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: pulumi.Input; + /** + * Radius Server root certificate of VpnServerConfiguration. + */ + radiusServerRootCertificates?: pulumi.Input[]>; + /** + * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: pulumi.Input; + /** + * Multiple Radius Server configuration for VpnServerConfiguration. + */ + radiusServers?: pulumi.Input[]>; + /** + * VPN authentication types for the VpnServerConfiguration. + */ + vpnAuthenticationTypes?: pulumi.Input[]>; + /** + * VpnClientIpsecPolicies for VpnServerConfiguration. + */ + vpnClientIpsecPolicies?: pulumi.Input[]>; + /** + * VPN client revoked certificate of VpnServerConfiguration. + */ + vpnClientRevokedCertificates?: pulumi.Input[]>; + /** + * VPN client root certificate of VpnServerConfiguration. + */ + vpnClientRootCertificates?: pulumi.Input[]>; + /** + * VPN protocols for the VpnServerConfiguration. + */ + vpnProtocols?: pulumi.Input[]>; + } + /** * VpnSiteLink Resource. */ @@ -372857,14 +373189,28 @@ export namespace network { * P2SVpnServerConfiguration Resource. */ export interface P2SVpnServerConfigurationArgs { - /** - * A unique read-only string that changes whenever the resource is updated. - */ - etag?: pulumi.Input; /** * Resource ID. */ id?: pulumi.Input; + /** + * The name of the resource that is unique within a resource group. This name can be used to access the resource. + */ + name?: pulumi.Input; + /** + * Properties of the P2SVpnServer configuration. + */ + properties?: pulumi.Input; + } + + /** + * Parameters for P2SVpnServerConfiguration. + */ + export interface P2SVpnServerConfigurationPropertiesArgs { + /** + * A unique read-only string that changes whenever the resource is updated. + */ + etag?: pulumi.Input; /** * The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. */ @@ -386206,6 +386552,64 @@ export namespace network { name?: pulumi.Input; } + /** + * Parameters for VpnServerConfiguration. + */ + export interface VpnServerConfigurationPropertiesArgs { + /** + * The set of aad vpn authentication parameters. + */ + aadAuthenticationParameters?: pulumi.Input; + /** + * List of all VpnServerConfigurationPolicyGroups. + */ + configurationPolicyGroups?: pulumi.Input[]>; + /** + * The name of the VpnServerConfiguration that is unique within a resource group. + */ + name?: pulumi.Input; + /** + * Radius client root certificate of VpnServerConfiguration. + */ + radiusClientRootCertificates?: pulumi.Input[]>; + /** + * The radius server address property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: pulumi.Input; + /** + * Radius Server root certificate of VpnServerConfiguration. + */ + radiusServerRootCertificates?: pulumi.Input[]>; + /** + * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: pulumi.Input; + /** + * Multiple Radius Server configuration for VpnServerConfiguration. + */ + radiusServers?: pulumi.Input[]>; + /** + * VPN authentication types for the VpnServerConfiguration. + */ + vpnAuthenticationTypes?: pulumi.Input[]>; + /** + * VpnClientIpsecPolicies for VpnServerConfiguration. + */ + vpnClientIpsecPolicies?: pulumi.Input[]>; + /** + * VPN client revoked certificate of VpnServerConfiguration. + */ + vpnClientRevokedCertificates?: pulumi.Input[]>; + /** + * VPN client root certificate of VpnServerConfiguration. + */ + vpnClientRootCertificates?: pulumi.Input[]>; + /** + * VPN protocols for the VpnServerConfiguration. + */ + vpnProtocols?: pulumi.Input[]>; + } + /** * VpnSiteLink Resource. */ @@ -392385,6 +392789,64 @@ export namespace network { name?: pulumi.Input; } + /** + * Parameters for VpnServerConfiguration. + */ + export interface VpnServerConfigurationPropertiesArgs { + /** + * The set of aad vpn authentication parameters. + */ + aadAuthenticationParameters?: pulumi.Input; + /** + * List of all VpnServerConfigurationPolicyGroups. + */ + configurationPolicyGroups?: pulumi.Input[]>; + /** + * The name of the VpnServerConfiguration that is unique within a resource group. + */ + name?: pulumi.Input; + /** + * Radius client root certificate of VpnServerConfiguration. + */ + radiusClientRootCertificates?: pulumi.Input[]>; + /** + * The radius server address property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: pulumi.Input; + /** + * Radius Server root certificate of VpnServerConfiguration. + */ + radiusServerRootCertificates?: pulumi.Input[]>; + /** + * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: pulumi.Input; + /** + * Multiple Radius Server configuration for VpnServerConfiguration. + */ + radiusServers?: pulumi.Input[]>; + /** + * VPN authentication types for the VpnServerConfiguration. + */ + vpnAuthenticationTypes?: pulumi.Input[]>; + /** + * VpnClientIpsecPolicies for VpnServerConfiguration. + */ + vpnClientIpsecPolicies?: pulumi.Input[]>; + /** + * VPN client revoked certificate of VpnServerConfiguration. + */ + vpnClientRevokedCertificates?: pulumi.Input[]>; + /** + * VPN client root certificate of VpnServerConfiguration. + */ + vpnClientRootCertificates?: pulumi.Input[]>; + /** + * VPN protocols for the VpnServerConfiguration. + */ + vpnProtocols?: pulumi.Input[]>; + } + /** * VpnSiteLink Resource. */ @@ -398607,6 +399069,64 @@ export namespace network { name?: pulumi.Input; } + /** + * Parameters for VpnServerConfiguration. + */ + export interface VpnServerConfigurationPropertiesArgs { + /** + * The set of aad vpn authentication parameters. + */ + aadAuthenticationParameters?: pulumi.Input; + /** + * List of all VpnServerConfigurationPolicyGroups. + */ + configurationPolicyGroups?: pulumi.Input[]>; + /** + * The name of the VpnServerConfiguration that is unique within a resource group. + */ + name?: pulumi.Input; + /** + * Radius client root certificate of VpnServerConfiguration. + */ + radiusClientRootCertificates?: pulumi.Input[]>; + /** + * The radius server address property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: pulumi.Input; + /** + * Radius Server root certificate of VpnServerConfiguration. + */ + radiusServerRootCertificates?: pulumi.Input[]>; + /** + * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: pulumi.Input; + /** + * Multiple Radius Server configuration for VpnServerConfiguration. + */ + radiusServers?: pulumi.Input[]>; + /** + * VPN authentication types for the VpnServerConfiguration. + */ + vpnAuthenticationTypes?: pulumi.Input[]>; + /** + * VpnClientIpsecPolicies for VpnServerConfiguration. + */ + vpnClientIpsecPolicies?: pulumi.Input[]>; + /** + * VPN client revoked certificate of VpnServerConfiguration. + */ + vpnClientRevokedCertificates?: pulumi.Input[]>; + /** + * VPN client root certificate of VpnServerConfiguration. + */ + vpnClientRootCertificates?: pulumi.Input[]>; + /** + * VPN protocols for the VpnServerConfiguration. + */ + vpnProtocols?: pulumi.Input[]>; + } + /** * VpnSiteLink Resource. */ @@ -402637,6 +403157,36 @@ export namespace network { tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } + /** + * Properties of the NetworkVirtualApplianceConnection subresource. + */ + export interface NetworkVirtualApplianceConnectionPropertiesArgs { + /** + * Network Virtual Appliance ASN. + */ + asn?: pulumi.Input; + /** + * List of bgpPeerAddresses for the NVA instances + */ + bgpPeerAddress?: pulumi.Input[]>; + /** + * Enable internet security. + */ + enableInternetSecurity?: pulumi.Input; + /** + * The name of the resource. + */ + name?: pulumi.Input; + /** + * The Routing Configuration indicating the associated and propagated route tables on this connection. + */ + routingConfiguration?: pulumi.Input; + /** + * Unique identifier for the connection. + */ + tunnelIdentifier?: pulumi.Input; + } + /** * Office365 breakout categories. */ @@ -404847,6 +405397,64 @@ export namespace network { name?: pulumi.Input; } + /** + * Parameters for VpnServerConfiguration. + */ + export interface VpnServerConfigurationPropertiesArgs { + /** + * The set of aad vpn authentication parameters. + */ + aadAuthenticationParameters?: pulumi.Input; + /** + * List of all VpnServerConfigurationPolicyGroups. + */ + configurationPolicyGroups?: pulumi.Input[]>; + /** + * The name of the VpnServerConfiguration that is unique within a resource group. + */ + name?: pulumi.Input; + /** + * Radius client root certificate of VpnServerConfiguration. + */ + radiusClientRootCertificates?: pulumi.Input[]>; + /** + * The radius server address property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: pulumi.Input; + /** + * Radius Server root certificate of VpnServerConfiguration. + */ + radiusServerRootCertificates?: pulumi.Input[]>; + /** + * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: pulumi.Input; + /** + * Multiple Radius Server configuration for VpnServerConfiguration. + */ + radiusServers?: pulumi.Input[]>; + /** + * VPN authentication types for the VpnServerConfiguration. + */ + vpnAuthenticationTypes?: pulumi.Input[]>; + /** + * VpnClientIpsecPolicies for VpnServerConfiguration. + */ + vpnClientIpsecPolicies?: pulumi.Input[]>; + /** + * VPN client revoked certificate of VpnServerConfiguration. + */ + vpnClientRevokedCertificates?: pulumi.Input[]>; + /** + * VPN client root certificate of VpnServerConfiguration. + */ + vpnClientRootCertificates?: pulumi.Input[]>; + /** + * VPN protocols for the VpnServerConfiguration. + */ + vpnProtocols?: pulumi.Input[]>; + } + /** * VpnSiteLink Resource. */ @@ -409168,6 +409776,36 @@ export namespace network { tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } + /** + * Properties of the NetworkVirtualApplianceConnection subresource. + */ + export interface NetworkVirtualApplianceConnectionPropertiesArgs { + /** + * Network Virtual Appliance ASN. + */ + asn?: pulumi.Input; + /** + * List of bgpPeerAddresses for the NVA instances + */ + bgpPeerAddress?: pulumi.Input[]>; + /** + * Enable internet security. + */ + enableInternetSecurity?: pulumi.Input; + /** + * The name of the resource. + */ + name?: pulumi.Input; + /** + * The Routing Configuration indicating the associated and propagated route tables on this connection. + */ + routingConfiguration?: pulumi.Input; + /** + * Unique identifier for the connection. + */ + tunnelIdentifier?: pulumi.Input; + } + /** * Office365 breakout categories. */ @@ -411378,6 +412016,64 @@ export namespace network { name?: pulumi.Input; } + /** + * Parameters for VpnServerConfiguration. + */ + export interface VpnServerConfigurationPropertiesArgs { + /** + * The set of aad vpn authentication parameters. + */ + aadAuthenticationParameters?: pulumi.Input; + /** + * List of all VpnServerConfigurationPolicyGroups. + */ + configurationPolicyGroups?: pulumi.Input[]>; + /** + * The name of the VpnServerConfiguration that is unique within a resource group. + */ + name?: pulumi.Input; + /** + * Radius client root certificate of VpnServerConfiguration. + */ + radiusClientRootCertificates?: pulumi.Input[]>; + /** + * The radius server address property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: pulumi.Input; + /** + * Radius Server root certificate of VpnServerConfiguration. + */ + radiusServerRootCertificates?: pulumi.Input[]>; + /** + * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: pulumi.Input; + /** + * Multiple Radius Server configuration for VpnServerConfiguration. + */ + radiusServers?: pulumi.Input[]>; + /** + * VPN authentication types for the VpnServerConfiguration. + */ + vpnAuthenticationTypes?: pulumi.Input[]>; + /** + * VpnClientIpsecPolicies for VpnServerConfiguration. + */ + vpnClientIpsecPolicies?: pulumi.Input[]>; + /** + * VPN client revoked certificate of VpnServerConfiguration. + */ + vpnClientRevokedCertificates?: pulumi.Input[]>; + /** + * VPN client root certificate of VpnServerConfiguration. + */ + vpnClientRootCertificates?: pulumi.Input[]>; + /** + * VPN protocols for the VpnServerConfiguration. + */ + vpnProtocols?: pulumi.Input[]>; + } + /** * VpnSiteLink Resource. */ @@ -448244,6 +448940,24 @@ export namespace security { ports: pulumi.Input[]>; } + /** + * Properties of Malware Scanning. + */ + export interface MalwareScanningPropertiesArgs { + /** + * Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + */ + capGBPerMonth?: pulumi.Input; + /** + * Indicates whether On Upload malware scanning should be enabled. + */ + isEnabled?: pulumi.Input; + /** + * Optional. Resource id of an Event Grid Topic to send scan results to. + */ + scanResultsEventGridTopicResourceId?: pulumi.Input; + } + /** * Details of the On Premise resource that was assessed */ @@ -448556,6 +449270,16 @@ export namespace security { state?: pulumi.Input; } + /** + * Properties of Sensitive Data Discovery. + */ + export interface SensitiveDataDiscoveryPropertiesArgs { + /** + * Indicates whether Sensitive Data Discovery should be enabled. + */ + isEnabled?: pulumi.Input; + } + /** * Details of the service principal. */ @@ -450061,6 +450785,37 @@ export namespace security { } + export namespace v20221201preview { + /** + * Properties of Malware Scanning. + */ + export interface MalwareScanningPropertiesArgs { + /** + * Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + */ + capGBPerMonth?: pulumi.Input; + /** + * Indicates whether On Upload malware scanning should be enabled. + */ + isEnabled?: pulumi.Input; + /** + * Optional. Resource id of an Event Grid Topic to send scan results to. + */ + scanResultsEventGridTopicResourceId?: pulumi.Input; + } + + /** + * Properties of Sensitive Data Discovery. + */ + export interface SensitiveDataDiscoveryPropertiesArgs { + /** + * Indicates whether Sensitive Data Discovery should be enabled. + */ + isEnabled?: pulumi.Input; + } + + } + export namespace v20230101preview { } diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 120d95b69c2d..3724ea9b4492 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -42914,6 +42914,28 @@ export namespace authorization { type: string; } + /** + * Recurrence Range of an Access Review Schedule Definition. + */ + export interface AccessReviewRecurrenceRangeResponse { + /** + * The DateTime when the review is scheduled to end. Required if type is endDate + */ + endDate?: string; + /** + * The number of times to repeat the access review. Required and must be positive if type is numbered. + */ + numberOfOccurrences?: number; + /** + * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + */ + startDate?: string; + /** + * The recurrence range type. The possible values are: endDate, noEnd, numbered. + */ + type?: string; + } + /** * Descriptor for what needs to be reviewed */ @@ -44584,6 +44606,28 @@ export namespace authorization { type: string; } + /** + * Recurrence Range of an Access Review Schedule Definition. + */ + export interface AccessReviewRecurrenceRangeResponse { + /** + * The DateTime when the review is scheduled to end. Required if type is endDate + */ + endDate?: string; + /** + * The number of times to repeat the access review. Required and must be positive if type is numbered. + */ + numberOfOccurrences?: number; + /** + * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + */ + startDate?: string; + /** + * The recurrence range type. The possible values are: endDate, noEnd, numbered. + */ + type?: string; + } + /** * Descriptor for what needs to be reviewed */ @@ -283018,6 +283062,66 @@ export namespace devhub { overrides?: {[key: string]: string}; } + /** + * GitHub Workflow Profile + */ + export interface GitHubWorkflowProfileResponse { + /** + * Information on the azure container registry + */ + acr?: outputs.devhub.ACRResponse; + /** + * The Azure Kubernetes Cluster Resource the application will be deployed to. + */ + aksResourceId?: string; + /** + * Determines the authorization status of requests. + */ + authStatus: string; + /** + * Repository Branch Name + */ + branchName?: string; + deploymentProperties?: outputs.devhub.DeploymentPropertiesResponse; + /** + * Path to Dockerfile Build Context within the repository. + */ + dockerBuildContext?: string; + /** + * Path to the Dockerfile within the repository. + */ + dockerfile?: string; + lastWorkflowRun?: outputs.devhub.WorkflowRunResponse; + /** + * Kubernetes namespace the application is deployed to. + */ + namespace?: string; + /** + * The fields needed for OIDC with GitHub. + */ + oidcCredentials?: outputs.devhub.GitHubWorkflowProfileResponseOidcCredentials; + /** + * The status of the Pull Request submitted against the users repository. + */ + prStatus: string; + /** + * The URL to the Pull Request submitted against the users repository. + */ + prURL: string; + /** + * The number associated with the submitted pull request. + */ + pullNumber: number; + /** + * Repository Name + */ + repositoryName?: string; + /** + * Repository Owner + */ + repositoryOwner?: string; + } + /** * The fields needed for OIDC with GitHub. */ @@ -283124,6 +283228,66 @@ export namespace devhub { overrides?: {[key: string]: string}; } + /** + * GitHub Workflow Profile + */ + export interface GitHubWorkflowProfileResponse { + /** + * Information on the azure container registry + */ + acr?: outputs.devhub.v20221011preview.ACRResponse; + /** + * The Azure Kubernetes Cluster Resource the application will be deployed to. + */ + aksResourceId?: string; + /** + * Determines the authorization status of requests. + */ + authStatus: string; + /** + * Repository Branch Name + */ + branchName?: string; + deploymentProperties?: outputs.devhub.v20221011preview.DeploymentPropertiesResponse; + /** + * Path to Dockerfile Build Context within the repository. + */ + dockerBuildContext?: string; + /** + * Path to the Dockerfile within the repository. + */ + dockerfile?: string; + lastWorkflowRun?: outputs.devhub.v20221011preview.WorkflowRunResponse; + /** + * Kubernetes namespace the application is deployed to. + */ + namespace?: string; + /** + * The fields needed for OIDC with GitHub. + */ + oidcCredentials?: outputs.devhub.v20221011preview.GitHubWorkflowProfileResponseOidcCredentials; + /** + * The status of the Pull Request submitted against the users repository. + */ + prStatus: string; + /** + * The URL to the Pull Request submitted against the users repository. + */ + prURL: string; + /** + * The number associated with the submitted pull request. + */ + pullNumber: number; + /** + * Repository Name + */ + repositoryName?: string; + /** + * Repository Owner + */ + repositoryOwner?: string; + } + /** * The fields needed for OIDC with GitHub. */ @@ -283232,6 +283396,66 @@ export namespace devhub { overrides?: {[key: string]: string}; } + /** + * GitHub Workflow Profile + */ + export interface GitHubWorkflowProfileResponse { + /** + * Information on the azure container registry + */ + acr?: outputs.devhub.v20230801.ACRResponse; + /** + * The Azure Kubernetes Cluster Resource the application will be deployed to. + */ + aksResourceId?: string; + /** + * Determines the authorization status of requests. + */ + authStatus: string; + /** + * Repository Branch Name + */ + branchName?: string; + deploymentProperties?: outputs.devhub.v20230801.DeploymentPropertiesResponse; + /** + * Path to Dockerfile Build Context within the repository. + */ + dockerBuildContext?: string; + /** + * Path to the Dockerfile within the repository. + */ + dockerfile?: string; + lastWorkflowRun?: outputs.devhub.v20230801.WorkflowRunResponse; + /** + * Kubernetes namespace the application is deployed to. + */ + namespace?: string; + /** + * The fields needed for OIDC with GitHub. + */ + oidcCredentials?: outputs.devhub.v20230801.GitHubWorkflowProfileResponseOidcCredentials; + /** + * The status of the Pull Request submitted against the users repository. + */ + prStatus: string; + /** + * The URL to the Pull Request submitted against the users repository. + */ + prURL: string; + /** + * The number associated with the submitted pull request. + */ + pullNumber: number; + /** + * Repository Name + */ + repositoryName?: string; + /** + * Repository Owner + */ + repositoryOwner?: string; + } + /** * The fields needed for OIDC with GitHub. */ @@ -347588,6 +347812,61 @@ export namespace insights { supportsEmailNotifications?: boolean; } + /** + * Properties that contain a workbook. + */ + export interface WorkbookPropertiesResponse { + /** + * Workbook category, as defined by the user at creation time. + */ + category: string; + /** + * The user-defined name of the workbook. + */ + name: string; + /** + * Configuration of this particular workbook. Configuration data is a string containing valid JSON + */ + serializedData: string; + /** + * Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. + */ + sharedTypeKind: string; + /** + * Optional resourceId for a source resource. + */ + sourceResourceId?: string; + /** + * A list of 0 or more tags that are associated with this workbook definition + */ + tags?: string[]; + /** + * Date and time in UTC of the last modification that was made to this workbook definition. + */ + timeModified: string; + /** + * Unique user id of the specific user that owns this workbook. + */ + userId: string; + /** + * This instance's version of the data model. This can change as new features are added that can be marked workbook. + */ + version?: string; + /** + * Internally assigned unique id of the workbook definition. + */ + workbookId: string; + } + /** + * workbookPropertiesResponseProvideDefaults sets the appropriate defaults for WorkbookPropertiesResponse + */ + export function workbookPropertiesResponseProvideDefaults(val: WorkbookPropertiesResponse): WorkbookPropertiesResponse { + return { + ...val, + sharedTypeKind: (val.sharedTypeKind) ?? "shared", + }; + } + } export namespace v20160301 { @@ -475402,6 +475681,52 @@ export namespace netapp { } export namespace v20210401 { + /** + * Backup policy properties + */ + export interface BackupPolicyPropertiesResponse { + /** + * Backup Policy Resource ID + */ + backupPolicyId: string; + /** + * Daily backups count to keep + */ + dailyBackupsToKeep?: number; + /** + * The property to decide policy is enabled or not + */ + enabled?: boolean; + /** + * Monthly backups count to keep + */ + monthlyBackupsToKeep?: number; + /** + * Name of backup policy + */ + name: string; + /** + * Azure lifecycle management + */ + provisioningState: string; + /** + * A list of volumes assigned to this policy + */ + volumeBackups?: outputs.netapp.v20210401.VolumeBackupsResponse[]; + /** + * Volumes using current backup policy + */ + volumesAssigned?: number; + /** + * Weekly backups count to keep + */ + weeklyBackupsToKeep?: number; + /** + * Yearly backups count to keep + */ + yearlyBackupsToKeep?: number; + } + /** * Metadata pertaining to creation and last modification of the resource. */ @@ -475453,6 +475778,48 @@ export namespace netapp { } export namespace v20210401preview { + /** + * Backup policy properties + */ + export interface BackupPolicyPropertiesResponse { + /** + * Daily backups count to keep + */ + dailyBackupsToKeep?: number; + /** + * The property to decide policy is enabled or not + */ + enabled?: boolean; + /** + * Monthly backups count to keep + */ + monthlyBackupsToKeep?: number; + /** + * Name of backup policy + */ + name: string; + /** + * Azure lifecycle management + */ + provisioningState: string; + /** + * A list of volumes assigned to this policy + */ + volumeBackups?: outputs.netapp.v20210401preview.VolumeBackupsResponse[]; + /** + * Volumes using current backup policy + */ + volumesAssigned?: number; + /** + * Weekly backups count to keep + */ + weeklyBackupsToKeep?: number; + /** + * Yearly backups count to keep + */ + yearlyBackupsToKeep?: number; + } + /** * Volume details using the backup policy */ @@ -488355,6 +488722,60 @@ export namespace network { publicCertData: string; } + /** + * Parameters for P2SVpnServerConfiguration. + */ + export interface P2SVpnServerConfigurationPropertiesResponse { + /** + * A unique read-only string that changes whenever the resource is updated. + */ + etag?: string; + /** + * The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + */ + name?: string; + /** + * List of references to P2SVpnGateways. + */ + p2SVpnGateways: outputs.network.SubResourceResponse[]; + /** + * Radius client root certificate of P2SVpnServerConfiguration. + */ + p2SVpnServerConfigRadiusClientRootCertificates?: outputs.network.P2SVpnServerConfigRadiusClientRootCertificateResponse[]; + /** + * Radius Server root certificate of P2SVpnServerConfiguration. + */ + p2SVpnServerConfigRadiusServerRootCertificates?: outputs.network.P2SVpnServerConfigRadiusServerRootCertificateResponse[]; + /** + * VPN client revoked certificate of P2SVpnServerConfiguration. + */ + p2SVpnServerConfigVpnClientRevokedCertificates?: outputs.network.P2SVpnServerConfigVpnClientRevokedCertificateResponse[]; + /** + * VPN client root certificate of P2SVpnServerConfiguration. + */ + p2SVpnServerConfigVpnClientRootCertificates?: outputs.network.P2SVpnServerConfigVpnClientRootCertificateResponse[]; + /** + * The provisioning state of the P2S VPN server configuration resource. + */ + provisioningState: string; + /** + * The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: string; + /** + * The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: string; + /** + * VpnClientIpsecPolicies for P2SVpnServerConfiguration. + */ + vpnClientIpsecPolicies?: outputs.network.IpsecPolicyResponse[]; + /** + * VPN protocols for the P2SVpnServerConfiguration. + */ + vpnProtocols?: string[]; + } + /** * Filter that is applied to packet capture request. Multiple filters can be applied. */ @@ -491667,6 +492088,76 @@ export namespace network { type: string; } + /** + * Parameters for VpnServerConfiguration. + */ + export interface VpnServerConfigurationPropertiesResponse { + /** + * The set of aad vpn authentication parameters. + */ + aadAuthenticationParameters?: outputs.network.AadAuthenticationParametersResponse; + /** + * List of all VpnServerConfigurationPolicyGroups. + */ + configurationPolicyGroups?: outputs.network.VpnServerConfigurationPolicyGroupResponse[]; + /** + * A unique read-only string that changes whenever the resource is updated. + */ + etag: string; + /** + * The name of the VpnServerConfiguration that is unique within a resource group. + */ + name?: string; + /** + * List of references to P2SVpnGateways. + */ + p2SVpnGateways: outputs.network.P2SVpnGatewayResponse[]; + /** + * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + */ + provisioningState: string; + /** + * Radius client root certificate of VpnServerConfiguration. + */ + radiusClientRootCertificates?: outputs.network.VpnServerConfigRadiusClientRootCertificateResponse[]; + /** + * The radius server address property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: string; + /** + * Radius Server root certificate of VpnServerConfiguration. + */ + radiusServerRootCertificates?: outputs.network.VpnServerConfigRadiusServerRootCertificateResponse[]; + /** + * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: string; + /** + * Multiple Radius Server configuration for VpnServerConfiguration. + */ + radiusServers?: outputs.network.RadiusServerResponse[]; + /** + * VPN authentication types for the VpnServerConfiguration. + */ + vpnAuthenticationTypes?: string[]; + /** + * VpnClientIpsecPolicies for VpnServerConfiguration. + */ + vpnClientIpsecPolicies?: outputs.network.IpsecPolicyResponse[]; + /** + * VPN client revoked certificate of VpnServerConfiguration. + */ + vpnClientRevokedCertificates?: outputs.network.VpnServerConfigVpnClientRevokedCertificateResponse[]; + /** + * VPN client root certificate of VpnServerConfiguration. + */ + vpnClientRootCertificates?: outputs.network.VpnServerConfigVpnClientRootCertificateResponse[]; + /** + * VPN protocols for the VpnServerConfiguration. + */ + vpnProtocols?: string[]; + } + /** * VpnSiteLinkConnection Resource. */ @@ -501167,17 +501658,13 @@ export namespace network { } /** - * P2SVpnServerConfiguration Resource. + * Parameters for P2SVpnServerConfiguration. */ - export interface P2SVpnServerConfigurationResponse { + export interface P2SVpnServerConfigurationPropertiesResponse { /** * A unique read-only string that changes whenever the resource is updated. */ - etag: string; - /** - * Resource ID. - */ - id?: string; + etag?: string; /** * The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. */ @@ -501224,6 +501711,28 @@ export namespace network { vpnProtocols?: string[]; } + /** + * P2SVpnServerConfiguration Resource. + */ + export interface P2SVpnServerConfigurationResponse { + /** + * A unique read-only string that changes whenever the resource is updated. + */ + etag: string; + /** + * Resource ID. + */ + id?: string; + /** + * The name of the resource that is unique within a resource group. This name can be used to access the resource. + */ + name?: string; + /** + * Properties of the P2SVpnServer configuration. + */ + properties?: outputs.network.v20190701.P2SVpnServerConfigurationPropertiesResponse; + } + /** * Defines contents of a web application firewall global configuration. */ @@ -526707,6 +527216,76 @@ export namespace network { type: string; } + /** + * Parameters for VpnServerConfiguration. + */ + export interface VpnServerConfigurationPropertiesResponse { + /** + * The set of aad vpn authentication parameters. + */ + aadAuthenticationParameters?: outputs.network.v20230201.AadAuthenticationParametersResponse; + /** + * List of all VpnServerConfigurationPolicyGroups. + */ + configurationPolicyGroups?: outputs.network.v20230201.VpnServerConfigurationPolicyGroupResponse[]; + /** + * A unique read-only string that changes whenever the resource is updated. + */ + etag: string; + /** + * The name of the VpnServerConfiguration that is unique within a resource group. + */ + name?: string; + /** + * List of references to P2SVpnGateways. + */ + p2SVpnGateways: outputs.network.v20230201.P2SVpnGatewayResponse[]; + /** + * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + */ + provisioningState: string; + /** + * Radius client root certificate of VpnServerConfiguration. + */ + radiusClientRootCertificates?: outputs.network.v20230201.VpnServerConfigRadiusClientRootCertificateResponse[]; + /** + * The radius server address property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: string; + /** + * Radius Server root certificate of VpnServerConfiguration. + */ + radiusServerRootCertificates?: outputs.network.v20230201.VpnServerConfigRadiusServerRootCertificateResponse[]; + /** + * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: string; + /** + * Multiple Radius Server configuration for VpnServerConfiguration. + */ + radiusServers?: outputs.network.v20230201.RadiusServerResponse[]; + /** + * VPN authentication types for the VpnServerConfiguration. + */ + vpnAuthenticationTypes?: string[]; + /** + * VpnClientIpsecPolicies for VpnServerConfiguration. + */ + vpnClientIpsecPolicies?: outputs.network.v20230201.IpsecPolicyResponse[]; + /** + * VPN client revoked certificate of VpnServerConfiguration. + */ + vpnClientRevokedCertificates?: outputs.network.v20230201.VpnServerConfigVpnClientRevokedCertificateResponse[]; + /** + * VPN client root certificate of VpnServerConfiguration. + */ + vpnClientRootCertificates?: outputs.network.v20230201.VpnServerConfigVpnClientRootCertificateResponse[]; + /** + * VPN protocols for the VpnServerConfiguration. + */ + vpnProtocols?: string[]; + } + /** * VpnSiteLinkConnection Resource. */ @@ -535951,6 +536530,76 @@ export namespace network { type: string; } + /** + * Parameters for VpnServerConfiguration. + */ + export interface VpnServerConfigurationPropertiesResponse { + /** + * The set of aad vpn authentication parameters. + */ + aadAuthenticationParameters?: outputs.network.v20230401.AadAuthenticationParametersResponse; + /** + * List of all VpnServerConfigurationPolicyGroups. + */ + configurationPolicyGroups?: outputs.network.v20230401.VpnServerConfigurationPolicyGroupResponse[]; + /** + * A unique read-only string that changes whenever the resource is updated. + */ + etag: string; + /** + * The name of the VpnServerConfiguration that is unique within a resource group. + */ + name?: string; + /** + * List of references to P2SVpnGateways. + */ + p2SVpnGateways: outputs.network.v20230401.P2SVpnGatewayResponse[]; + /** + * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + */ + provisioningState: string; + /** + * Radius client root certificate of VpnServerConfiguration. + */ + radiusClientRootCertificates?: outputs.network.v20230401.VpnServerConfigRadiusClientRootCertificateResponse[]; + /** + * The radius server address property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: string; + /** + * Radius Server root certificate of VpnServerConfiguration. + */ + radiusServerRootCertificates?: outputs.network.v20230401.VpnServerConfigRadiusServerRootCertificateResponse[]; + /** + * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: string; + /** + * Multiple Radius Server configuration for VpnServerConfiguration. + */ + radiusServers?: outputs.network.v20230401.RadiusServerResponse[]; + /** + * VPN authentication types for the VpnServerConfiguration. + */ + vpnAuthenticationTypes?: string[]; + /** + * VpnClientIpsecPolicies for VpnServerConfiguration. + */ + vpnClientIpsecPolicies?: outputs.network.v20230401.IpsecPolicyResponse[]; + /** + * VPN client revoked certificate of VpnServerConfiguration. + */ + vpnClientRevokedCertificates?: outputs.network.v20230401.VpnServerConfigVpnClientRevokedCertificateResponse[]; + /** + * VPN client root certificate of VpnServerConfiguration. + */ + vpnClientRootCertificates?: outputs.network.v20230401.VpnServerConfigVpnClientRootCertificateResponse[]; + /** + * VPN protocols for the VpnServerConfiguration. + */ + vpnProtocols?: string[]; + } + /** * VpnSiteLinkConnection Resource. */ @@ -545238,6 +545887,76 @@ export namespace network { type: string; } + /** + * Parameters for VpnServerConfiguration. + */ + export interface VpnServerConfigurationPropertiesResponse { + /** + * The set of aad vpn authentication parameters. + */ + aadAuthenticationParameters?: outputs.network.v20230501.AadAuthenticationParametersResponse; + /** + * List of all VpnServerConfigurationPolicyGroups. + */ + configurationPolicyGroups?: outputs.network.v20230501.VpnServerConfigurationPolicyGroupResponse[]; + /** + * A unique read-only string that changes whenever the resource is updated. + */ + etag: string; + /** + * The name of the VpnServerConfiguration that is unique within a resource group. + */ + name?: string; + /** + * List of references to P2SVpnGateways. + */ + p2SVpnGateways: outputs.network.v20230501.P2SVpnGatewayResponse[]; + /** + * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + */ + provisioningState: string; + /** + * Radius client root certificate of VpnServerConfiguration. + */ + radiusClientRootCertificates?: outputs.network.v20230501.VpnServerConfigRadiusClientRootCertificateResponse[]; + /** + * The radius server address property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: string; + /** + * Radius Server root certificate of VpnServerConfiguration. + */ + radiusServerRootCertificates?: outputs.network.v20230501.VpnServerConfigRadiusServerRootCertificateResponse[]; + /** + * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: string; + /** + * Multiple Radius Server configuration for VpnServerConfiguration. + */ + radiusServers?: outputs.network.v20230501.RadiusServerResponse[]; + /** + * VPN authentication types for the VpnServerConfiguration. + */ + vpnAuthenticationTypes?: string[]; + /** + * VpnClientIpsecPolicies for VpnServerConfiguration. + */ + vpnClientIpsecPolicies?: outputs.network.v20230501.IpsecPolicyResponse[]; + /** + * VPN client revoked certificate of VpnServerConfiguration. + */ + vpnClientRevokedCertificates?: outputs.network.v20230501.VpnServerConfigVpnClientRevokedCertificateResponse[]; + /** + * VPN client root certificate of VpnServerConfiguration. + */ + vpnClientRootCertificates?: outputs.network.v20230501.VpnServerConfigVpnClientRootCertificateResponse[]; + /** + * VPN protocols for the VpnServerConfiguration. + */ + vpnProtocols?: string[]; + } + /** * VpnSiteLinkConnection Resource. */ @@ -551333,6 +552052,40 @@ export namespace network { type: string; } + /** + * Properties of the NetworkVirtualApplianceConnection subresource. + */ + export interface NetworkVirtualApplianceConnectionPropertiesResponse { + /** + * Network Virtual Appliance ASN. + */ + asn?: number; + /** + * List of bgpPeerAddresses for the NVA instances + */ + bgpPeerAddress?: string[]; + /** + * Enable internet security. + */ + enableInternetSecurity?: boolean; + /** + * The name of the resource. + */ + name?: string; + /** + * The provisioning state of the NetworkVirtualApplianceConnection resource. + */ + provisioningState: string; + /** + * The Routing Configuration indicating the associated and propagated route tables on this connection. + */ + routingConfiguration?: outputs.network.v20230601.RoutingConfigurationResponse; + /** + * Unique identifier for the connection. + */ + tunnelIdentifier?: number; + } + /** * Office365 breakout categories. */ @@ -554543,6 +555296,76 @@ export namespace network { type: string; } + /** + * Parameters for VpnServerConfiguration. + */ + export interface VpnServerConfigurationPropertiesResponse { + /** + * The set of aad vpn authentication parameters. + */ + aadAuthenticationParameters?: outputs.network.v20230601.AadAuthenticationParametersResponse; + /** + * List of all VpnServerConfigurationPolicyGroups. + */ + configurationPolicyGroups?: outputs.network.v20230601.VpnServerConfigurationPolicyGroupResponse[]; + /** + * A unique read-only string that changes whenever the resource is updated. + */ + etag: string; + /** + * The name of the VpnServerConfiguration that is unique within a resource group. + */ + name?: string; + /** + * List of references to P2SVpnGateways. + */ + p2SVpnGateways: outputs.network.v20230601.P2SVpnGatewayResponse[]; + /** + * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + */ + provisioningState: string; + /** + * Radius client root certificate of VpnServerConfiguration. + */ + radiusClientRootCertificates?: outputs.network.v20230601.VpnServerConfigRadiusClientRootCertificateResponse[]; + /** + * The radius server address property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: string; + /** + * Radius Server root certificate of VpnServerConfiguration. + */ + radiusServerRootCertificates?: outputs.network.v20230601.VpnServerConfigRadiusServerRootCertificateResponse[]; + /** + * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: string; + /** + * Multiple Radius Server configuration for VpnServerConfiguration. + */ + radiusServers?: outputs.network.v20230601.RadiusServerResponse[]; + /** + * VPN authentication types for the VpnServerConfiguration. + */ + vpnAuthenticationTypes?: string[]; + /** + * VpnClientIpsecPolicies for VpnServerConfiguration. + */ + vpnClientIpsecPolicies?: outputs.network.v20230601.IpsecPolicyResponse[]; + /** + * VPN client revoked certificate of VpnServerConfiguration. + */ + vpnClientRevokedCertificates?: outputs.network.v20230601.VpnServerConfigVpnClientRevokedCertificateResponse[]; + /** + * VPN client root certificate of VpnServerConfiguration. + */ + vpnClientRootCertificates?: outputs.network.v20230601.VpnServerConfigVpnClientRootCertificateResponse[]; + /** + * VPN protocols for the VpnServerConfiguration. + */ + vpnProtocols?: string[]; + } + /** * VpnSiteLinkConnection Resource. */ @@ -561032,6 +561855,40 @@ export namespace network { type: string; } + /** + * Properties of the NetworkVirtualApplianceConnection subresource. + */ + export interface NetworkVirtualApplianceConnectionPropertiesResponse { + /** + * Network Virtual Appliance ASN. + */ + asn?: number; + /** + * List of bgpPeerAddresses for the NVA instances + */ + bgpPeerAddress?: string[]; + /** + * Enable internet security. + */ + enableInternetSecurity?: boolean; + /** + * The name of the resource. + */ + name?: string; + /** + * The provisioning state of the NetworkVirtualApplianceConnection resource. + */ + provisioningState: string; + /** + * The Routing Configuration indicating the associated and propagated route tables on this connection. + */ + routingConfiguration?: outputs.network.v20230901.RoutingConfigurationResponse; + /** + * Unique identifier for the connection. + */ + tunnelIdentifier?: number; + } + /** * Office365 breakout categories. */ @@ -564242,6 +565099,76 @@ export namespace network { type: string; } + /** + * Parameters for VpnServerConfiguration. + */ + export interface VpnServerConfigurationPropertiesResponse { + /** + * The set of aad vpn authentication parameters. + */ + aadAuthenticationParameters?: outputs.network.v20230901.AadAuthenticationParametersResponse; + /** + * List of all VpnServerConfigurationPolicyGroups. + */ + configurationPolicyGroups?: outputs.network.v20230901.VpnServerConfigurationPolicyGroupResponse[]; + /** + * A unique read-only string that changes whenever the resource is updated. + */ + etag: string; + /** + * The name of the VpnServerConfiguration that is unique within a resource group. + */ + name?: string; + /** + * List of references to P2SVpnGateways. + */ + p2SVpnGateways: outputs.network.v20230901.P2SVpnGatewayResponse[]; + /** + * The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + */ + provisioningState: string; + /** + * Radius client root certificate of VpnServerConfiguration. + */ + radiusClientRootCertificates?: outputs.network.v20230901.VpnServerConfigRadiusClientRootCertificateResponse[]; + /** + * The radius server address property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerAddress?: string; + /** + * Radius Server root certificate of VpnServerConfiguration. + */ + radiusServerRootCertificates?: outputs.network.v20230901.VpnServerConfigRadiusServerRootCertificateResponse[]; + /** + * The radius secret property of the VpnServerConfiguration resource for point to site client connection. + */ + radiusServerSecret?: string; + /** + * Multiple Radius Server configuration for VpnServerConfiguration. + */ + radiusServers?: outputs.network.v20230901.RadiusServerResponse[]; + /** + * VPN authentication types for the VpnServerConfiguration. + */ + vpnAuthenticationTypes?: string[]; + /** + * VpnClientIpsecPolicies for VpnServerConfiguration. + */ + vpnClientIpsecPolicies?: outputs.network.v20230901.IpsecPolicyResponse[]; + /** + * VPN client revoked certificate of VpnServerConfiguration. + */ + vpnClientRevokedCertificates?: outputs.network.v20230901.VpnServerConfigVpnClientRevokedCertificateResponse[]; + /** + * VPN client root certificate of VpnServerConfiguration. + */ + vpnClientRootCertificates?: outputs.network.v20230901.VpnServerConfigVpnClientRootCertificateResponse[]; + /** + * VPN protocols for the VpnServerConfiguration. + */ + vpnProtocols?: string[]; + } + /** * VpnSiteLinkConnection Resource. */ @@ -627727,6 +628654,28 @@ export namespace security { ports: outputs.security.JitNetworkAccessRequestPortResponse[]; } + /** + * Properties of Malware Scanning. + */ + export interface MalwareScanningPropertiesResponse { + /** + * Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + */ + capGBPerMonth?: number; + /** + * Indicates whether On Upload malware scanning should be enabled. + */ + isEnabled?: boolean; + /** + * Upon failure or partial success. Additional data describing Malware Scanning enable/disable operation. + */ + operationStatus: outputs.security.OperationStatusResponse; + /** + * Optional. Resource id of an Event Grid Topic to send scan results to. + */ + scanResultsEventGridTopicResourceId?: string; + } + /** * Details of the On Premise resource that was assessed */ @@ -628068,6 +629017,20 @@ export namespace security { state?: string; } + /** + * Properties of Sensitive Data Discovery. + */ + export interface SensitiveDataDiscoveryPropertiesResponse { + /** + * Indicates whether Sensitive Data Discovery should be enabled. + */ + isEnabled?: boolean; + /** + * Upon failure or partial success. Additional data describing Sensitive Data Discovery enable/disable operation. + */ + operationStatus: outputs.security.OperationStatusResponse; + } + /** * Details of the service principal. */ @@ -629904,6 +630867,59 @@ export namespace security { } + export namespace v20221201preview { + /** + * Properties of Malware Scanning. + */ + export interface MalwareScanningPropertiesResponse { + /** + * Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + */ + capGBPerMonth?: number; + /** + * Indicates whether On Upload malware scanning should be enabled. + */ + isEnabled?: boolean; + /** + * Upon failure or partial success. Additional data describing Malware Scanning enable/disable operation. + */ + operationStatus: outputs.security.v20221201preview.OperationStatusResponse; + /** + * Optional. Resource id of an Event Grid Topic to send scan results to. + */ + scanResultsEventGridTopicResourceId?: string; + } + + /** + * A status describing the success/failure of the enablement/disablement operation. + */ + export interface OperationStatusResponse { + /** + * The operation status code. + */ + code?: string; + /** + * Additional information regarding the success/failure of the operation. + */ + message?: string; + } + + /** + * Properties of Sensitive Data Discovery. + */ + export interface SensitiveDataDiscoveryPropertiesResponse { + /** + * Indicates whether Sensitive Data Discovery should be enabled. + */ + isEnabled?: boolean; + /** + * Upon failure or partial success. Additional data describing Sensitive Data Discovery enable/disable operation. + */ + operationStatus: outputs.security.v20221201preview.OperationStatusResponse; + } + + } + export namespace v20230101preview { /** * Identity for the resource. @@ -709164,6 +710180,72 @@ export namespace visualstudio { } export namespace vmwarecloudsimple { + /** + * Properties of dedicated cloud node + */ + export interface DedicatedCloudNodePropertiesResponse { + /** + * Availability Zone id, e.g. "az1" + */ + availabilityZoneId: string; + /** + * Availability Zone name, e.g. "Availability Zone 1" + */ + availabilityZoneName: string; + /** + * VMWare Cloud Rack Name + */ + cloudRackName: string; + /** + * date time the resource was created + */ + created: string; + /** + * SKU's id + */ + id: string; + /** + * SKU's name + */ + name: string; + /** + * count of nodes to create + */ + nodesCount: number; + /** + * Placement Group id, e.g. "n1" + */ + placementGroupId: string; + /** + * Placement Name, e.g. "Placement Group 1" + */ + placementGroupName: string; + /** + * Private Cloud Id + */ + privateCloudId: string; + /** + * Resource Pool Name + */ + privateCloudName: string; + /** + * The provisioning status of the resource + */ + provisioningState: string; + /** + * purchase id + */ + purchaseId: string; + /** + * Node status, indicates is private cloud set up on this node or not + */ + status: string; + /** + * VMWare Cluster Name + */ + vmwareClusterName: string; + } + /** * Guest OS Customization properties */ @@ -709397,6 +710479,72 @@ export namespace vmwarecloudsimple { } export namespace v20190401 { + /** + * Properties of dedicated cloud node + */ + export interface DedicatedCloudNodePropertiesResponse { + /** + * Availability Zone id, e.g. "az1" + */ + availabilityZoneId: string; + /** + * Availability Zone name, e.g. "Availability Zone 1" + */ + availabilityZoneName: string; + /** + * VMWare Cloud Rack Name + */ + cloudRackName: string; + /** + * date time the resource was created + */ + created: string; + /** + * SKU's id + */ + id: string; + /** + * SKU's name + */ + name: string; + /** + * count of nodes to create + */ + nodesCount: number; + /** + * Placement Group id, e.g. "n1" + */ + placementGroupId: string; + /** + * Placement Name, e.g. "Placement Group 1" + */ + placementGroupName: string; + /** + * Private Cloud Id + */ + privateCloudId: string; + /** + * Resource Pool Name + */ + privateCloudName: string; + /** + * The provisioning status of the resource + */ + provisioningState: string; + /** + * purchase id + */ + purchaseId: string; + /** + * Node status, indicates is private cloud set up on this node or not + */ + status: string; + /** + * VMWare Cluster Name + */ + vmwareClusterName: string; + } + /** * Guest OS Customization properties */ diff --git a/sdk/nodejs/vmwarecloudsimple/dedicatedCloudNode.ts b/sdk/nodejs/vmwarecloudsimple/dedicatedCloudNode.ts index f54ead749ed8..7f31df85d670 100644 --- a/sdk/nodejs/vmwarecloudsimple/dedicatedCloudNode.ts +++ b/sdk/nodejs/vmwarecloudsimple/dedicatedCloudNode.ts @@ -38,66 +38,22 @@ export class DedicatedCloudNode extends pulumi.CustomResource { return obj['__pulumiType'] === DedicatedCloudNode.__pulumiType; } - /** - * Availability Zone id, e.g. "az1" - */ - public readonly availabilityZoneId!: pulumi.Output; - /** - * Availability Zone name, e.g. "Availability Zone 1" - */ - public /*out*/ readonly availabilityZoneName!: pulumi.Output; - /** - * VMWare Cloud Rack Name - */ - public /*out*/ readonly cloudRackName!: pulumi.Output; - /** - * date time the resource was created - */ - public /*out*/ readonly created!: pulumi.Output; /** * Azure region */ public readonly location!: pulumi.Output; /** - * SKU's name + * {dedicatedCloudNodeName} */ public readonly name!: pulumi.Output; /** - * count of nodes to create + * Dedicated Cloud Nodes properties */ - public readonly nodesCount!: pulumi.Output; - /** - * Placement Group id, e.g. "n1" - */ - public readonly placementGroupId!: pulumi.Output; - /** - * Placement Name, e.g. "Placement Group 1" - */ - public /*out*/ readonly placementGroupName!: pulumi.Output; - /** - * Private Cloud Id - */ - public /*out*/ readonly privateCloudId!: pulumi.Output; - /** - * Resource Pool Name - */ - public /*out*/ readonly privateCloudName!: pulumi.Output; - /** - * The provisioning status of the resource - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * purchase id - */ - public readonly purchaseId!: pulumi.Output; + public /*out*/ readonly properties!: pulumi.Output; /** * Dedicated Cloud Nodes SKU */ public readonly sku!: pulumi.Output; - /** - * Node status, indicates is private cloud set up on this node or not - */ - public /*out*/ readonly status!: pulumi.Output; /** * Dedicated Cloud Nodes tags */ @@ -106,10 +62,6 @@ export class DedicatedCloudNode extends pulumi.CustomResource { * {resourceProviderNamespace}/{resourceType} */ public /*out*/ readonly type!: pulumi.Output; - /** - * VMWare Cluster Name - */ - public /*out*/ readonly vmwareClusterName!: pulumi.Output; /** * Create a DedicatedCloudNode resource with the given unique name, arguments, and options. @@ -154,35 +106,15 @@ export class DedicatedCloudNode extends pulumi.CustomResource { resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["sku"] = args ? args.sku : undefined; resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["availabilityZoneName"] = undefined /*out*/; - resourceInputs["cloudRackName"] = undefined /*out*/; - resourceInputs["created"] = undefined /*out*/; - resourceInputs["placementGroupName"] = undefined /*out*/; - resourceInputs["privateCloudId"] = undefined /*out*/; - resourceInputs["privateCloudName"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["status"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["vmwareClusterName"] = undefined /*out*/; } else { - resourceInputs["availabilityZoneId"] = undefined /*out*/; - resourceInputs["availabilityZoneName"] = undefined /*out*/; - resourceInputs["cloudRackName"] = undefined /*out*/; - resourceInputs["created"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["nodesCount"] = undefined /*out*/; - resourceInputs["placementGroupId"] = undefined /*out*/; - resourceInputs["placementGroupName"] = undefined /*out*/; - resourceInputs["privateCloudId"] = undefined /*out*/; - resourceInputs["privateCloudName"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["purchaseId"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["sku"] = undefined /*out*/; - resourceInputs["status"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["vmwareClusterName"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:vmwarecloudsimple/v20190401:DedicatedCloudNode" }] }; diff --git a/sdk/nodejs/vmwarecloudsimple/getDedicatedCloudNode.ts b/sdk/nodejs/vmwarecloudsimple/getDedicatedCloudNode.ts index 987f675bbf29..4912fc0554ac 100644 --- a/sdk/nodejs/vmwarecloudsimple/getDedicatedCloudNode.ts +++ b/sdk/nodejs/vmwarecloudsimple/getDedicatedCloudNode.ts @@ -36,23 +36,7 @@ export interface GetDedicatedCloudNodeArgs { */ export interface GetDedicatedCloudNodeResult { /** - * Availability Zone id, e.g. "az1" - */ - readonly availabilityZoneId: string; - /** - * Availability Zone name, e.g. "Availability Zone 1" - */ - readonly availabilityZoneName: string; - /** - * VMWare Cloud Rack Name - */ - readonly cloudRackName: string; - /** - * date time the resource was created - */ - readonly created: string; - /** - * SKU's id + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/dedicatedCloudNodes/{dedicatedCloudNodeName} */ readonly id: string; /** @@ -60,45 +44,17 @@ export interface GetDedicatedCloudNodeResult { */ readonly location: string; /** - * SKU's name + * {dedicatedCloudNodeName} */ readonly name: string; /** - * count of nodes to create - */ - readonly nodesCount: number; - /** - * Placement Group id, e.g. "n1" - */ - readonly placementGroupId: string; - /** - * Placement Name, e.g. "Placement Group 1" + * Dedicated Cloud Nodes properties */ - readonly placementGroupName: string; - /** - * Private Cloud Id - */ - readonly privateCloudId: string; - /** - * Resource Pool Name - */ - readonly privateCloudName: string; - /** - * The provisioning status of the resource - */ - readonly provisioningState: string; - /** - * purchase id - */ - readonly purchaseId: string; + readonly properties: outputs.vmwarecloudsimple.DedicatedCloudNodePropertiesResponse; /** * Dedicated Cloud Nodes SKU */ readonly sku?: outputs.vmwarecloudsimple.SkuResponse; - /** - * Node status, indicates is private cloud set up on this node or not - */ - readonly status: string; /** * Dedicated Cloud Nodes tags */ @@ -107,10 +63,6 @@ export interface GetDedicatedCloudNodeResult { * {resourceProviderNamespace}/{resourceType} */ readonly type: string; - /** - * VMWare Cluster Name - */ - readonly vmwareClusterName: string; } /** * Returns dedicated cloud node diff --git a/sdk/nodejs/vmwarecloudsimple/v20190401/dedicatedCloudNode.ts b/sdk/nodejs/vmwarecloudsimple/v20190401/dedicatedCloudNode.ts index 1c0d57150db6..31bb8c80b550 100644 --- a/sdk/nodejs/vmwarecloudsimple/v20190401/dedicatedCloudNode.ts +++ b/sdk/nodejs/vmwarecloudsimple/v20190401/dedicatedCloudNode.ts @@ -37,66 +37,22 @@ export class DedicatedCloudNode extends pulumi.CustomResource { return obj['__pulumiType'] === DedicatedCloudNode.__pulumiType; } - /** - * Availability Zone id, e.g. "az1" - */ - public readonly availabilityZoneId!: pulumi.Output; - /** - * Availability Zone name, e.g. "Availability Zone 1" - */ - public /*out*/ readonly availabilityZoneName!: pulumi.Output; - /** - * VMWare Cloud Rack Name - */ - public /*out*/ readonly cloudRackName!: pulumi.Output; - /** - * date time the resource was created - */ - public /*out*/ readonly created!: pulumi.Output; /** * Azure region */ public readonly location!: pulumi.Output; /** - * SKU's name + * {dedicatedCloudNodeName} */ public readonly name!: pulumi.Output; /** - * count of nodes to create + * Dedicated Cloud Nodes properties */ - public readonly nodesCount!: pulumi.Output; - /** - * Placement Group id, e.g. "n1" - */ - public readonly placementGroupId!: pulumi.Output; - /** - * Placement Name, e.g. "Placement Group 1" - */ - public /*out*/ readonly placementGroupName!: pulumi.Output; - /** - * Private Cloud Id - */ - public /*out*/ readonly privateCloudId!: pulumi.Output; - /** - * Resource Pool Name - */ - public /*out*/ readonly privateCloudName!: pulumi.Output; - /** - * The provisioning status of the resource - */ - public /*out*/ readonly provisioningState!: pulumi.Output; - /** - * purchase id - */ - public readonly purchaseId!: pulumi.Output; + public /*out*/ readonly properties!: pulumi.Output; /** * Dedicated Cloud Nodes SKU */ public readonly sku!: pulumi.Output; - /** - * Node status, indicates is private cloud set up on this node or not - */ - public /*out*/ readonly status!: pulumi.Output; /** * Dedicated Cloud Nodes tags */ @@ -105,10 +61,6 @@ export class DedicatedCloudNode extends pulumi.CustomResource { * {resourceProviderNamespace}/{resourceType} */ public /*out*/ readonly type!: pulumi.Output; - /** - * VMWare Cluster Name - */ - public /*out*/ readonly vmwareClusterName!: pulumi.Output; /** * Create a DedicatedCloudNode resource with the given unique name, arguments, and options. @@ -153,35 +105,15 @@ export class DedicatedCloudNode extends pulumi.CustomResource { resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; resourceInputs["sku"] = args ? args.sku : undefined; resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["availabilityZoneName"] = undefined /*out*/; - resourceInputs["cloudRackName"] = undefined /*out*/; - resourceInputs["created"] = undefined /*out*/; - resourceInputs["placementGroupName"] = undefined /*out*/; - resourceInputs["privateCloudId"] = undefined /*out*/; - resourceInputs["privateCloudName"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["status"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["vmwareClusterName"] = undefined /*out*/; } else { - resourceInputs["availabilityZoneId"] = undefined /*out*/; - resourceInputs["availabilityZoneName"] = undefined /*out*/; - resourceInputs["cloudRackName"] = undefined /*out*/; - resourceInputs["created"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["nodesCount"] = undefined /*out*/; - resourceInputs["placementGroupId"] = undefined /*out*/; - resourceInputs["placementGroupName"] = undefined /*out*/; - resourceInputs["privateCloudId"] = undefined /*out*/; - resourceInputs["privateCloudName"] = undefined /*out*/; - resourceInputs["provisioningState"] = undefined /*out*/; - resourceInputs["purchaseId"] = undefined /*out*/; + resourceInputs["properties"] = undefined /*out*/; resourceInputs["sku"] = undefined /*out*/; - resourceInputs["status"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; - resourceInputs["vmwareClusterName"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:vmwarecloudsimple:DedicatedCloudNode" }] }; diff --git a/sdk/nodejs/vmwarecloudsimple/v20190401/getDedicatedCloudNode.ts b/sdk/nodejs/vmwarecloudsimple/v20190401/getDedicatedCloudNode.ts index 91c50049d2f1..ded878e84bb8 100644 --- a/sdk/nodejs/vmwarecloudsimple/v20190401/getDedicatedCloudNode.ts +++ b/sdk/nodejs/vmwarecloudsimple/v20190401/getDedicatedCloudNode.ts @@ -35,23 +35,7 @@ export interface GetDedicatedCloudNodeArgs { */ export interface GetDedicatedCloudNodeResult { /** - * Availability Zone id, e.g. "az1" - */ - readonly availabilityZoneId: string; - /** - * Availability Zone name, e.g. "Availability Zone 1" - */ - readonly availabilityZoneName: string; - /** - * VMWare Cloud Rack Name - */ - readonly cloudRackName: string; - /** - * date time the resource was created - */ - readonly created: string; - /** - * SKU's id + * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/dedicatedCloudNodes/{dedicatedCloudNodeName} */ readonly id: string; /** @@ -59,45 +43,17 @@ export interface GetDedicatedCloudNodeResult { */ readonly location: string; /** - * SKU's name + * {dedicatedCloudNodeName} */ readonly name: string; /** - * count of nodes to create - */ - readonly nodesCount: number; - /** - * Placement Group id, e.g. "n1" - */ - readonly placementGroupId: string; - /** - * Placement Name, e.g. "Placement Group 1" + * Dedicated Cloud Nodes properties */ - readonly placementGroupName: string; - /** - * Private Cloud Id - */ - readonly privateCloudId: string; - /** - * Resource Pool Name - */ - readonly privateCloudName: string; - /** - * The provisioning status of the resource - */ - readonly provisioningState: string; - /** - * purchase id - */ - readonly purchaseId: string; + readonly properties: outputs.vmwarecloudsimple.v20190401.DedicatedCloudNodePropertiesResponse; /** * Dedicated Cloud Nodes SKU */ readonly sku?: outputs.vmwarecloudsimple.v20190401.SkuResponse; - /** - * Node status, indicates is private cloud set up on this node or not - */ - readonly status: string; /** * Dedicated Cloud Nodes tags */ @@ -106,10 +62,6 @@ export interface GetDedicatedCloudNodeResult { * {resourceProviderNamespace}/{resourceType} */ readonly type: string; - /** - * VMWare Cluster Name - */ - readonly vmwareClusterName: string; } /** * Returns dedicated cloud node diff --git a/sdk/python/pulumi_azure_native/__init__.py b/sdk/python/pulumi_azure_native/__init__.py index 82276aa26c24..640c32ee79eb 100644 --- a/sdk/python/pulumi_azure_native/__init__.py +++ b/sdk/python/pulumi_azure_native/__init__.py @@ -11999,6 +11999,7 @@ "azure-native:security:Connector": "Connector", "azure-native:security:CustomAssessmentAutomation": "CustomAssessmentAutomation", "azure-native:security:CustomEntityStoreAssignment": "CustomEntityStoreAssignment", + "azure-native:security:DefenderForStorage": "DefenderForStorage", "azure-native:security:DevOpsConfiguration": "DevOpsConfiguration", "azure-native:security:DeviceSecurityGroup": "DeviceSecurityGroup", "azure-native:security:GovernanceAssignment": "GovernanceAssignment", @@ -12127,6 +12128,14 @@ "azure-native:security/v20221120preview:APICollection": "APICollection" } }, + { + "pkg": "azure-native", + "mod": "security/v20221201preview", + "fqn": "pulumi_azure_native.security.v20221201preview", + "classes": { + "azure-native:security/v20221201preview:DefenderForStorage": "DefenderForStorage" + } + }, { "pkg": "azure-native", "mod": "security/v20230101preview", diff --git a/sdk/python/pulumi_azure_native/authorization/_inputs.py b/sdk/python/pulumi_azure_native/authorization/_inputs.py index 3355736d4b52..99a7d5c256db 100644 --- a/sdk/python/pulumi_azure_native/authorization/_inputs.py +++ b/sdk/python/pulumi_azure_native/authorization/_inputs.py @@ -13,6 +13,7 @@ __all__ = [ 'AccessReviewHistoryInstanceArgs', 'AccessReviewInstanceArgs', + 'AccessReviewRecurrenceRangeArgs', 'AccessReviewReviewerArgs', 'AccessReviewScopeArgs', 'IdentityArgs', @@ -208,6 +209,78 @@ def start_date_time(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "start_date_time", value) +@pulumi.input_type +class AccessReviewRecurrenceRangeArgs: + def __init__(__self__, *, + end_date: Optional[pulumi.Input[str]] = None, + number_of_occurrences: Optional[pulumi.Input[int]] = None, + start_date: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None): + """ + Recurrence Range of an Access Review Schedule Definition. + :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate + :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + """ + if end_date is not None: + pulumi.set(__self__, "end_date", end_date) + if number_of_occurrences is not None: + pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) + if start_date is not None: + pulumi.set(__self__, "start_date", start_date) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="endDate") + def end_date(self) -> Optional[pulumi.Input[str]]: + """ + The DateTime when the review is scheduled to end. Required if type is endDate + """ + return pulumi.get(self, "end_date") + + @end_date.setter + def end_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end_date", value) + + @property + @pulumi.getter(name="numberOfOccurrences") + def number_of_occurrences(self) -> Optional[pulumi.Input[int]]: + """ + The number of times to repeat the access review. Required and must be positive if type is numbered. + """ + return pulumi.get(self, "number_of_occurrences") + + @number_of_occurrences.setter + def number_of_occurrences(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "number_of_occurrences", value) + + @property + @pulumi.getter(name="startDate") + def start_date(self) -> Optional[pulumi.Input[str]]: + """ + The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + """ + return pulumi.get(self, "start_date") + + @start_date.setter + def start_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "start_date", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]: + """ + The recurrence range type. The possible values are: endDate, noEnd, numbered. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]): + pulumi.set(self, "type", value) + + @pulumi.input_type class AccessReviewReviewerArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/authorization/access_review_history_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/access_review_history_definition_by_id.py index f8e4609608c6..0dd211b0cb9c 100644 --- a/sdk/python/pulumi_azure_native/authorization/access_review_history_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/access_review_history_definition_by_id.py @@ -19,45 +19,37 @@ class AccessReviewHistoryDefinitionByIdArgs: def __init__(__self__, *, decisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, history_definition_id: Optional[pulumi.Input[str]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewHistoryInstanceArgs']]]] = None, interval: Optional[pulumi.Input[int]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']] = None, scopes: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewScopeArgs']]]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None): + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None): """ The set of arguments for constructing a AccessReviewHistoryDefinitionById resource. :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]] decisions: Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request. :param pulumi.Input[str] display_name: The display name for the history definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] history_definition_id: The id of the access review history definition. :param pulumi.Input[Sequence[pulumi.Input['AccessReviewHistoryInstanceArgs']]] instances: Set of access review history instances for this history definition. :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input['AccessReviewRecurrenceRangeArgs'] range: Access Review History Definition recurrence settings. :param pulumi.Input[Sequence[pulumi.Input['AccessReviewScopeArgs']]] scopes: A collection of scopes used when selecting review history data - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ if decisions is not None: pulumi.set(__self__, "decisions", decisions) if display_name is not None: pulumi.set(__self__, "display_name", display_name) - if end_date is not None: - pulumi.set(__self__, "end_date", end_date) if history_definition_id is not None: pulumi.set(__self__, "history_definition_id", history_definition_id) if instances is not None: pulumi.set(__self__, "instances", instances) if interval is not None: pulumi.set(__self__, "interval", interval) - if number_of_occurrences is not None: - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) + if range is not None: + pulumi.set(__self__, "range", range) if scopes is not None: pulumi.set(__self__, "scopes", scopes) - if start_date is not None: - pulumi.set(__self__, "start_date", start_date) if type is not None: pulumi.set(__self__, "type", type) @@ -85,18 +77,6 @@ def display_name(self) -> Optional[pulumi.Input[str]]: def display_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "display_name", value) - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @end_date.setter - def end_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "end_date", value) - @property @pulumi.getter(name="historyDefinitionId") def history_definition_id(self) -> Optional[pulumi.Input[str]]: @@ -134,16 +114,16 @@ def interval(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "interval", value) @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[pulumi.Input[int]]: + @pulumi.getter + def range(self) -> Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]: """ - The number of times to repeat the access review. Required and must be positive if type is numbered. + Access Review History Definition recurrence settings. """ - return pulumi.get(self, "number_of_occurrences") + return pulumi.get(self, "range") - @number_of_occurrences.setter - def number_of_occurrences(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "number_of_occurrences", value) + @range.setter + def range(self, value: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]): + pulumi.set(self, "range", value) @property @pulumi.getter @@ -157,28 +137,16 @@ def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewSco def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewScopeArgs']]]]): pulumi.set(self, "scopes", value) - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - - @start_date.setter - def start_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "start_date", value) - @property @pulumi.getter - def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]: + def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]: """ - The recurrence range type. The possible values are: endDate, noEnd, numbered. + The recurrence type : weekly, monthly, etc. """ return pulumi.get(self, "type") @type.setter - def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]): + def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]): pulumi.set(self, "type", value) @@ -189,14 +157,12 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, decisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, history_definition_id: Optional[pulumi.Input[str]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewHistoryInstanceArgs']]]]] = None, interval: Optional[pulumi.Input[int]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, scopes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewScopeArgs']]]]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): """ Access Review History Definition. @@ -206,14 +172,12 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]] decisions: Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request. :param pulumi.Input[str] display_name: The display name for the history definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] history_definition_id: The id of the access review history definition. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewHistoryInstanceArgs']]]] instances: Set of access review history instances for this history definition. :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']] range: Access Review History Definition recurrence settings. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewScopeArgs']]]] scopes: A collection of scopes used when selecting review history data - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ ... @overload @@ -242,14 +206,12 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, decisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, history_definition_id: Optional[pulumi.Input[str]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewHistoryInstanceArgs']]]]] = None, interval: Optional[pulumi.Input[int]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, scopes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewScopeArgs']]]]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -261,13 +223,11 @@ def _internal_init(__self__, __props__.__dict__["decisions"] = decisions __props__.__dict__["display_name"] = display_name - __props__.__dict__["end_date"] = end_date __props__.__dict__["history_definition_id"] = history_definition_id __props__.__dict__["instances"] = instances __props__.__dict__["interval"] = interval - __props__.__dict__["number_of_occurrences"] = number_of_occurrences + __props__.__dict__["range"] = range __props__.__dict__["scopes"] = scopes - __props__.__dict__["start_date"] = start_date __props__.__dict__["type"] = type __props__.__dict__["created_date_time"] = None __props__.__dict__["name"] = None @@ -305,18 +265,16 @@ def get(resource_name: str, __props__.__dict__["created_date_time"] = None __props__.__dict__["decisions"] = None __props__.__dict__["display_name"] = None - __props__.__dict__["end_date"] = None __props__.__dict__["instances"] = None __props__.__dict__["interval"] = None __props__.__dict__["name"] = None - __props__.__dict__["number_of_occurrences"] = None __props__.__dict__["principal_id"] = None __props__.__dict__["principal_name"] = None __props__.__dict__["principal_type"] = None + __props__.__dict__["range"] = None __props__.__dict__["review_history_period_end_date_time"] = None __props__.__dict__["review_history_period_start_date_time"] = None __props__.__dict__["scopes"] = None - __props__.__dict__["start_date"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None __props__.__dict__["user_principal_name"] = None @@ -346,14 +304,6 @@ def display_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> pulumi.Output[Optional[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - @property @pulumi.getter def instances(self) -> pulumi.Output[Optional[Sequence['outputs.AccessReviewHistoryInstanceResponse']]]: @@ -378,14 +328,6 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> pulumi.Output[Optional[int]]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> pulumi.Output[str]: @@ -410,6 +352,14 @@ def principal_type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> pulumi.Output[Optional['outputs.AccessReviewRecurrenceRangeResponse']]: + """ + Access Review History Definition recurrence settings. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="reviewHistoryPeriodEndDateTime") def review_history_period_end_date_time(self) -> pulumi.Output[str]: @@ -434,14 +384,6 @@ def scopes(self) -> pulumi.Output[Optional[Sequence['outputs.AccessReviewScopeRe """ return pulumi.get(self, "scopes") - @property - @pulumi.getter(name="startDate") - def start_date(self) -> pulumi.Output[Optional[str]]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - @property @pulumi.getter def status(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure_native/authorization/access_review_schedule_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/access_review_schedule_definition_by_id.py index 06d90bb0bb23..9618291dbe8b 100644 --- a/sdk/python/pulumi_azure_native/authorization/access_review_schedule_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/access_review_schedule_definition_by_id.py @@ -24,7 +24,6 @@ def __init__(__self__, *, description_for_admins: Optional[pulumi.Input[str]] = None, description_for_reviewers: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, exclude_resource_id: Optional[pulumi.Input[str]] = None, exclude_role_definition_id: Optional[pulumi.Input[str]] = None, expand_nested_memberships: Optional[pulumi.Input[bool]] = None, @@ -36,14 +35,13 @@ def __init__(__self__, *, interval: Optional[pulumi.Input[int]] = None, justification_required_on_approval: Optional[pulumi.Input[bool]] = None, mail_notifications_enabled: Optional[pulumi.Input[bool]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']] = None, recommendation_look_back_duration: Optional[pulumi.Input[str]] = None, recommendations_enabled: Optional[pulumi.Input[bool]] = None, reminder_notifications_enabled: Optional[pulumi.Input[bool]] = None, reviewers: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewReviewerArgs']]]] = None, schedule_definition_id: Optional[pulumi.Input[str]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None): + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None): """ The set of arguments for constructing a AccessReviewScheduleDefinitionById resource. :param pulumi.Input[bool] auto_apply_decisions_enabled: Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. @@ -53,7 +51,6 @@ def __init__(__self__, *, :param pulumi.Input[str] description_for_admins: The description provided by the access review creator and visible to admins. :param pulumi.Input[str] description_for_reviewers: The description provided by the access review creator to be shown to reviewers. :param pulumi.Input[str] display_name: The display name for the schedule definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] exclude_resource_id: This is used to indicate the resource id(s) to exclude :param pulumi.Input[str] exclude_role_definition_id: This is used to indicate the role definition id(s) to exclude :param pulumi.Input[bool] expand_nested_memberships: Flag to indicate whether to expand nested memberships or not. @@ -65,14 +62,13 @@ def __init__(__self__, *, :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. :param pulumi.Input[bool] justification_required_on_approval: Flag to indicate whether the reviewer is required to pass justification when recording a decision. :param pulumi.Input[bool] mail_notifications_enabled: Flag to indicate whether sending mails to reviewers and the review creator is enabled. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input['AccessReviewRecurrenceRangeArgs'] range: Access Review schedule definition recurrence range. :param pulumi.Input[str] recommendation_look_back_duration: Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) :param pulumi.Input[bool] recommendations_enabled: Flag to indicate whether showing recommendations to reviewers is enabled. :param pulumi.Input[bool] reminder_notifications_enabled: Flag to indicate whether sending reminder emails to reviewers are enabled. :param pulumi.Input[Sequence[pulumi.Input['AccessReviewReviewerArgs']]] reviewers: This is the collection of reviewers. :param pulumi.Input[str] schedule_definition_id: The id of the access review schedule definition. - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ if auto_apply_decisions_enabled is not None: pulumi.set(__self__, "auto_apply_decisions_enabled", auto_apply_decisions_enabled) @@ -88,8 +84,6 @@ def __init__(__self__, *, pulumi.set(__self__, "description_for_reviewers", description_for_reviewers) if display_name is not None: pulumi.set(__self__, "display_name", display_name) - if end_date is not None: - pulumi.set(__self__, "end_date", end_date) if exclude_resource_id is not None: pulumi.set(__self__, "exclude_resource_id", exclude_resource_id) if exclude_role_definition_id is not None: @@ -112,8 +106,8 @@ def __init__(__self__, *, pulumi.set(__self__, "justification_required_on_approval", justification_required_on_approval) if mail_notifications_enabled is not None: pulumi.set(__self__, "mail_notifications_enabled", mail_notifications_enabled) - if number_of_occurrences is not None: - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) + if range is not None: + pulumi.set(__self__, "range", range) if recommendation_look_back_duration is not None: pulumi.set(__self__, "recommendation_look_back_duration", recommendation_look_back_duration) if recommendations_enabled is not None: @@ -124,8 +118,6 @@ def __init__(__self__, *, pulumi.set(__self__, "reviewers", reviewers) if schedule_definition_id is not None: pulumi.set(__self__, "schedule_definition_id", schedule_definition_id) - if start_date is not None: - pulumi.set(__self__, "start_date", start_date) if type is not None: pulumi.set(__self__, "type", type) @@ -213,18 +205,6 @@ def display_name(self) -> Optional[pulumi.Input[str]]: def display_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "display_name", value) - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @end_date.setter - def end_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "end_date", value) - @property @pulumi.getter(name="excludeResourceId") def exclude_resource_id(self) -> Optional[pulumi.Input[str]]: @@ -358,16 +338,16 @@ def mail_notifications_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "mail_notifications_enabled", value) @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[pulumi.Input[int]]: + @pulumi.getter + def range(self) -> Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]: """ - The number of times to repeat the access review. Required and must be positive if type is numbered. + Access Review schedule definition recurrence range. """ - return pulumi.get(self, "number_of_occurrences") + return pulumi.get(self, "range") - @number_of_occurrences.setter - def number_of_occurrences(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "number_of_occurrences", value) + @range.setter + def range(self, value: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]): + pulumi.set(self, "range", value) @property @pulumi.getter(name="recommendationLookBackDuration") @@ -429,28 +409,16 @@ def schedule_definition_id(self) -> Optional[pulumi.Input[str]]: def schedule_definition_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "schedule_definition_id", value) - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - - @start_date.setter - def start_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "start_date", value) - @property @pulumi.getter - def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]: + def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]: """ - The recurrence range type. The possible values are: endDate, noEnd, numbered. + The recurrence type : weekly, monthly, etc. """ return pulumi.get(self, "type") @type.setter - def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]): + def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]): pulumi.set(self, "type", value) @@ -466,7 +434,6 @@ def __init__(__self__, description_for_admins: Optional[pulumi.Input[str]] = None, description_for_reviewers: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, exclude_resource_id: Optional[pulumi.Input[str]] = None, exclude_role_definition_id: Optional[pulumi.Input[str]] = None, expand_nested_memberships: Optional[pulumi.Input[bool]] = None, @@ -478,14 +445,13 @@ def __init__(__self__, interval: Optional[pulumi.Input[int]] = None, justification_required_on_approval: Optional[pulumi.Input[bool]] = None, mail_notifications_enabled: Optional[pulumi.Input[bool]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, recommendation_look_back_duration: Optional[pulumi.Input[str]] = None, recommendations_enabled: Optional[pulumi.Input[bool]] = None, reminder_notifications_enabled: Optional[pulumi.Input[bool]] = None, reviewers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewReviewerArgs']]]]] = None, schedule_definition_id: Optional[pulumi.Input[str]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): """ Access Review Schedule Definition. @@ -500,7 +466,6 @@ def __init__(__self__, :param pulumi.Input[str] description_for_admins: The description provided by the access review creator and visible to admins. :param pulumi.Input[str] description_for_reviewers: The description provided by the access review creator to be shown to reviewers. :param pulumi.Input[str] display_name: The display name for the schedule definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] exclude_resource_id: This is used to indicate the resource id(s) to exclude :param pulumi.Input[str] exclude_role_definition_id: This is used to indicate the role definition id(s) to exclude :param pulumi.Input[bool] expand_nested_memberships: Flag to indicate whether to expand nested memberships or not. @@ -512,14 +477,13 @@ def __init__(__self__, :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. :param pulumi.Input[bool] justification_required_on_approval: Flag to indicate whether the reviewer is required to pass justification when recording a decision. :param pulumi.Input[bool] mail_notifications_enabled: Flag to indicate whether sending mails to reviewers and the review creator is enabled. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']] range: Access Review schedule definition recurrence range. :param pulumi.Input[str] recommendation_look_back_duration: Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) :param pulumi.Input[bool] recommendations_enabled: Flag to indicate whether showing recommendations to reviewers is enabled. :param pulumi.Input[bool] reminder_notifications_enabled: Flag to indicate whether sending reminder emails to reviewers are enabled. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewReviewerArgs']]]] reviewers: This is the collection of reviewers. :param pulumi.Input[str] schedule_definition_id: The id of the access review schedule definition. - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ ... @overload @@ -553,7 +517,6 @@ def _internal_init(__self__, description_for_admins: Optional[pulumi.Input[str]] = None, description_for_reviewers: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, exclude_resource_id: Optional[pulumi.Input[str]] = None, exclude_role_definition_id: Optional[pulumi.Input[str]] = None, expand_nested_memberships: Optional[pulumi.Input[bool]] = None, @@ -565,14 +528,13 @@ def _internal_init(__self__, interval: Optional[pulumi.Input[int]] = None, justification_required_on_approval: Optional[pulumi.Input[bool]] = None, mail_notifications_enabled: Optional[pulumi.Input[bool]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, recommendation_look_back_duration: Optional[pulumi.Input[str]] = None, recommendations_enabled: Optional[pulumi.Input[bool]] = None, reminder_notifications_enabled: Optional[pulumi.Input[bool]] = None, reviewers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewReviewerArgs']]]]] = None, schedule_definition_id: Optional[pulumi.Input[str]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -589,7 +551,6 @@ def _internal_init(__self__, __props__.__dict__["description_for_admins"] = description_for_admins __props__.__dict__["description_for_reviewers"] = description_for_reviewers __props__.__dict__["display_name"] = display_name - __props__.__dict__["end_date"] = end_date __props__.__dict__["exclude_resource_id"] = exclude_resource_id __props__.__dict__["exclude_role_definition_id"] = exclude_role_definition_id __props__.__dict__["expand_nested_memberships"] = expand_nested_memberships @@ -601,22 +562,19 @@ def _internal_init(__self__, __props__.__dict__["interval"] = interval __props__.__dict__["justification_required_on_approval"] = justification_required_on_approval __props__.__dict__["mail_notifications_enabled"] = mail_notifications_enabled - __props__.__dict__["number_of_occurrences"] = number_of_occurrences + __props__.__dict__["range"] = range __props__.__dict__["recommendation_look_back_duration"] = recommendation_look_back_duration __props__.__dict__["recommendations_enabled"] = recommendations_enabled __props__.__dict__["reminder_notifications_enabled"] = reminder_notifications_enabled __props__.__dict__["reviewers"] = reviewers __props__.__dict__["schedule_definition_id"] = schedule_definition_id - __props__.__dict__["start_date"] = start_date __props__.__dict__["type"] = type - __props__.__dict__["assignment_state"] = None __props__.__dict__["name"] = None __props__.__dict__["principal_id"] = None __props__.__dict__["principal_name"] = None __props__.__dict__["principal_type"] = None - __props__.__dict__["resource_id"] = None __props__.__dict__["reviewers_type"] = None - __props__.__dict__["role_definition_id"] = None + __props__.__dict__["scope"] = None __props__.__dict__["status"] = None __props__.__dict__["user_principal_name"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:authorization/v20180501preview:AccessReviewScheduleDefinitionById"), pulumi.Alias(type_="azure-native:authorization/v20210301preview:AccessReviewScheduleDefinitionById"), pulumi.Alias(type_="azure-native:authorization/v20210701preview:AccessReviewScheduleDefinitionById"), pulumi.Alias(type_="azure-native:authorization/v20211116preview:AccessReviewScheduleDefinitionById"), pulumi.Alias(type_="azure-native:authorization/v20211201preview:AccessReviewScheduleDefinitionById")]) @@ -643,7 +601,6 @@ def get(resource_name: str, __props__ = AccessReviewScheduleDefinitionByIdArgs.__new__(AccessReviewScheduleDefinitionByIdArgs) - __props__.__dict__["assignment_state"] = None __props__.__dict__["auto_apply_decisions_enabled"] = None __props__.__dict__["backup_reviewers"] = None __props__.__dict__["default_decision"] = None @@ -651,44 +608,27 @@ def get(resource_name: str, __props__.__dict__["description_for_admins"] = None __props__.__dict__["description_for_reviewers"] = None __props__.__dict__["display_name"] = None - __props__.__dict__["end_date"] = None - __props__.__dict__["exclude_resource_id"] = None - __props__.__dict__["exclude_role_definition_id"] = None - __props__.__dict__["expand_nested_memberships"] = None - __props__.__dict__["inactive_duration"] = None - __props__.__dict__["include_access_below_resource"] = None - __props__.__dict__["include_inherited_access"] = None __props__.__dict__["instance_duration_in_days"] = None __props__.__dict__["instances"] = None __props__.__dict__["interval"] = None __props__.__dict__["justification_required_on_approval"] = None __props__.__dict__["mail_notifications_enabled"] = None __props__.__dict__["name"] = None - __props__.__dict__["number_of_occurrences"] = None __props__.__dict__["principal_id"] = None __props__.__dict__["principal_name"] = None __props__.__dict__["principal_type"] = None + __props__.__dict__["range"] = None __props__.__dict__["recommendation_look_back_duration"] = None __props__.__dict__["recommendations_enabled"] = None __props__.__dict__["reminder_notifications_enabled"] = None - __props__.__dict__["resource_id"] = None __props__.__dict__["reviewers"] = None __props__.__dict__["reviewers_type"] = None - __props__.__dict__["role_definition_id"] = None - __props__.__dict__["start_date"] = None + __props__.__dict__["scope"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None __props__.__dict__["user_principal_name"] = None return AccessReviewScheduleDefinitionById(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="assignmentState") - def assignment_state(self) -> pulumi.Output[str]: - """ - The role assignment state eligible/active to review - """ - return pulumi.get(self, "assignment_state") - @property @pulumi.getter(name="autoApplyDecisionsEnabled") def auto_apply_decisions_enabled(self) -> pulumi.Output[Optional[bool]]: @@ -745,62 +685,6 @@ def display_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> pulumi.Output[Optional[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @property - @pulumi.getter(name="excludeResourceId") - def exclude_resource_id(self) -> pulumi.Output[Optional[str]]: - """ - This is used to indicate the resource id(s) to exclude - """ - return pulumi.get(self, "exclude_resource_id") - - @property - @pulumi.getter(name="excludeRoleDefinitionId") - def exclude_role_definition_id(self) -> pulumi.Output[Optional[str]]: - """ - This is used to indicate the role definition id(s) to exclude - """ - return pulumi.get(self, "exclude_role_definition_id") - - @property - @pulumi.getter(name="expandNestedMemberships") - def expand_nested_memberships(self) -> pulumi.Output[Optional[bool]]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "expand_nested_memberships") - - @property - @pulumi.getter(name="inactiveDuration") - def inactive_duration(self) -> pulumi.Output[Optional[str]]: - """ - Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - """ - return pulumi.get(self, "inactive_duration") - - @property - @pulumi.getter(name="includeAccessBelowResource") - def include_access_below_resource(self) -> pulumi.Output[Optional[bool]]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_access_below_resource") - - @property - @pulumi.getter(name="includeInheritedAccess") - def include_inherited_access(self) -> pulumi.Output[Optional[bool]]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_inherited_access") - @property @pulumi.getter(name="instanceDurationInDays") def instance_duration_in_days(self) -> pulumi.Output[Optional[int]]: @@ -849,14 +733,6 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> pulumi.Output[Optional[int]]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> pulumi.Output[str]: @@ -877,10 +753,18 @@ def principal_name(self) -> pulumi.Output[str]: @pulumi.getter(name="principalType") def principal_type(self) -> pulumi.Output[str]: """ - The identity type user/servicePrincipal to review + The identity type : user/servicePrincipal """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> pulumi.Output[Optional['outputs.AccessReviewRecurrenceRangeResponse']]: + """ + Access Review schedule definition recurrence range. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="recommendationLookBackDuration") def recommendation_look_back_duration(self) -> pulumi.Output[Optional[str]]: @@ -905,14 +789,6 @@ def reminder_notifications_enabled(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "reminder_notifications_enabled") - @property - @pulumi.getter(name="resourceId") - def resource_id(self) -> pulumi.Output[str]: - """ - ResourceId in which this review is getting created - """ - return pulumi.get(self, "resource_id") - @property @pulumi.getter def reviewers(self) -> pulumi.Output[Optional[Sequence['outputs.AccessReviewReviewerResponse']]]: @@ -930,20 +806,12 @@ def reviewers_type(self) -> pulumi.Output[str]: return pulumi.get(self, "reviewers_type") @property - @pulumi.getter(name="roleDefinitionId") - def role_definition_id(self) -> pulumi.Output[str]: - """ - This is used to indicate the role being reviewed - """ - return pulumi.get(self, "role_definition_id") - - @property - @pulumi.getter(name="startDate") - def start_date(self) -> pulumi.Output[Optional[str]]: + @pulumi.getter + def scope(self) -> pulumi.Output['outputs.AccessReviewScopeResponse']: """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. """ - return pulumi.get(self, "start_date") + return pulumi.get(self, "scope") @property @pulumi.getter diff --git a/sdk/python/pulumi_azure_native/authorization/get_access_review_history_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/get_access_review_history_definition_by_id.py index e2486f3d67c8..6e8a7df6ba49 100644 --- a/sdk/python/pulumi_azure_native/authorization/get_access_review_history_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/get_access_review_history_definition_by_id.py @@ -22,7 +22,7 @@ class GetAccessReviewHistoryDefinitionByIdResult: """ Access Review History Definition. """ - def __init__(__self__, created_date_time=None, decisions=None, display_name=None, end_date=None, id=None, instances=None, interval=None, name=None, number_of_occurrences=None, principal_id=None, principal_name=None, principal_type=None, review_history_period_end_date_time=None, review_history_period_start_date_time=None, scopes=None, start_date=None, status=None, type=None, user_principal_name=None): + def __init__(__self__, created_date_time=None, decisions=None, display_name=None, id=None, instances=None, interval=None, name=None, principal_id=None, principal_name=None, principal_type=None, range=None, review_history_period_end_date_time=None, review_history_period_start_date_time=None, scopes=None, status=None, type=None, user_principal_name=None): if created_date_time and not isinstance(created_date_time, str): raise TypeError("Expected argument 'created_date_time' to be a str") pulumi.set(__self__, "created_date_time", created_date_time) @@ -32,9 +32,6 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if display_name and not isinstance(display_name, str): raise TypeError("Expected argument 'display_name' to be a str") pulumi.set(__self__, "display_name", display_name) - if end_date and not isinstance(end_date, str): - raise TypeError("Expected argument 'end_date' to be a str") - pulumi.set(__self__, "end_date", end_date) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -47,9 +44,6 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if number_of_occurrences and not isinstance(number_of_occurrences, int): - raise TypeError("Expected argument 'number_of_occurrences' to be a int") - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) if principal_id and not isinstance(principal_id, str): raise TypeError("Expected argument 'principal_id' to be a str") pulumi.set(__self__, "principal_id", principal_id) @@ -59,6 +53,9 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if principal_type and not isinstance(principal_type, str): raise TypeError("Expected argument 'principal_type' to be a str") pulumi.set(__self__, "principal_type", principal_type) + if range and not isinstance(range, dict): + raise TypeError("Expected argument 'range' to be a dict") + pulumi.set(__self__, "range", range) if review_history_period_end_date_time and not isinstance(review_history_period_end_date_time, str): raise TypeError("Expected argument 'review_history_period_end_date_time' to be a str") pulumi.set(__self__, "review_history_period_end_date_time", review_history_period_end_date_time) @@ -68,9 +65,6 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if scopes and not isinstance(scopes, list): raise TypeError("Expected argument 'scopes' to be a list") pulumi.set(__self__, "scopes", scopes) - if start_date and not isinstance(start_date, str): - raise TypeError("Expected argument 'start_date' to be a str") - pulumi.set(__self__, "start_date", start_date) if status and not isinstance(status, str): raise TypeError("Expected argument 'status' to be a str") pulumi.set(__self__, "status", status) @@ -105,14 +99,6 @@ def display_name(self) -> Optional[str]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[str]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - @property @pulumi.getter def id(self) -> str: @@ -145,14 +131,6 @@ def name(self) -> str: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[int]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> str: @@ -177,6 +155,14 @@ def principal_type(self) -> str: """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> Optional['outputs.AccessReviewRecurrenceRangeResponse']: + """ + Access Review History Definition recurrence settings. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="reviewHistoryPeriodEndDateTime") def review_history_period_end_date_time(self) -> str: @@ -201,14 +187,6 @@ def scopes(self) -> Optional[Sequence['outputs.AccessReviewScopeResponse']]: """ return pulumi.get(self, "scopes") - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[str]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - @property @pulumi.getter def status(self) -> str: @@ -243,19 +221,17 @@ def __await__(self): created_date_time=self.created_date_time, decisions=self.decisions, display_name=self.display_name, - end_date=self.end_date, id=self.id, instances=self.instances, interval=self.interval, name=self.name, - number_of_occurrences=self.number_of_occurrences, principal_id=self.principal_id, principal_name=self.principal_name, principal_type=self.principal_type, + range=self.range, review_history_period_end_date_time=self.review_history_period_end_date_time, review_history_period_start_date_time=self.review_history_period_start_date_time, scopes=self.scopes, - start_date=self.start_date, status=self.status, type=self.type, user_principal_name=self.user_principal_name) @@ -279,19 +255,17 @@ def get_access_review_history_definition_by_id(history_definition_id: Optional[s created_date_time=pulumi.get(__ret__, 'created_date_time'), decisions=pulumi.get(__ret__, 'decisions'), display_name=pulumi.get(__ret__, 'display_name'), - end_date=pulumi.get(__ret__, 'end_date'), id=pulumi.get(__ret__, 'id'), instances=pulumi.get(__ret__, 'instances'), interval=pulumi.get(__ret__, 'interval'), name=pulumi.get(__ret__, 'name'), - number_of_occurrences=pulumi.get(__ret__, 'number_of_occurrences'), principal_id=pulumi.get(__ret__, 'principal_id'), principal_name=pulumi.get(__ret__, 'principal_name'), principal_type=pulumi.get(__ret__, 'principal_type'), + range=pulumi.get(__ret__, 'range'), review_history_period_end_date_time=pulumi.get(__ret__, 'review_history_period_end_date_time'), review_history_period_start_date_time=pulumi.get(__ret__, 'review_history_period_start_date_time'), scopes=pulumi.get(__ret__, 'scopes'), - start_date=pulumi.get(__ret__, 'start_date'), status=pulumi.get(__ret__, 'status'), type=pulumi.get(__ret__, 'type'), user_principal_name=pulumi.get(__ret__, 'user_principal_name')) diff --git a/sdk/python/pulumi_azure_native/authorization/get_access_review_schedule_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/get_access_review_schedule_definition_by_id.py index cdfcd5eef422..d421ab87d7d6 100644 --- a/sdk/python/pulumi_azure_native/authorization/get_access_review_schedule_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/get_access_review_schedule_definition_by_id.py @@ -22,10 +22,7 @@ class GetAccessReviewScheduleDefinitionByIdResult: """ Access Review Schedule Definition. """ - def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, backup_reviewers=None, default_decision=None, default_decision_enabled=None, description_for_admins=None, description_for_reviewers=None, display_name=None, end_date=None, exclude_resource_id=None, exclude_role_definition_id=None, expand_nested_memberships=None, id=None, inactive_duration=None, include_access_below_resource=None, include_inherited_access=None, instance_duration_in_days=None, instances=None, interval=None, justification_required_on_approval=None, mail_notifications_enabled=None, name=None, number_of_occurrences=None, principal_id=None, principal_name=None, principal_type=None, recommendation_look_back_duration=None, recommendations_enabled=None, reminder_notifications_enabled=None, resource_id=None, reviewers=None, reviewers_type=None, role_definition_id=None, start_date=None, status=None, type=None, user_principal_name=None): - if assignment_state and not isinstance(assignment_state, str): - raise TypeError("Expected argument 'assignment_state' to be a str") - pulumi.set(__self__, "assignment_state", assignment_state) + def __init__(__self__, auto_apply_decisions_enabled=None, backup_reviewers=None, default_decision=None, default_decision_enabled=None, description_for_admins=None, description_for_reviewers=None, display_name=None, id=None, instance_duration_in_days=None, instances=None, interval=None, justification_required_on_approval=None, mail_notifications_enabled=None, name=None, principal_id=None, principal_name=None, principal_type=None, range=None, recommendation_look_back_duration=None, recommendations_enabled=None, reminder_notifications_enabled=None, reviewers=None, reviewers_type=None, scope=None, status=None, type=None, user_principal_name=None): if auto_apply_decisions_enabled and not isinstance(auto_apply_decisions_enabled, bool): raise TypeError("Expected argument 'auto_apply_decisions_enabled' to be a bool") pulumi.set(__self__, "auto_apply_decisions_enabled", auto_apply_decisions_enabled) @@ -47,30 +44,9 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if display_name and not isinstance(display_name, str): raise TypeError("Expected argument 'display_name' to be a str") pulumi.set(__self__, "display_name", display_name) - if end_date and not isinstance(end_date, str): - raise TypeError("Expected argument 'end_date' to be a str") - pulumi.set(__self__, "end_date", end_date) - if exclude_resource_id and not isinstance(exclude_resource_id, str): - raise TypeError("Expected argument 'exclude_resource_id' to be a str") - pulumi.set(__self__, "exclude_resource_id", exclude_resource_id) - if exclude_role_definition_id and not isinstance(exclude_role_definition_id, str): - raise TypeError("Expected argument 'exclude_role_definition_id' to be a str") - pulumi.set(__self__, "exclude_role_definition_id", exclude_role_definition_id) - if expand_nested_memberships and not isinstance(expand_nested_memberships, bool): - raise TypeError("Expected argument 'expand_nested_memberships' to be a bool") - pulumi.set(__self__, "expand_nested_memberships", expand_nested_memberships) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) - if inactive_duration and not isinstance(inactive_duration, str): - raise TypeError("Expected argument 'inactive_duration' to be a str") - pulumi.set(__self__, "inactive_duration", inactive_duration) - if include_access_below_resource and not isinstance(include_access_below_resource, bool): - raise TypeError("Expected argument 'include_access_below_resource' to be a bool") - pulumi.set(__self__, "include_access_below_resource", include_access_below_resource) - if include_inherited_access and not isinstance(include_inherited_access, bool): - raise TypeError("Expected argument 'include_inherited_access' to be a bool") - pulumi.set(__self__, "include_inherited_access", include_inherited_access) if instance_duration_in_days and not isinstance(instance_duration_in_days, int): raise TypeError("Expected argument 'instance_duration_in_days' to be a int") pulumi.set(__self__, "instance_duration_in_days", instance_duration_in_days) @@ -89,9 +65,6 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if number_of_occurrences and not isinstance(number_of_occurrences, int): - raise TypeError("Expected argument 'number_of_occurrences' to be a int") - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) if principal_id and not isinstance(principal_id, str): raise TypeError("Expected argument 'principal_id' to be a str") pulumi.set(__self__, "principal_id", principal_id) @@ -101,6 +74,9 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if principal_type and not isinstance(principal_type, str): raise TypeError("Expected argument 'principal_type' to be a str") pulumi.set(__self__, "principal_type", principal_type) + if range and not isinstance(range, dict): + raise TypeError("Expected argument 'range' to be a dict") + pulumi.set(__self__, "range", range) if recommendation_look_back_duration and not isinstance(recommendation_look_back_duration, str): raise TypeError("Expected argument 'recommendation_look_back_duration' to be a str") pulumi.set(__self__, "recommendation_look_back_duration", recommendation_look_back_duration) @@ -110,21 +86,15 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if reminder_notifications_enabled and not isinstance(reminder_notifications_enabled, bool): raise TypeError("Expected argument 'reminder_notifications_enabled' to be a bool") pulumi.set(__self__, "reminder_notifications_enabled", reminder_notifications_enabled) - if resource_id and not isinstance(resource_id, str): - raise TypeError("Expected argument 'resource_id' to be a str") - pulumi.set(__self__, "resource_id", resource_id) if reviewers and not isinstance(reviewers, list): raise TypeError("Expected argument 'reviewers' to be a list") pulumi.set(__self__, "reviewers", reviewers) if reviewers_type and not isinstance(reviewers_type, str): raise TypeError("Expected argument 'reviewers_type' to be a str") pulumi.set(__self__, "reviewers_type", reviewers_type) - if role_definition_id and not isinstance(role_definition_id, str): - raise TypeError("Expected argument 'role_definition_id' to be a str") - pulumi.set(__self__, "role_definition_id", role_definition_id) - if start_date and not isinstance(start_date, str): - raise TypeError("Expected argument 'start_date' to be a str") - pulumi.set(__self__, "start_date", start_date) + if scope and not isinstance(scope, dict): + raise TypeError("Expected argument 'scope' to be a dict") + pulumi.set(__self__, "scope", scope) if status and not isinstance(status, str): raise TypeError("Expected argument 'status' to be a str") pulumi.set(__self__, "status", status) @@ -135,14 +105,6 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, raise TypeError("Expected argument 'user_principal_name' to be a str") pulumi.set(__self__, "user_principal_name", user_principal_name) - @property - @pulumi.getter(name="assignmentState") - def assignment_state(self) -> str: - """ - The role assignment state eligible/active to review - """ - return pulumi.get(self, "assignment_state") - @property @pulumi.getter(name="autoApplyDecisionsEnabled") def auto_apply_decisions_enabled(self) -> Optional[bool]: @@ -199,38 +161,6 @@ def display_name(self) -> Optional[str]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[str]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @property - @pulumi.getter(name="excludeResourceId") - def exclude_resource_id(self) -> Optional[str]: - """ - This is used to indicate the resource id(s) to exclude - """ - return pulumi.get(self, "exclude_resource_id") - - @property - @pulumi.getter(name="excludeRoleDefinitionId") - def exclude_role_definition_id(self) -> Optional[str]: - """ - This is used to indicate the role definition id(s) to exclude - """ - return pulumi.get(self, "exclude_role_definition_id") - - @property - @pulumi.getter(name="expandNestedMemberships") - def expand_nested_memberships(self) -> Optional[bool]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "expand_nested_memberships") - @property @pulumi.getter def id(self) -> str: @@ -239,30 +169,6 @@ def id(self) -> str: """ return pulumi.get(self, "id") - @property - @pulumi.getter(name="inactiveDuration") - def inactive_duration(self) -> Optional[str]: - """ - Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - """ - return pulumi.get(self, "inactive_duration") - - @property - @pulumi.getter(name="includeAccessBelowResource") - def include_access_below_resource(self) -> Optional[bool]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_access_below_resource") - - @property - @pulumi.getter(name="includeInheritedAccess") - def include_inherited_access(self) -> Optional[bool]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_inherited_access") - @property @pulumi.getter(name="instanceDurationInDays") def instance_duration_in_days(self) -> Optional[int]: @@ -311,14 +217,6 @@ def name(self) -> str: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[int]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> str: @@ -339,10 +237,18 @@ def principal_name(self) -> str: @pulumi.getter(name="principalType") def principal_type(self) -> str: """ - The identity type user/servicePrincipal to review + The identity type : user/servicePrincipal """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> Optional['outputs.AccessReviewRecurrenceRangeResponse']: + """ + Access Review schedule definition recurrence range. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="recommendationLookBackDuration") def recommendation_look_back_duration(self) -> Optional[str]: @@ -367,14 +273,6 @@ def reminder_notifications_enabled(self) -> Optional[bool]: """ return pulumi.get(self, "reminder_notifications_enabled") - @property - @pulumi.getter(name="resourceId") - def resource_id(self) -> str: - """ - ResourceId in which this review is getting created - """ - return pulumi.get(self, "resource_id") - @property @pulumi.getter def reviewers(self) -> Optional[Sequence['outputs.AccessReviewReviewerResponse']]: @@ -392,20 +290,12 @@ def reviewers_type(self) -> str: return pulumi.get(self, "reviewers_type") @property - @pulumi.getter(name="roleDefinitionId") - def role_definition_id(self) -> str: - """ - This is used to indicate the role being reviewed - """ - return pulumi.get(self, "role_definition_id") - - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[str]: + @pulumi.getter + def scope(self) -> 'outputs.AccessReviewScopeResponse': """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. """ - return pulumi.get(self, "start_date") + return pulumi.get(self, "scope") @property @pulumi.getter @@ -438,7 +328,6 @@ def __await__(self): if False: yield self return GetAccessReviewScheduleDefinitionByIdResult( - assignment_state=self.assignment_state, auto_apply_decisions_enabled=self.auto_apply_decisions_enabled, backup_reviewers=self.backup_reviewers, default_decision=self.default_decision, @@ -446,32 +335,23 @@ def __await__(self): description_for_admins=self.description_for_admins, description_for_reviewers=self.description_for_reviewers, display_name=self.display_name, - end_date=self.end_date, - exclude_resource_id=self.exclude_resource_id, - exclude_role_definition_id=self.exclude_role_definition_id, - expand_nested_memberships=self.expand_nested_memberships, id=self.id, - inactive_duration=self.inactive_duration, - include_access_below_resource=self.include_access_below_resource, - include_inherited_access=self.include_inherited_access, instance_duration_in_days=self.instance_duration_in_days, instances=self.instances, interval=self.interval, justification_required_on_approval=self.justification_required_on_approval, mail_notifications_enabled=self.mail_notifications_enabled, name=self.name, - number_of_occurrences=self.number_of_occurrences, principal_id=self.principal_id, principal_name=self.principal_name, principal_type=self.principal_type, + range=self.range, recommendation_look_back_duration=self.recommendation_look_back_duration, recommendations_enabled=self.recommendations_enabled, reminder_notifications_enabled=self.reminder_notifications_enabled, - resource_id=self.resource_id, reviewers=self.reviewers, reviewers_type=self.reviewers_type, - role_definition_id=self.role_definition_id, - start_date=self.start_date, + scope=self.scope, status=self.status, type=self.type, user_principal_name=self.user_principal_name) @@ -492,7 +372,6 @@ def get_access_review_schedule_definition_by_id(schedule_definition_id: Optional __ret__ = pulumi.runtime.invoke('azure-native:authorization:getAccessReviewScheduleDefinitionById', __args__, opts=opts, typ=GetAccessReviewScheduleDefinitionByIdResult).value return AwaitableGetAccessReviewScheduleDefinitionByIdResult( - assignment_state=pulumi.get(__ret__, 'assignment_state'), auto_apply_decisions_enabled=pulumi.get(__ret__, 'auto_apply_decisions_enabled'), backup_reviewers=pulumi.get(__ret__, 'backup_reviewers'), default_decision=pulumi.get(__ret__, 'default_decision'), @@ -500,32 +379,23 @@ def get_access_review_schedule_definition_by_id(schedule_definition_id: Optional description_for_admins=pulumi.get(__ret__, 'description_for_admins'), description_for_reviewers=pulumi.get(__ret__, 'description_for_reviewers'), display_name=pulumi.get(__ret__, 'display_name'), - end_date=pulumi.get(__ret__, 'end_date'), - exclude_resource_id=pulumi.get(__ret__, 'exclude_resource_id'), - exclude_role_definition_id=pulumi.get(__ret__, 'exclude_role_definition_id'), - expand_nested_memberships=pulumi.get(__ret__, 'expand_nested_memberships'), id=pulumi.get(__ret__, 'id'), - inactive_duration=pulumi.get(__ret__, 'inactive_duration'), - include_access_below_resource=pulumi.get(__ret__, 'include_access_below_resource'), - include_inherited_access=pulumi.get(__ret__, 'include_inherited_access'), instance_duration_in_days=pulumi.get(__ret__, 'instance_duration_in_days'), instances=pulumi.get(__ret__, 'instances'), interval=pulumi.get(__ret__, 'interval'), justification_required_on_approval=pulumi.get(__ret__, 'justification_required_on_approval'), mail_notifications_enabled=pulumi.get(__ret__, 'mail_notifications_enabled'), name=pulumi.get(__ret__, 'name'), - number_of_occurrences=pulumi.get(__ret__, 'number_of_occurrences'), principal_id=pulumi.get(__ret__, 'principal_id'), principal_name=pulumi.get(__ret__, 'principal_name'), principal_type=pulumi.get(__ret__, 'principal_type'), + range=pulumi.get(__ret__, 'range'), recommendation_look_back_duration=pulumi.get(__ret__, 'recommendation_look_back_duration'), recommendations_enabled=pulumi.get(__ret__, 'recommendations_enabled'), reminder_notifications_enabled=pulumi.get(__ret__, 'reminder_notifications_enabled'), - resource_id=pulumi.get(__ret__, 'resource_id'), reviewers=pulumi.get(__ret__, 'reviewers'), reviewers_type=pulumi.get(__ret__, 'reviewers_type'), - role_definition_id=pulumi.get(__ret__, 'role_definition_id'), - start_date=pulumi.get(__ret__, 'start_date'), + scope=pulumi.get(__ret__, 'scope'), status=pulumi.get(__ret__, 'status'), type=pulumi.get(__ret__, 'type'), user_principal_name=pulumi.get(__ret__, 'user_principal_name')) diff --git a/sdk/python/pulumi_azure_native/authorization/get_scope_access_review_history_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/get_scope_access_review_history_definition_by_id.py index c8173d096718..d702627247d4 100644 --- a/sdk/python/pulumi_azure_native/authorization/get_scope_access_review_history_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/get_scope_access_review_history_definition_by_id.py @@ -22,7 +22,7 @@ class GetScopeAccessReviewHistoryDefinitionByIdResult: """ Access Review History Definition. """ - def __init__(__self__, created_date_time=None, decisions=None, display_name=None, end_date=None, id=None, instances=None, interval=None, name=None, number_of_occurrences=None, principal_id=None, principal_name=None, principal_type=None, review_history_period_end_date_time=None, review_history_period_start_date_time=None, scopes=None, start_date=None, status=None, type=None, user_principal_name=None): + def __init__(__self__, created_date_time=None, decisions=None, display_name=None, id=None, instances=None, interval=None, name=None, principal_id=None, principal_name=None, principal_type=None, range=None, review_history_period_end_date_time=None, review_history_period_start_date_time=None, scopes=None, status=None, type=None, user_principal_name=None): if created_date_time and not isinstance(created_date_time, str): raise TypeError("Expected argument 'created_date_time' to be a str") pulumi.set(__self__, "created_date_time", created_date_time) @@ -32,9 +32,6 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if display_name and not isinstance(display_name, str): raise TypeError("Expected argument 'display_name' to be a str") pulumi.set(__self__, "display_name", display_name) - if end_date and not isinstance(end_date, str): - raise TypeError("Expected argument 'end_date' to be a str") - pulumi.set(__self__, "end_date", end_date) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -47,9 +44,6 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if number_of_occurrences and not isinstance(number_of_occurrences, int): - raise TypeError("Expected argument 'number_of_occurrences' to be a int") - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) if principal_id and not isinstance(principal_id, str): raise TypeError("Expected argument 'principal_id' to be a str") pulumi.set(__self__, "principal_id", principal_id) @@ -59,6 +53,9 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if principal_type and not isinstance(principal_type, str): raise TypeError("Expected argument 'principal_type' to be a str") pulumi.set(__self__, "principal_type", principal_type) + if range and not isinstance(range, dict): + raise TypeError("Expected argument 'range' to be a dict") + pulumi.set(__self__, "range", range) if review_history_period_end_date_time and not isinstance(review_history_period_end_date_time, str): raise TypeError("Expected argument 'review_history_period_end_date_time' to be a str") pulumi.set(__self__, "review_history_period_end_date_time", review_history_period_end_date_time) @@ -68,9 +65,6 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if scopes and not isinstance(scopes, list): raise TypeError("Expected argument 'scopes' to be a list") pulumi.set(__self__, "scopes", scopes) - if start_date and not isinstance(start_date, str): - raise TypeError("Expected argument 'start_date' to be a str") - pulumi.set(__self__, "start_date", start_date) if status and not isinstance(status, str): raise TypeError("Expected argument 'status' to be a str") pulumi.set(__self__, "status", status) @@ -105,14 +99,6 @@ def display_name(self) -> Optional[str]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[str]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - @property @pulumi.getter def id(self) -> str: @@ -145,14 +131,6 @@ def name(self) -> str: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[int]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> str: @@ -177,6 +155,14 @@ def principal_type(self) -> str: """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> Optional['outputs.AccessReviewRecurrenceRangeResponse']: + """ + Access Review History Definition recurrence settings. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="reviewHistoryPeriodEndDateTime") def review_history_period_end_date_time(self) -> str: @@ -201,14 +187,6 @@ def scopes(self) -> Optional[Sequence['outputs.AccessReviewScopeResponse']]: """ return pulumi.get(self, "scopes") - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[str]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - @property @pulumi.getter def status(self) -> str: @@ -243,19 +221,17 @@ def __await__(self): created_date_time=self.created_date_time, decisions=self.decisions, display_name=self.display_name, - end_date=self.end_date, id=self.id, instances=self.instances, interval=self.interval, name=self.name, - number_of_occurrences=self.number_of_occurrences, principal_id=self.principal_id, principal_name=self.principal_name, principal_type=self.principal_type, + range=self.range, review_history_period_end_date_time=self.review_history_period_end_date_time, review_history_period_start_date_time=self.review_history_period_start_date_time, scopes=self.scopes, - start_date=self.start_date, status=self.status, type=self.type, user_principal_name=self.user_principal_name) @@ -282,19 +258,17 @@ def get_scope_access_review_history_definition_by_id(history_definition_id: Opti created_date_time=pulumi.get(__ret__, 'created_date_time'), decisions=pulumi.get(__ret__, 'decisions'), display_name=pulumi.get(__ret__, 'display_name'), - end_date=pulumi.get(__ret__, 'end_date'), id=pulumi.get(__ret__, 'id'), instances=pulumi.get(__ret__, 'instances'), interval=pulumi.get(__ret__, 'interval'), name=pulumi.get(__ret__, 'name'), - number_of_occurrences=pulumi.get(__ret__, 'number_of_occurrences'), principal_id=pulumi.get(__ret__, 'principal_id'), principal_name=pulumi.get(__ret__, 'principal_name'), principal_type=pulumi.get(__ret__, 'principal_type'), + range=pulumi.get(__ret__, 'range'), review_history_period_end_date_time=pulumi.get(__ret__, 'review_history_period_end_date_time'), review_history_period_start_date_time=pulumi.get(__ret__, 'review_history_period_start_date_time'), scopes=pulumi.get(__ret__, 'scopes'), - start_date=pulumi.get(__ret__, 'start_date'), status=pulumi.get(__ret__, 'status'), type=pulumi.get(__ret__, 'type'), user_principal_name=pulumi.get(__ret__, 'user_principal_name')) diff --git a/sdk/python/pulumi_azure_native/authorization/get_scope_access_review_schedule_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/get_scope_access_review_schedule_definition_by_id.py index 8439825f2600..da4edfe4c07e 100644 --- a/sdk/python/pulumi_azure_native/authorization/get_scope_access_review_schedule_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/get_scope_access_review_schedule_definition_by_id.py @@ -22,10 +22,7 @@ class GetScopeAccessReviewScheduleDefinitionByIdResult: """ Access Review Schedule Definition. """ - def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, backup_reviewers=None, default_decision=None, default_decision_enabled=None, description_for_admins=None, description_for_reviewers=None, display_name=None, end_date=None, exclude_resource_id=None, exclude_role_definition_id=None, expand_nested_memberships=None, id=None, inactive_duration=None, include_access_below_resource=None, include_inherited_access=None, instance_duration_in_days=None, instances=None, interval=None, justification_required_on_approval=None, mail_notifications_enabled=None, name=None, number_of_occurrences=None, principal_id=None, principal_name=None, principal_type=None, recommendation_look_back_duration=None, recommendations_enabled=None, reminder_notifications_enabled=None, resource_id=None, reviewers=None, reviewers_type=None, role_definition_id=None, start_date=None, status=None, type=None, user_principal_name=None): - if assignment_state and not isinstance(assignment_state, str): - raise TypeError("Expected argument 'assignment_state' to be a str") - pulumi.set(__self__, "assignment_state", assignment_state) + def __init__(__self__, auto_apply_decisions_enabled=None, backup_reviewers=None, default_decision=None, default_decision_enabled=None, description_for_admins=None, description_for_reviewers=None, display_name=None, id=None, instance_duration_in_days=None, instances=None, interval=None, justification_required_on_approval=None, mail_notifications_enabled=None, name=None, principal_id=None, principal_name=None, principal_type=None, range=None, recommendation_look_back_duration=None, recommendations_enabled=None, reminder_notifications_enabled=None, reviewers=None, reviewers_type=None, scope=None, status=None, type=None, user_principal_name=None): if auto_apply_decisions_enabled and not isinstance(auto_apply_decisions_enabled, bool): raise TypeError("Expected argument 'auto_apply_decisions_enabled' to be a bool") pulumi.set(__self__, "auto_apply_decisions_enabled", auto_apply_decisions_enabled) @@ -47,30 +44,9 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if display_name and not isinstance(display_name, str): raise TypeError("Expected argument 'display_name' to be a str") pulumi.set(__self__, "display_name", display_name) - if end_date and not isinstance(end_date, str): - raise TypeError("Expected argument 'end_date' to be a str") - pulumi.set(__self__, "end_date", end_date) - if exclude_resource_id and not isinstance(exclude_resource_id, str): - raise TypeError("Expected argument 'exclude_resource_id' to be a str") - pulumi.set(__self__, "exclude_resource_id", exclude_resource_id) - if exclude_role_definition_id and not isinstance(exclude_role_definition_id, str): - raise TypeError("Expected argument 'exclude_role_definition_id' to be a str") - pulumi.set(__self__, "exclude_role_definition_id", exclude_role_definition_id) - if expand_nested_memberships and not isinstance(expand_nested_memberships, bool): - raise TypeError("Expected argument 'expand_nested_memberships' to be a bool") - pulumi.set(__self__, "expand_nested_memberships", expand_nested_memberships) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) - if inactive_duration and not isinstance(inactive_duration, str): - raise TypeError("Expected argument 'inactive_duration' to be a str") - pulumi.set(__self__, "inactive_duration", inactive_duration) - if include_access_below_resource and not isinstance(include_access_below_resource, bool): - raise TypeError("Expected argument 'include_access_below_resource' to be a bool") - pulumi.set(__self__, "include_access_below_resource", include_access_below_resource) - if include_inherited_access and not isinstance(include_inherited_access, bool): - raise TypeError("Expected argument 'include_inherited_access' to be a bool") - pulumi.set(__self__, "include_inherited_access", include_inherited_access) if instance_duration_in_days and not isinstance(instance_duration_in_days, int): raise TypeError("Expected argument 'instance_duration_in_days' to be a int") pulumi.set(__self__, "instance_duration_in_days", instance_duration_in_days) @@ -89,9 +65,6 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if number_of_occurrences and not isinstance(number_of_occurrences, int): - raise TypeError("Expected argument 'number_of_occurrences' to be a int") - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) if principal_id and not isinstance(principal_id, str): raise TypeError("Expected argument 'principal_id' to be a str") pulumi.set(__self__, "principal_id", principal_id) @@ -101,6 +74,9 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if principal_type and not isinstance(principal_type, str): raise TypeError("Expected argument 'principal_type' to be a str") pulumi.set(__self__, "principal_type", principal_type) + if range and not isinstance(range, dict): + raise TypeError("Expected argument 'range' to be a dict") + pulumi.set(__self__, "range", range) if recommendation_look_back_duration and not isinstance(recommendation_look_back_duration, str): raise TypeError("Expected argument 'recommendation_look_back_duration' to be a str") pulumi.set(__self__, "recommendation_look_back_duration", recommendation_look_back_duration) @@ -110,21 +86,15 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if reminder_notifications_enabled and not isinstance(reminder_notifications_enabled, bool): raise TypeError("Expected argument 'reminder_notifications_enabled' to be a bool") pulumi.set(__self__, "reminder_notifications_enabled", reminder_notifications_enabled) - if resource_id and not isinstance(resource_id, str): - raise TypeError("Expected argument 'resource_id' to be a str") - pulumi.set(__self__, "resource_id", resource_id) if reviewers and not isinstance(reviewers, list): raise TypeError("Expected argument 'reviewers' to be a list") pulumi.set(__self__, "reviewers", reviewers) if reviewers_type and not isinstance(reviewers_type, str): raise TypeError("Expected argument 'reviewers_type' to be a str") pulumi.set(__self__, "reviewers_type", reviewers_type) - if role_definition_id and not isinstance(role_definition_id, str): - raise TypeError("Expected argument 'role_definition_id' to be a str") - pulumi.set(__self__, "role_definition_id", role_definition_id) - if start_date and not isinstance(start_date, str): - raise TypeError("Expected argument 'start_date' to be a str") - pulumi.set(__self__, "start_date", start_date) + if scope and not isinstance(scope, dict): + raise TypeError("Expected argument 'scope' to be a dict") + pulumi.set(__self__, "scope", scope) if status and not isinstance(status, str): raise TypeError("Expected argument 'status' to be a str") pulumi.set(__self__, "status", status) @@ -135,14 +105,6 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, raise TypeError("Expected argument 'user_principal_name' to be a str") pulumi.set(__self__, "user_principal_name", user_principal_name) - @property - @pulumi.getter(name="assignmentState") - def assignment_state(self) -> str: - """ - The role assignment state eligible/active to review - """ - return pulumi.get(self, "assignment_state") - @property @pulumi.getter(name="autoApplyDecisionsEnabled") def auto_apply_decisions_enabled(self) -> Optional[bool]: @@ -199,38 +161,6 @@ def display_name(self) -> Optional[str]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[str]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @property - @pulumi.getter(name="excludeResourceId") - def exclude_resource_id(self) -> Optional[str]: - """ - This is used to indicate the resource id(s) to exclude - """ - return pulumi.get(self, "exclude_resource_id") - - @property - @pulumi.getter(name="excludeRoleDefinitionId") - def exclude_role_definition_id(self) -> Optional[str]: - """ - This is used to indicate the role definition id(s) to exclude - """ - return pulumi.get(self, "exclude_role_definition_id") - - @property - @pulumi.getter(name="expandNestedMemberships") - def expand_nested_memberships(self) -> Optional[bool]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "expand_nested_memberships") - @property @pulumi.getter def id(self) -> str: @@ -239,30 +169,6 @@ def id(self) -> str: """ return pulumi.get(self, "id") - @property - @pulumi.getter(name="inactiveDuration") - def inactive_duration(self) -> Optional[str]: - """ - Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - """ - return pulumi.get(self, "inactive_duration") - - @property - @pulumi.getter(name="includeAccessBelowResource") - def include_access_below_resource(self) -> Optional[bool]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_access_below_resource") - - @property - @pulumi.getter(name="includeInheritedAccess") - def include_inherited_access(self) -> Optional[bool]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_inherited_access") - @property @pulumi.getter(name="instanceDurationInDays") def instance_duration_in_days(self) -> Optional[int]: @@ -311,14 +217,6 @@ def name(self) -> str: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[int]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> str: @@ -339,10 +237,18 @@ def principal_name(self) -> str: @pulumi.getter(name="principalType") def principal_type(self) -> str: """ - The identity type user/servicePrincipal to review + The identity type : user/servicePrincipal """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> Optional['outputs.AccessReviewRecurrenceRangeResponse']: + """ + Access Review schedule definition recurrence range. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="recommendationLookBackDuration") def recommendation_look_back_duration(self) -> Optional[str]: @@ -367,14 +273,6 @@ def reminder_notifications_enabled(self) -> Optional[bool]: """ return pulumi.get(self, "reminder_notifications_enabled") - @property - @pulumi.getter(name="resourceId") - def resource_id(self) -> str: - """ - ResourceId in which this review is getting created - """ - return pulumi.get(self, "resource_id") - @property @pulumi.getter def reviewers(self) -> Optional[Sequence['outputs.AccessReviewReviewerResponse']]: @@ -392,20 +290,12 @@ def reviewers_type(self) -> str: return pulumi.get(self, "reviewers_type") @property - @pulumi.getter(name="roleDefinitionId") - def role_definition_id(self) -> str: - """ - This is used to indicate the role being reviewed - """ - return pulumi.get(self, "role_definition_id") - - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[str]: + @pulumi.getter + def scope(self) -> 'outputs.AccessReviewScopeResponse': """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. """ - return pulumi.get(self, "start_date") + return pulumi.get(self, "scope") @property @pulumi.getter @@ -438,7 +328,6 @@ def __await__(self): if False: yield self return GetScopeAccessReviewScheduleDefinitionByIdResult( - assignment_state=self.assignment_state, auto_apply_decisions_enabled=self.auto_apply_decisions_enabled, backup_reviewers=self.backup_reviewers, default_decision=self.default_decision, @@ -446,32 +335,23 @@ def __await__(self): description_for_admins=self.description_for_admins, description_for_reviewers=self.description_for_reviewers, display_name=self.display_name, - end_date=self.end_date, - exclude_resource_id=self.exclude_resource_id, - exclude_role_definition_id=self.exclude_role_definition_id, - expand_nested_memberships=self.expand_nested_memberships, id=self.id, - inactive_duration=self.inactive_duration, - include_access_below_resource=self.include_access_below_resource, - include_inherited_access=self.include_inherited_access, instance_duration_in_days=self.instance_duration_in_days, instances=self.instances, interval=self.interval, justification_required_on_approval=self.justification_required_on_approval, mail_notifications_enabled=self.mail_notifications_enabled, name=self.name, - number_of_occurrences=self.number_of_occurrences, principal_id=self.principal_id, principal_name=self.principal_name, principal_type=self.principal_type, + range=self.range, recommendation_look_back_duration=self.recommendation_look_back_duration, recommendations_enabled=self.recommendations_enabled, reminder_notifications_enabled=self.reminder_notifications_enabled, - resource_id=self.resource_id, reviewers=self.reviewers, reviewers_type=self.reviewers_type, - role_definition_id=self.role_definition_id, - start_date=self.start_date, + scope=self.scope, status=self.status, type=self.type, user_principal_name=self.user_principal_name) @@ -495,7 +375,6 @@ def get_scope_access_review_schedule_definition_by_id(schedule_definition_id: Op __ret__ = pulumi.runtime.invoke('azure-native:authorization:getScopeAccessReviewScheduleDefinitionById', __args__, opts=opts, typ=GetScopeAccessReviewScheduleDefinitionByIdResult).value return AwaitableGetScopeAccessReviewScheduleDefinitionByIdResult( - assignment_state=pulumi.get(__ret__, 'assignment_state'), auto_apply_decisions_enabled=pulumi.get(__ret__, 'auto_apply_decisions_enabled'), backup_reviewers=pulumi.get(__ret__, 'backup_reviewers'), default_decision=pulumi.get(__ret__, 'default_decision'), @@ -503,32 +382,23 @@ def get_scope_access_review_schedule_definition_by_id(schedule_definition_id: Op description_for_admins=pulumi.get(__ret__, 'description_for_admins'), description_for_reviewers=pulumi.get(__ret__, 'description_for_reviewers'), display_name=pulumi.get(__ret__, 'display_name'), - end_date=pulumi.get(__ret__, 'end_date'), - exclude_resource_id=pulumi.get(__ret__, 'exclude_resource_id'), - exclude_role_definition_id=pulumi.get(__ret__, 'exclude_role_definition_id'), - expand_nested_memberships=pulumi.get(__ret__, 'expand_nested_memberships'), id=pulumi.get(__ret__, 'id'), - inactive_duration=pulumi.get(__ret__, 'inactive_duration'), - include_access_below_resource=pulumi.get(__ret__, 'include_access_below_resource'), - include_inherited_access=pulumi.get(__ret__, 'include_inherited_access'), instance_duration_in_days=pulumi.get(__ret__, 'instance_duration_in_days'), instances=pulumi.get(__ret__, 'instances'), interval=pulumi.get(__ret__, 'interval'), justification_required_on_approval=pulumi.get(__ret__, 'justification_required_on_approval'), mail_notifications_enabled=pulumi.get(__ret__, 'mail_notifications_enabled'), name=pulumi.get(__ret__, 'name'), - number_of_occurrences=pulumi.get(__ret__, 'number_of_occurrences'), principal_id=pulumi.get(__ret__, 'principal_id'), principal_name=pulumi.get(__ret__, 'principal_name'), principal_type=pulumi.get(__ret__, 'principal_type'), + range=pulumi.get(__ret__, 'range'), recommendation_look_back_duration=pulumi.get(__ret__, 'recommendation_look_back_duration'), recommendations_enabled=pulumi.get(__ret__, 'recommendations_enabled'), reminder_notifications_enabled=pulumi.get(__ret__, 'reminder_notifications_enabled'), - resource_id=pulumi.get(__ret__, 'resource_id'), reviewers=pulumi.get(__ret__, 'reviewers'), reviewers_type=pulumi.get(__ret__, 'reviewers_type'), - role_definition_id=pulumi.get(__ret__, 'role_definition_id'), - start_date=pulumi.get(__ret__, 'start_date'), + scope=pulumi.get(__ret__, 'scope'), status=pulumi.get(__ret__, 'status'), type=pulumi.get(__ret__, 'type'), user_principal_name=pulumi.get(__ret__, 'user_principal_name')) diff --git a/sdk/python/pulumi_azure_native/authorization/outputs.py b/sdk/python/pulumi_azure_native/authorization/outputs.py index b9cd851505cd..0f6bb9b16b6d 100644 --- a/sdk/python/pulumi_azure_native/authorization/outputs.py +++ b/sdk/python/pulumi_azure_native/authorization/outputs.py @@ -14,6 +14,7 @@ __all__ = [ 'AccessReviewHistoryInstanceResponse', 'AccessReviewInstanceResponse', + 'AccessReviewRecurrenceRangeResponse', 'AccessReviewReviewerResponse', 'AccessReviewScopeResponse', 'ApprovalSettingsResponse', @@ -354,6 +355,86 @@ def start_date_time(self) -> Optional[str]: return pulumi.get(self, "start_date_time") +@pulumi.output_type +class AccessReviewRecurrenceRangeResponse(dict): + """ + Recurrence Range of an Access Review Schedule Definition. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "endDate": + suggest = "end_date" + elif key == "numberOfOccurrences": + suggest = "number_of_occurrences" + elif key == "startDate": + suggest = "start_date" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AccessReviewRecurrenceRangeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AccessReviewRecurrenceRangeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AccessReviewRecurrenceRangeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + end_date: Optional[str] = None, + number_of_occurrences: Optional[int] = None, + start_date: Optional[str] = None, + type: Optional[str] = None): + """ + Recurrence Range of an Access Review Schedule Definition. + :param str end_date: The DateTime when the review is scheduled to end. Required if type is endDate + :param int number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param str start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + :param str type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + """ + if end_date is not None: + pulumi.set(__self__, "end_date", end_date) + if number_of_occurrences is not None: + pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) + if start_date is not None: + pulumi.set(__self__, "start_date", start_date) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="endDate") + def end_date(self) -> Optional[str]: + """ + The DateTime when the review is scheduled to end. Required if type is endDate + """ + return pulumi.get(self, "end_date") + + @property + @pulumi.getter(name="numberOfOccurrences") + def number_of_occurrences(self) -> Optional[int]: + """ + The number of times to repeat the access review. Required and must be positive if type is numbered. + """ + return pulumi.get(self, "number_of_occurrences") + + @property + @pulumi.getter(name="startDate") + def start_date(self) -> Optional[str]: + """ + The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + """ + return pulumi.get(self, "start_date") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The recurrence range type. The possible values are: endDate, noEnd, numbered. + """ + return pulumi.get(self, "type") + + @pulumi.output_type class AccessReviewReviewerResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/authorization/scope_access_review_history_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/scope_access_review_history_definition_by_id.py index 08c72f644684..5894ee2fe046 100644 --- a/sdk/python/pulumi_azure_native/authorization/scope_access_review_history_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/scope_access_review_history_definition_by_id.py @@ -20,47 +20,39 @@ def __init__(__self__, *, scope: pulumi.Input[str], decisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, history_definition_id: Optional[pulumi.Input[str]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewHistoryInstanceArgs']]]] = None, interval: Optional[pulumi.Input[int]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']] = None, scopes: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewScopeArgs']]]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None): + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None): """ The set of arguments for constructing a ScopeAccessReviewHistoryDefinitionById resource. :param pulumi.Input[str] scope: The scope of the resource. :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]] decisions: Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request. :param pulumi.Input[str] display_name: The display name for the history definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] history_definition_id: The id of the access review history definition. :param pulumi.Input[Sequence[pulumi.Input['AccessReviewHistoryInstanceArgs']]] instances: Set of access review history instances for this history definition. :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input['AccessReviewRecurrenceRangeArgs'] range: Access Review History Definition recurrence settings. :param pulumi.Input[Sequence[pulumi.Input['AccessReviewScopeArgs']]] scopes: A collection of scopes used when selecting review history data - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ pulumi.set(__self__, "scope", scope) if decisions is not None: pulumi.set(__self__, "decisions", decisions) if display_name is not None: pulumi.set(__self__, "display_name", display_name) - if end_date is not None: - pulumi.set(__self__, "end_date", end_date) if history_definition_id is not None: pulumi.set(__self__, "history_definition_id", history_definition_id) if instances is not None: pulumi.set(__self__, "instances", instances) if interval is not None: pulumi.set(__self__, "interval", interval) - if number_of_occurrences is not None: - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) + if range is not None: + pulumi.set(__self__, "range", range) if scopes is not None: pulumi.set(__self__, "scopes", scopes) - if start_date is not None: - pulumi.set(__self__, "start_date", start_date) if type is not None: pulumi.set(__self__, "type", type) @@ -100,18 +92,6 @@ def display_name(self) -> Optional[pulumi.Input[str]]: def display_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "display_name", value) - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @end_date.setter - def end_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "end_date", value) - @property @pulumi.getter(name="historyDefinitionId") def history_definition_id(self) -> Optional[pulumi.Input[str]]: @@ -149,16 +129,16 @@ def interval(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "interval", value) @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[pulumi.Input[int]]: + @pulumi.getter + def range(self) -> Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]: """ - The number of times to repeat the access review. Required and must be positive if type is numbered. + Access Review History Definition recurrence settings. """ - return pulumi.get(self, "number_of_occurrences") + return pulumi.get(self, "range") - @number_of_occurrences.setter - def number_of_occurrences(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "number_of_occurrences", value) + @range.setter + def range(self, value: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]): + pulumi.set(self, "range", value) @property @pulumi.getter @@ -172,28 +152,16 @@ def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewSco def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewScopeArgs']]]]): pulumi.set(self, "scopes", value) - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - - @start_date.setter - def start_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "start_date", value) - @property @pulumi.getter - def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]: + def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]: """ - The recurrence range type. The possible values are: endDate, noEnd, numbered. + The recurrence type : weekly, monthly, etc. """ return pulumi.get(self, "type") @type.setter - def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]): + def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]): pulumi.set(self, "type", value) @@ -204,15 +172,13 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, decisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, history_definition_id: Optional[pulumi.Input[str]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewHistoryInstanceArgs']]]]] = None, interval: Optional[pulumi.Input[int]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, scope: Optional[pulumi.Input[str]] = None, scopes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewScopeArgs']]]]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): """ Access Review History Definition. @@ -222,15 +188,13 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]] decisions: Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request. :param pulumi.Input[str] display_name: The display name for the history definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] history_definition_id: The id of the access review history definition. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewHistoryInstanceArgs']]]] instances: Set of access review history instances for this history definition. :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']] range: Access Review History Definition recurrence settings. :param pulumi.Input[str] scope: The scope of the resource. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewScopeArgs']]]] scopes: A collection of scopes used when selecting review history data - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ ... @overload @@ -259,15 +223,13 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, decisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, history_definition_id: Optional[pulumi.Input[str]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewHistoryInstanceArgs']]]]] = None, interval: Optional[pulumi.Input[int]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, scope: Optional[pulumi.Input[str]] = None, scopes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewScopeArgs']]]]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -279,16 +241,14 @@ def _internal_init(__self__, __props__.__dict__["decisions"] = decisions __props__.__dict__["display_name"] = display_name - __props__.__dict__["end_date"] = end_date __props__.__dict__["history_definition_id"] = history_definition_id __props__.__dict__["instances"] = instances __props__.__dict__["interval"] = interval - __props__.__dict__["number_of_occurrences"] = number_of_occurrences + __props__.__dict__["range"] = range if scope is None and not opts.urn: raise TypeError("Missing required property 'scope'") __props__.__dict__["scope"] = scope __props__.__dict__["scopes"] = scopes - __props__.__dict__["start_date"] = start_date __props__.__dict__["type"] = type __props__.__dict__["created_date_time"] = None __props__.__dict__["name"] = None @@ -326,18 +286,16 @@ def get(resource_name: str, __props__.__dict__["created_date_time"] = None __props__.__dict__["decisions"] = None __props__.__dict__["display_name"] = None - __props__.__dict__["end_date"] = None __props__.__dict__["instances"] = None __props__.__dict__["interval"] = None __props__.__dict__["name"] = None - __props__.__dict__["number_of_occurrences"] = None __props__.__dict__["principal_id"] = None __props__.__dict__["principal_name"] = None __props__.__dict__["principal_type"] = None + __props__.__dict__["range"] = None __props__.__dict__["review_history_period_end_date_time"] = None __props__.__dict__["review_history_period_start_date_time"] = None __props__.__dict__["scopes"] = None - __props__.__dict__["start_date"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None __props__.__dict__["user_principal_name"] = None @@ -367,14 +325,6 @@ def display_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> pulumi.Output[Optional[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - @property @pulumi.getter def instances(self) -> pulumi.Output[Optional[Sequence['outputs.AccessReviewHistoryInstanceResponse']]]: @@ -399,14 +349,6 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> pulumi.Output[Optional[int]]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> pulumi.Output[str]: @@ -431,6 +373,14 @@ def principal_type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> pulumi.Output[Optional['outputs.AccessReviewRecurrenceRangeResponse']]: + """ + Access Review History Definition recurrence settings. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="reviewHistoryPeriodEndDateTime") def review_history_period_end_date_time(self) -> pulumi.Output[str]: @@ -455,14 +405,6 @@ def scopes(self) -> pulumi.Output[Optional[Sequence['outputs.AccessReviewScopeRe """ return pulumi.get(self, "scopes") - @property - @pulumi.getter(name="startDate") - def start_date(self) -> pulumi.Output[Optional[str]]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - @property @pulumi.getter def status(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure_native/authorization/scope_access_review_schedule_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/scope_access_review_schedule_definition_by_id.py index 6480951c6151..300ec057a489 100644 --- a/sdk/python/pulumi_azure_native/authorization/scope_access_review_schedule_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/scope_access_review_schedule_definition_by_id.py @@ -25,7 +25,6 @@ def __init__(__self__, *, description_for_admins: Optional[pulumi.Input[str]] = None, description_for_reviewers: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, exclude_resource_id: Optional[pulumi.Input[str]] = None, exclude_role_definition_id: Optional[pulumi.Input[str]] = None, expand_nested_memberships: Optional[pulumi.Input[bool]] = None, @@ -37,14 +36,13 @@ def __init__(__self__, *, interval: Optional[pulumi.Input[int]] = None, justification_required_on_approval: Optional[pulumi.Input[bool]] = None, mail_notifications_enabled: Optional[pulumi.Input[bool]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']] = None, recommendation_look_back_duration: Optional[pulumi.Input[str]] = None, recommendations_enabled: Optional[pulumi.Input[bool]] = None, reminder_notifications_enabled: Optional[pulumi.Input[bool]] = None, reviewers: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewReviewerArgs']]]] = None, schedule_definition_id: Optional[pulumi.Input[str]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None): + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None): """ The set of arguments for constructing a ScopeAccessReviewScheduleDefinitionById resource. :param pulumi.Input[str] scope: The scope of the resource. @@ -55,7 +53,6 @@ def __init__(__self__, *, :param pulumi.Input[str] description_for_admins: The description provided by the access review creator and visible to admins. :param pulumi.Input[str] description_for_reviewers: The description provided by the access review creator to be shown to reviewers. :param pulumi.Input[str] display_name: The display name for the schedule definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] exclude_resource_id: This is used to indicate the resource id(s) to exclude :param pulumi.Input[str] exclude_role_definition_id: This is used to indicate the role definition id(s) to exclude :param pulumi.Input[bool] expand_nested_memberships: Flag to indicate whether to expand nested memberships or not. @@ -67,14 +64,13 @@ def __init__(__self__, *, :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. :param pulumi.Input[bool] justification_required_on_approval: Flag to indicate whether the reviewer is required to pass justification when recording a decision. :param pulumi.Input[bool] mail_notifications_enabled: Flag to indicate whether sending mails to reviewers and the review creator is enabled. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input['AccessReviewRecurrenceRangeArgs'] range: Access Review schedule definition recurrence range. :param pulumi.Input[str] recommendation_look_back_duration: Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) :param pulumi.Input[bool] recommendations_enabled: Flag to indicate whether showing recommendations to reviewers is enabled. :param pulumi.Input[bool] reminder_notifications_enabled: Flag to indicate whether sending reminder emails to reviewers are enabled. :param pulumi.Input[Sequence[pulumi.Input['AccessReviewReviewerArgs']]] reviewers: This is the collection of reviewers. :param pulumi.Input[str] schedule_definition_id: The id of the access review schedule definition. - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ pulumi.set(__self__, "scope", scope) if auto_apply_decisions_enabled is not None: @@ -91,8 +87,6 @@ def __init__(__self__, *, pulumi.set(__self__, "description_for_reviewers", description_for_reviewers) if display_name is not None: pulumi.set(__self__, "display_name", display_name) - if end_date is not None: - pulumi.set(__self__, "end_date", end_date) if exclude_resource_id is not None: pulumi.set(__self__, "exclude_resource_id", exclude_resource_id) if exclude_role_definition_id is not None: @@ -115,8 +109,8 @@ def __init__(__self__, *, pulumi.set(__self__, "justification_required_on_approval", justification_required_on_approval) if mail_notifications_enabled is not None: pulumi.set(__self__, "mail_notifications_enabled", mail_notifications_enabled) - if number_of_occurrences is not None: - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) + if range is not None: + pulumi.set(__self__, "range", range) if recommendation_look_back_duration is not None: pulumi.set(__self__, "recommendation_look_back_duration", recommendation_look_back_duration) if recommendations_enabled is not None: @@ -127,8 +121,6 @@ def __init__(__self__, *, pulumi.set(__self__, "reviewers", reviewers) if schedule_definition_id is not None: pulumi.set(__self__, "schedule_definition_id", schedule_definition_id) - if start_date is not None: - pulumi.set(__self__, "start_date", start_date) if type is not None: pulumi.set(__self__, "type", type) @@ -228,18 +220,6 @@ def display_name(self) -> Optional[pulumi.Input[str]]: def display_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "display_name", value) - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @end_date.setter - def end_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "end_date", value) - @property @pulumi.getter(name="excludeResourceId") def exclude_resource_id(self) -> Optional[pulumi.Input[str]]: @@ -373,16 +353,16 @@ def mail_notifications_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "mail_notifications_enabled", value) @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[pulumi.Input[int]]: + @pulumi.getter + def range(self) -> Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]: """ - The number of times to repeat the access review. Required and must be positive if type is numbered. + Access Review schedule definition recurrence range. """ - return pulumi.get(self, "number_of_occurrences") + return pulumi.get(self, "range") - @number_of_occurrences.setter - def number_of_occurrences(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "number_of_occurrences", value) + @range.setter + def range(self, value: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]): + pulumi.set(self, "range", value) @property @pulumi.getter(name="recommendationLookBackDuration") @@ -444,28 +424,16 @@ def schedule_definition_id(self) -> Optional[pulumi.Input[str]]: def schedule_definition_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "schedule_definition_id", value) - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - - @start_date.setter - def start_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "start_date", value) - @property @pulumi.getter - def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]: + def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]: """ - The recurrence range type. The possible values are: endDate, noEnd, numbered. + The recurrence type : weekly, monthly, etc. """ return pulumi.get(self, "type") @type.setter - def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]): + def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]): pulumi.set(self, "type", value) @@ -481,7 +449,6 @@ def __init__(__self__, description_for_admins: Optional[pulumi.Input[str]] = None, description_for_reviewers: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, exclude_resource_id: Optional[pulumi.Input[str]] = None, exclude_role_definition_id: Optional[pulumi.Input[str]] = None, expand_nested_memberships: Optional[pulumi.Input[bool]] = None, @@ -493,15 +460,14 @@ def __init__(__self__, interval: Optional[pulumi.Input[int]] = None, justification_required_on_approval: Optional[pulumi.Input[bool]] = None, mail_notifications_enabled: Optional[pulumi.Input[bool]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, recommendation_look_back_duration: Optional[pulumi.Input[str]] = None, recommendations_enabled: Optional[pulumi.Input[bool]] = None, reminder_notifications_enabled: Optional[pulumi.Input[bool]] = None, reviewers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewReviewerArgs']]]]] = None, schedule_definition_id: Optional[pulumi.Input[str]] = None, scope: Optional[pulumi.Input[str]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): """ Access Review Schedule Definition. @@ -516,7 +482,6 @@ def __init__(__self__, :param pulumi.Input[str] description_for_admins: The description provided by the access review creator and visible to admins. :param pulumi.Input[str] description_for_reviewers: The description provided by the access review creator to be shown to reviewers. :param pulumi.Input[str] display_name: The display name for the schedule definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] exclude_resource_id: This is used to indicate the resource id(s) to exclude :param pulumi.Input[str] exclude_role_definition_id: This is used to indicate the role definition id(s) to exclude :param pulumi.Input[bool] expand_nested_memberships: Flag to indicate whether to expand nested memberships or not. @@ -528,15 +493,14 @@ def __init__(__self__, :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. :param pulumi.Input[bool] justification_required_on_approval: Flag to indicate whether the reviewer is required to pass justification when recording a decision. :param pulumi.Input[bool] mail_notifications_enabled: Flag to indicate whether sending mails to reviewers and the review creator is enabled. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']] range: Access Review schedule definition recurrence range. :param pulumi.Input[str] recommendation_look_back_duration: Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) :param pulumi.Input[bool] recommendations_enabled: Flag to indicate whether showing recommendations to reviewers is enabled. :param pulumi.Input[bool] reminder_notifications_enabled: Flag to indicate whether sending reminder emails to reviewers are enabled. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewReviewerArgs']]]] reviewers: This is the collection of reviewers. :param pulumi.Input[str] schedule_definition_id: The id of the access review schedule definition. :param pulumi.Input[str] scope: The scope of the resource. - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ ... @overload @@ -570,7 +534,6 @@ def _internal_init(__self__, description_for_admins: Optional[pulumi.Input[str]] = None, description_for_reviewers: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, exclude_resource_id: Optional[pulumi.Input[str]] = None, exclude_role_definition_id: Optional[pulumi.Input[str]] = None, expand_nested_memberships: Optional[pulumi.Input[bool]] = None, @@ -582,15 +545,14 @@ def _internal_init(__self__, interval: Optional[pulumi.Input[int]] = None, justification_required_on_approval: Optional[pulumi.Input[bool]] = None, mail_notifications_enabled: Optional[pulumi.Input[bool]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, recommendation_look_back_duration: Optional[pulumi.Input[str]] = None, recommendations_enabled: Optional[pulumi.Input[bool]] = None, reminder_notifications_enabled: Optional[pulumi.Input[bool]] = None, reviewers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewReviewerArgs']]]]] = None, schedule_definition_id: Optional[pulumi.Input[str]] = None, scope: Optional[pulumi.Input[str]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -607,7 +569,6 @@ def _internal_init(__self__, __props__.__dict__["description_for_admins"] = description_for_admins __props__.__dict__["description_for_reviewers"] = description_for_reviewers __props__.__dict__["display_name"] = display_name - __props__.__dict__["end_date"] = end_date __props__.__dict__["exclude_resource_id"] = exclude_resource_id __props__.__dict__["exclude_role_definition_id"] = exclude_role_definition_id __props__.__dict__["expand_nested_memberships"] = expand_nested_memberships @@ -619,7 +580,7 @@ def _internal_init(__self__, __props__.__dict__["interval"] = interval __props__.__dict__["justification_required_on_approval"] = justification_required_on_approval __props__.__dict__["mail_notifications_enabled"] = mail_notifications_enabled - __props__.__dict__["number_of_occurrences"] = number_of_occurrences + __props__.__dict__["range"] = range __props__.__dict__["recommendation_look_back_duration"] = recommendation_look_back_duration __props__.__dict__["recommendations_enabled"] = recommendations_enabled __props__.__dict__["reminder_notifications_enabled"] = reminder_notifications_enabled @@ -628,16 +589,12 @@ def _internal_init(__self__, if scope is None and not opts.urn: raise TypeError("Missing required property 'scope'") __props__.__dict__["scope"] = scope - __props__.__dict__["start_date"] = start_date __props__.__dict__["type"] = type - __props__.__dict__["assignment_state"] = None __props__.__dict__["name"] = None __props__.__dict__["principal_id"] = None __props__.__dict__["principal_name"] = None __props__.__dict__["principal_type"] = None - __props__.__dict__["resource_id"] = None __props__.__dict__["reviewers_type"] = None - __props__.__dict__["role_definition_id"] = None __props__.__dict__["status"] = None __props__.__dict__["user_principal_name"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:authorization/v20211201preview:ScopeAccessReviewScheduleDefinitionById")]) @@ -664,7 +621,6 @@ def get(resource_name: str, __props__ = ScopeAccessReviewScheduleDefinitionByIdArgs.__new__(ScopeAccessReviewScheduleDefinitionByIdArgs) - __props__.__dict__["assignment_state"] = None __props__.__dict__["auto_apply_decisions_enabled"] = None __props__.__dict__["backup_reviewers"] = None __props__.__dict__["default_decision"] = None @@ -672,44 +628,27 @@ def get(resource_name: str, __props__.__dict__["description_for_admins"] = None __props__.__dict__["description_for_reviewers"] = None __props__.__dict__["display_name"] = None - __props__.__dict__["end_date"] = None - __props__.__dict__["exclude_resource_id"] = None - __props__.__dict__["exclude_role_definition_id"] = None - __props__.__dict__["expand_nested_memberships"] = None - __props__.__dict__["inactive_duration"] = None - __props__.__dict__["include_access_below_resource"] = None - __props__.__dict__["include_inherited_access"] = None __props__.__dict__["instance_duration_in_days"] = None __props__.__dict__["instances"] = None __props__.__dict__["interval"] = None __props__.__dict__["justification_required_on_approval"] = None __props__.__dict__["mail_notifications_enabled"] = None __props__.__dict__["name"] = None - __props__.__dict__["number_of_occurrences"] = None __props__.__dict__["principal_id"] = None __props__.__dict__["principal_name"] = None __props__.__dict__["principal_type"] = None + __props__.__dict__["range"] = None __props__.__dict__["recommendation_look_back_duration"] = None __props__.__dict__["recommendations_enabled"] = None __props__.__dict__["reminder_notifications_enabled"] = None - __props__.__dict__["resource_id"] = None __props__.__dict__["reviewers"] = None __props__.__dict__["reviewers_type"] = None - __props__.__dict__["role_definition_id"] = None - __props__.__dict__["start_date"] = None + __props__.__dict__["scope"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None __props__.__dict__["user_principal_name"] = None return ScopeAccessReviewScheduleDefinitionById(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="assignmentState") - def assignment_state(self) -> pulumi.Output[str]: - """ - The role assignment state eligible/active to review - """ - return pulumi.get(self, "assignment_state") - @property @pulumi.getter(name="autoApplyDecisionsEnabled") def auto_apply_decisions_enabled(self) -> pulumi.Output[Optional[bool]]: @@ -766,62 +705,6 @@ def display_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> pulumi.Output[Optional[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @property - @pulumi.getter(name="excludeResourceId") - def exclude_resource_id(self) -> pulumi.Output[Optional[str]]: - """ - This is used to indicate the resource id(s) to exclude - """ - return pulumi.get(self, "exclude_resource_id") - - @property - @pulumi.getter(name="excludeRoleDefinitionId") - def exclude_role_definition_id(self) -> pulumi.Output[Optional[str]]: - """ - This is used to indicate the role definition id(s) to exclude - """ - return pulumi.get(self, "exclude_role_definition_id") - - @property - @pulumi.getter(name="expandNestedMemberships") - def expand_nested_memberships(self) -> pulumi.Output[Optional[bool]]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "expand_nested_memberships") - - @property - @pulumi.getter(name="inactiveDuration") - def inactive_duration(self) -> pulumi.Output[Optional[str]]: - """ - Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - """ - return pulumi.get(self, "inactive_duration") - - @property - @pulumi.getter(name="includeAccessBelowResource") - def include_access_below_resource(self) -> pulumi.Output[Optional[bool]]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_access_below_resource") - - @property - @pulumi.getter(name="includeInheritedAccess") - def include_inherited_access(self) -> pulumi.Output[Optional[bool]]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_inherited_access") - @property @pulumi.getter(name="instanceDurationInDays") def instance_duration_in_days(self) -> pulumi.Output[Optional[int]]: @@ -870,14 +753,6 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> pulumi.Output[Optional[int]]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> pulumi.Output[str]: @@ -898,10 +773,18 @@ def principal_name(self) -> pulumi.Output[str]: @pulumi.getter(name="principalType") def principal_type(self) -> pulumi.Output[str]: """ - The identity type user/servicePrincipal to review + The identity type : user/servicePrincipal """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> pulumi.Output[Optional['outputs.AccessReviewRecurrenceRangeResponse']]: + """ + Access Review schedule definition recurrence range. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="recommendationLookBackDuration") def recommendation_look_back_duration(self) -> pulumi.Output[Optional[str]]: @@ -926,14 +809,6 @@ def reminder_notifications_enabled(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "reminder_notifications_enabled") - @property - @pulumi.getter(name="resourceId") - def resource_id(self) -> pulumi.Output[str]: - """ - ResourceId in which this review is getting created - """ - return pulumi.get(self, "resource_id") - @property @pulumi.getter def reviewers(self) -> pulumi.Output[Optional[Sequence['outputs.AccessReviewReviewerResponse']]]: @@ -951,20 +826,12 @@ def reviewers_type(self) -> pulumi.Output[str]: return pulumi.get(self, "reviewers_type") @property - @pulumi.getter(name="roleDefinitionId") - def role_definition_id(self) -> pulumi.Output[str]: - """ - This is used to indicate the role being reviewed - """ - return pulumi.get(self, "role_definition_id") - - @property - @pulumi.getter(name="startDate") - def start_date(self) -> pulumi.Output[Optional[str]]: + @pulumi.getter + def scope(self) -> pulumi.Output['outputs.AccessReviewScopeResponse']: """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. """ - return pulumi.get(self, "start_date") + return pulumi.get(self, "scope") @property @pulumi.getter diff --git a/sdk/python/pulumi_azure_native/authorization/v20211201preview/_inputs.py b/sdk/python/pulumi_azure_native/authorization/v20211201preview/_inputs.py index 0ca2c3162ff6..cb1d2939d8ca 100644 --- a/sdk/python/pulumi_azure_native/authorization/v20211201preview/_inputs.py +++ b/sdk/python/pulumi_azure_native/authorization/v20211201preview/_inputs.py @@ -13,6 +13,7 @@ __all__ = [ 'AccessReviewHistoryInstanceArgs', 'AccessReviewInstanceArgs', + 'AccessReviewRecurrenceRangeArgs', 'AccessReviewReviewerArgs', 'AccessReviewScopeArgs', ] @@ -193,6 +194,78 @@ def start_date_time(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "start_date_time", value) +@pulumi.input_type +class AccessReviewRecurrenceRangeArgs: + def __init__(__self__, *, + end_date: Optional[pulumi.Input[str]] = None, + number_of_occurrences: Optional[pulumi.Input[int]] = None, + start_date: Optional[pulumi.Input[str]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None): + """ + Recurrence Range of an Access Review Schedule Definition. + :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate + :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + """ + if end_date is not None: + pulumi.set(__self__, "end_date", end_date) + if number_of_occurrences is not None: + pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) + if start_date is not None: + pulumi.set(__self__, "start_date", start_date) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="endDate") + def end_date(self) -> Optional[pulumi.Input[str]]: + """ + The DateTime when the review is scheduled to end. Required if type is endDate + """ + return pulumi.get(self, "end_date") + + @end_date.setter + def end_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end_date", value) + + @property + @pulumi.getter(name="numberOfOccurrences") + def number_of_occurrences(self) -> Optional[pulumi.Input[int]]: + """ + The number of times to repeat the access review. Required and must be positive if type is numbered. + """ + return pulumi.get(self, "number_of_occurrences") + + @number_of_occurrences.setter + def number_of_occurrences(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "number_of_occurrences", value) + + @property + @pulumi.getter(name="startDate") + def start_date(self) -> Optional[pulumi.Input[str]]: + """ + The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + """ + return pulumi.get(self, "start_date") + + @start_date.setter + def start_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "start_date", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]: + """ + The recurrence range type. The possible values are: endDate, noEnd, numbered. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]): + pulumi.set(self, "type", value) + + @pulumi.input_type class AccessReviewReviewerArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/authorization/v20211201preview/access_review_history_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/v20211201preview/access_review_history_definition_by_id.py index 14135cc6f275..ccb7c0c72c6c 100644 --- a/sdk/python/pulumi_azure_native/authorization/v20211201preview/access_review_history_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/v20211201preview/access_review_history_definition_by_id.py @@ -19,45 +19,37 @@ class AccessReviewHistoryDefinitionByIdArgs: def __init__(__self__, *, decisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, history_definition_id: Optional[pulumi.Input[str]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewHistoryInstanceArgs']]]] = None, interval: Optional[pulumi.Input[int]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']] = None, scopes: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewScopeArgs']]]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None): + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None): """ The set of arguments for constructing a AccessReviewHistoryDefinitionById resource. :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]] decisions: Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request. :param pulumi.Input[str] display_name: The display name for the history definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] history_definition_id: The id of the access review history definition. :param pulumi.Input[Sequence[pulumi.Input['AccessReviewHistoryInstanceArgs']]] instances: Set of access review history instances for this history definition. :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input['AccessReviewRecurrenceRangeArgs'] range: Access Review History Definition recurrence settings. :param pulumi.Input[Sequence[pulumi.Input['AccessReviewScopeArgs']]] scopes: A collection of scopes used when selecting review history data - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ if decisions is not None: pulumi.set(__self__, "decisions", decisions) if display_name is not None: pulumi.set(__self__, "display_name", display_name) - if end_date is not None: - pulumi.set(__self__, "end_date", end_date) if history_definition_id is not None: pulumi.set(__self__, "history_definition_id", history_definition_id) if instances is not None: pulumi.set(__self__, "instances", instances) if interval is not None: pulumi.set(__self__, "interval", interval) - if number_of_occurrences is not None: - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) + if range is not None: + pulumi.set(__self__, "range", range) if scopes is not None: pulumi.set(__self__, "scopes", scopes) - if start_date is not None: - pulumi.set(__self__, "start_date", start_date) if type is not None: pulumi.set(__self__, "type", type) @@ -85,18 +77,6 @@ def display_name(self) -> Optional[pulumi.Input[str]]: def display_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "display_name", value) - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @end_date.setter - def end_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "end_date", value) - @property @pulumi.getter(name="historyDefinitionId") def history_definition_id(self) -> Optional[pulumi.Input[str]]: @@ -134,16 +114,16 @@ def interval(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "interval", value) @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[pulumi.Input[int]]: + @pulumi.getter + def range(self) -> Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]: """ - The number of times to repeat the access review. Required and must be positive if type is numbered. + Access Review History Definition recurrence settings. """ - return pulumi.get(self, "number_of_occurrences") + return pulumi.get(self, "range") - @number_of_occurrences.setter - def number_of_occurrences(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "number_of_occurrences", value) + @range.setter + def range(self, value: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]): + pulumi.set(self, "range", value) @property @pulumi.getter @@ -157,28 +137,16 @@ def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewSco def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewScopeArgs']]]]): pulumi.set(self, "scopes", value) - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - - @start_date.setter - def start_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "start_date", value) - @property @pulumi.getter - def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]: + def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]: """ - The recurrence range type. The possible values are: endDate, noEnd, numbered. + The recurrence type : weekly, monthly, etc. """ return pulumi.get(self, "type") @type.setter - def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]): + def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]): pulumi.set(self, "type", value) @@ -189,14 +157,12 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, decisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, history_definition_id: Optional[pulumi.Input[str]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewHistoryInstanceArgs']]]]] = None, interval: Optional[pulumi.Input[int]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, scopes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewScopeArgs']]]]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): """ Access Review History Definition. @@ -205,14 +171,12 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]] decisions: Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request. :param pulumi.Input[str] display_name: The display name for the history definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] history_definition_id: The id of the access review history definition. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewHistoryInstanceArgs']]]] instances: Set of access review history instances for this history definition. :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']] range: Access Review History Definition recurrence settings. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewScopeArgs']]]] scopes: A collection of scopes used when selecting review history data - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ ... @overload @@ -240,14 +204,12 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, decisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, history_definition_id: Optional[pulumi.Input[str]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewHistoryInstanceArgs']]]]] = None, interval: Optional[pulumi.Input[int]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, scopes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewScopeArgs']]]]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -259,13 +221,11 @@ def _internal_init(__self__, __props__.__dict__["decisions"] = decisions __props__.__dict__["display_name"] = display_name - __props__.__dict__["end_date"] = end_date __props__.__dict__["history_definition_id"] = history_definition_id __props__.__dict__["instances"] = instances __props__.__dict__["interval"] = interval - __props__.__dict__["number_of_occurrences"] = number_of_occurrences + __props__.__dict__["range"] = range __props__.__dict__["scopes"] = scopes - __props__.__dict__["start_date"] = start_date __props__.__dict__["type"] = type __props__.__dict__["created_date_time"] = None __props__.__dict__["name"] = None @@ -303,18 +263,16 @@ def get(resource_name: str, __props__.__dict__["created_date_time"] = None __props__.__dict__["decisions"] = None __props__.__dict__["display_name"] = None - __props__.__dict__["end_date"] = None __props__.__dict__["instances"] = None __props__.__dict__["interval"] = None __props__.__dict__["name"] = None - __props__.__dict__["number_of_occurrences"] = None __props__.__dict__["principal_id"] = None __props__.__dict__["principal_name"] = None __props__.__dict__["principal_type"] = None + __props__.__dict__["range"] = None __props__.__dict__["review_history_period_end_date_time"] = None __props__.__dict__["review_history_period_start_date_time"] = None __props__.__dict__["scopes"] = None - __props__.__dict__["start_date"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None __props__.__dict__["user_principal_name"] = None @@ -344,14 +302,6 @@ def display_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> pulumi.Output[Optional[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - @property @pulumi.getter def instances(self) -> pulumi.Output[Optional[Sequence['outputs.AccessReviewHistoryInstanceResponse']]]: @@ -376,14 +326,6 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> pulumi.Output[Optional[int]]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> pulumi.Output[str]: @@ -408,6 +350,14 @@ def principal_type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> pulumi.Output[Optional['outputs.AccessReviewRecurrenceRangeResponse']]: + """ + Access Review History Definition recurrence settings. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="reviewHistoryPeriodEndDateTime") def review_history_period_end_date_time(self) -> pulumi.Output[str]: @@ -432,14 +382,6 @@ def scopes(self) -> pulumi.Output[Optional[Sequence['outputs.AccessReviewScopeRe """ return pulumi.get(self, "scopes") - @property - @pulumi.getter(name="startDate") - def start_date(self) -> pulumi.Output[Optional[str]]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - @property @pulumi.getter def status(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure_native/authorization/v20211201preview/access_review_schedule_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/v20211201preview/access_review_schedule_definition_by_id.py index fa5ce5c0a72b..b9d89516ab57 100644 --- a/sdk/python/pulumi_azure_native/authorization/v20211201preview/access_review_schedule_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/v20211201preview/access_review_schedule_definition_by_id.py @@ -24,7 +24,6 @@ def __init__(__self__, *, description_for_admins: Optional[pulumi.Input[str]] = None, description_for_reviewers: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, exclude_resource_id: Optional[pulumi.Input[str]] = None, exclude_role_definition_id: Optional[pulumi.Input[str]] = None, expand_nested_memberships: Optional[pulumi.Input[bool]] = None, @@ -36,14 +35,13 @@ def __init__(__self__, *, interval: Optional[pulumi.Input[int]] = None, justification_required_on_approval: Optional[pulumi.Input[bool]] = None, mail_notifications_enabled: Optional[pulumi.Input[bool]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']] = None, recommendation_look_back_duration: Optional[pulumi.Input[str]] = None, recommendations_enabled: Optional[pulumi.Input[bool]] = None, reminder_notifications_enabled: Optional[pulumi.Input[bool]] = None, reviewers: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewReviewerArgs']]]] = None, schedule_definition_id: Optional[pulumi.Input[str]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None): + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None): """ The set of arguments for constructing a AccessReviewScheduleDefinitionById resource. :param pulumi.Input[bool] auto_apply_decisions_enabled: Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. @@ -53,7 +51,6 @@ def __init__(__self__, *, :param pulumi.Input[str] description_for_admins: The description provided by the access review creator and visible to admins. :param pulumi.Input[str] description_for_reviewers: The description provided by the access review creator to be shown to reviewers. :param pulumi.Input[str] display_name: The display name for the schedule definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] exclude_resource_id: This is used to indicate the resource id(s) to exclude :param pulumi.Input[str] exclude_role_definition_id: This is used to indicate the role definition id(s) to exclude :param pulumi.Input[bool] expand_nested_memberships: Flag to indicate whether to expand nested memberships or not. @@ -65,14 +62,13 @@ def __init__(__self__, *, :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. :param pulumi.Input[bool] justification_required_on_approval: Flag to indicate whether the reviewer is required to pass justification when recording a decision. :param pulumi.Input[bool] mail_notifications_enabled: Flag to indicate whether sending mails to reviewers and the review creator is enabled. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input['AccessReviewRecurrenceRangeArgs'] range: Access Review schedule definition recurrence range. :param pulumi.Input[str] recommendation_look_back_duration: Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) :param pulumi.Input[bool] recommendations_enabled: Flag to indicate whether showing recommendations to reviewers is enabled. :param pulumi.Input[bool] reminder_notifications_enabled: Flag to indicate whether sending reminder emails to reviewers are enabled. :param pulumi.Input[Sequence[pulumi.Input['AccessReviewReviewerArgs']]] reviewers: This is the collection of reviewers. :param pulumi.Input[str] schedule_definition_id: The id of the access review schedule definition. - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ if auto_apply_decisions_enabled is not None: pulumi.set(__self__, "auto_apply_decisions_enabled", auto_apply_decisions_enabled) @@ -88,8 +84,6 @@ def __init__(__self__, *, pulumi.set(__self__, "description_for_reviewers", description_for_reviewers) if display_name is not None: pulumi.set(__self__, "display_name", display_name) - if end_date is not None: - pulumi.set(__self__, "end_date", end_date) if exclude_resource_id is not None: pulumi.set(__self__, "exclude_resource_id", exclude_resource_id) if exclude_role_definition_id is not None: @@ -112,8 +106,8 @@ def __init__(__self__, *, pulumi.set(__self__, "justification_required_on_approval", justification_required_on_approval) if mail_notifications_enabled is not None: pulumi.set(__self__, "mail_notifications_enabled", mail_notifications_enabled) - if number_of_occurrences is not None: - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) + if range is not None: + pulumi.set(__self__, "range", range) if recommendation_look_back_duration is not None: pulumi.set(__self__, "recommendation_look_back_duration", recommendation_look_back_duration) if recommendations_enabled is not None: @@ -124,8 +118,6 @@ def __init__(__self__, *, pulumi.set(__self__, "reviewers", reviewers) if schedule_definition_id is not None: pulumi.set(__self__, "schedule_definition_id", schedule_definition_id) - if start_date is not None: - pulumi.set(__self__, "start_date", start_date) if type is not None: pulumi.set(__self__, "type", type) @@ -213,18 +205,6 @@ def display_name(self) -> Optional[pulumi.Input[str]]: def display_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "display_name", value) - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @end_date.setter - def end_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "end_date", value) - @property @pulumi.getter(name="excludeResourceId") def exclude_resource_id(self) -> Optional[pulumi.Input[str]]: @@ -358,16 +338,16 @@ def mail_notifications_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "mail_notifications_enabled", value) @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[pulumi.Input[int]]: + @pulumi.getter + def range(self) -> Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]: """ - The number of times to repeat the access review. Required and must be positive if type is numbered. + Access Review schedule definition recurrence range. """ - return pulumi.get(self, "number_of_occurrences") + return pulumi.get(self, "range") - @number_of_occurrences.setter - def number_of_occurrences(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "number_of_occurrences", value) + @range.setter + def range(self, value: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]): + pulumi.set(self, "range", value) @property @pulumi.getter(name="recommendationLookBackDuration") @@ -429,28 +409,16 @@ def schedule_definition_id(self) -> Optional[pulumi.Input[str]]: def schedule_definition_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "schedule_definition_id", value) - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - - @start_date.setter - def start_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "start_date", value) - @property @pulumi.getter - def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]: + def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]: """ - The recurrence range type. The possible values are: endDate, noEnd, numbered. + The recurrence type : weekly, monthly, etc. """ return pulumi.get(self, "type") @type.setter - def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]): + def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]): pulumi.set(self, "type", value) @@ -466,7 +434,6 @@ def __init__(__self__, description_for_admins: Optional[pulumi.Input[str]] = None, description_for_reviewers: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, exclude_resource_id: Optional[pulumi.Input[str]] = None, exclude_role_definition_id: Optional[pulumi.Input[str]] = None, expand_nested_memberships: Optional[pulumi.Input[bool]] = None, @@ -478,14 +445,13 @@ def __init__(__self__, interval: Optional[pulumi.Input[int]] = None, justification_required_on_approval: Optional[pulumi.Input[bool]] = None, mail_notifications_enabled: Optional[pulumi.Input[bool]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, recommendation_look_back_duration: Optional[pulumi.Input[str]] = None, recommendations_enabled: Optional[pulumi.Input[bool]] = None, reminder_notifications_enabled: Optional[pulumi.Input[bool]] = None, reviewers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewReviewerArgs']]]]] = None, schedule_definition_id: Optional[pulumi.Input[str]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): """ Access Review Schedule Definition. @@ -499,7 +465,6 @@ def __init__(__self__, :param pulumi.Input[str] description_for_admins: The description provided by the access review creator and visible to admins. :param pulumi.Input[str] description_for_reviewers: The description provided by the access review creator to be shown to reviewers. :param pulumi.Input[str] display_name: The display name for the schedule definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] exclude_resource_id: This is used to indicate the resource id(s) to exclude :param pulumi.Input[str] exclude_role_definition_id: This is used to indicate the role definition id(s) to exclude :param pulumi.Input[bool] expand_nested_memberships: Flag to indicate whether to expand nested memberships or not. @@ -511,14 +476,13 @@ def __init__(__self__, :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. :param pulumi.Input[bool] justification_required_on_approval: Flag to indicate whether the reviewer is required to pass justification when recording a decision. :param pulumi.Input[bool] mail_notifications_enabled: Flag to indicate whether sending mails to reviewers and the review creator is enabled. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']] range: Access Review schedule definition recurrence range. :param pulumi.Input[str] recommendation_look_back_duration: Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) :param pulumi.Input[bool] recommendations_enabled: Flag to indicate whether showing recommendations to reviewers is enabled. :param pulumi.Input[bool] reminder_notifications_enabled: Flag to indicate whether sending reminder emails to reviewers are enabled. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewReviewerArgs']]]] reviewers: This is the collection of reviewers. :param pulumi.Input[str] schedule_definition_id: The id of the access review schedule definition. - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ ... @overload @@ -551,7 +515,6 @@ def _internal_init(__self__, description_for_admins: Optional[pulumi.Input[str]] = None, description_for_reviewers: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, exclude_resource_id: Optional[pulumi.Input[str]] = None, exclude_role_definition_id: Optional[pulumi.Input[str]] = None, expand_nested_memberships: Optional[pulumi.Input[bool]] = None, @@ -563,14 +526,13 @@ def _internal_init(__self__, interval: Optional[pulumi.Input[int]] = None, justification_required_on_approval: Optional[pulumi.Input[bool]] = None, mail_notifications_enabled: Optional[pulumi.Input[bool]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, recommendation_look_back_duration: Optional[pulumi.Input[str]] = None, recommendations_enabled: Optional[pulumi.Input[bool]] = None, reminder_notifications_enabled: Optional[pulumi.Input[bool]] = None, reviewers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewReviewerArgs']]]]] = None, schedule_definition_id: Optional[pulumi.Input[str]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -587,7 +549,6 @@ def _internal_init(__self__, __props__.__dict__["description_for_admins"] = description_for_admins __props__.__dict__["description_for_reviewers"] = description_for_reviewers __props__.__dict__["display_name"] = display_name - __props__.__dict__["end_date"] = end_date __props__.__dict__["exclude_resource_id"] = exclude_resource_id __props__.__dict__["exclude_role_definition_id"] = exclude_role_definition_id __props__.__dict__["expand_nested_memberships"] = expand_nested_memberships @@ -599,22 +560,19 @@ def _internal_init(__self__, __props__.__dict__["interval"] = interval __props__.__dict__["justification_required_on_approval"] = justification_required_on_approval __props__.__dict__["mail_notifications_enabled"] = mail_notifications_enabled - __props__.__dict__["number_of_occurrences"] = number_of_occurrences + __props__.__dict__["range"] = range __props__.__dict__["recommendation_look_back_duration"] = recommendation_look_back_duration __props__.__dict__["recommendations_enabled"] = recommendations_enabled __props__.__dict__["reminder_notifications_enabled"] = reminder_notifications_enabled __props__.__dict__["reviewers"] = reviewers __props__.__dict__["schedule_definition_id"] = schedule_definition_id - __props__.__dict__["start_date"] = start_date __props__.__dict__["type"] = type - __props__.__dict__["assignment_state"] = None __props__.__dict__["name"] = None __props__.__dict__["principal_id"] = None __props__.__dict__["principal_name"] = None __props__.__dict__["principal_type"] = None - __props__.__dict__["resource_id"] = None __props__.__dict__["reviewers_type"] = None - __props__.__dict__["role_definition_id"] = None + __props__.__dict__["scope"] = None __props__.__dict__["status"] = None __props__.__dict__["user_principal_name"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:authorization:AccessReviewScheduleDefinitionById"), pulumi.Alias(type_="azure-native:authorization/v20180501preview:AccessReviewScheduleDefinitionById"), pulumi.Alias(type_="azure-native:authorization/v20210301preview:AccessReviewScheduleDefinitionById"), pulumi.Alias(type_="azure-native:authorization/v20210701preview:AccessReviewScheduleDefinitionById"), pulumi.Alias(type_="azure-native:authorization/v20211116preview:AccessReviewScheduleDefinitionById")]) @@ -641,7 +599,6 @@ def get(resource_name: str, __props__ = AccessReviewScheduleDefinitionByIdArgs.__new__(AccessReviewScheduleDefinitionByIdArgs) - __props__.__dict__["assignment_state"] = None __props__.__dict__["auto_apply_decisions_enabled"] = None __props__.__dict__["backup_reviewers"] = None __props__.__dict__["default_decision"] = None @@ -649,44 +606,27 @@ def get(resource_name: str, __props__.__dict__["description_for_admins"] = None __props__.__dict__["description_for_reviewers"] = None __props__.__dict__["display_name"] = None - __props__.__dict__["end_date"] = None - __props__.__dict__["exclude_resource_id"] = None - __props__.__dict__["exclude_role_definition_id"] = None - __props__.__dict__["expand_nested_memberships"] = None - __props__.__dict__["inactive_duration"] = None - __props__.__dict__["include_access_below_resource"] = None - __props__.__dict__["include_inherited_access"] = None __props__.__dict__["instance_duration_in_days"] = None __props__.__dict__["instances"] = None __props__.__dict__["interval"] = None __props__.__dict__["justification_required_on_approval"] = None __props__.__dict__["mail_notifications_enabled"] = None __props__.__dict__["name"] = None - __props__.__dict__["number_of_occurrences"] = None __props__.__dict__["principal_id"] = None __props__.__dict__["principal_name"] = None __props__.__dict__["principal_type"] = None + __props__.__dict__["range"] = None __props__.__dict__["recommendation_look_back_duration"] = None __props__.__dict__["recommendations_enabled"] = None __props__.__dict__["reminder_notifications_enabled"] = None - __props__.__dict__["resource_id"] = None __props__.__dict__["reviewers"] = None __props__.__dict__["reviewers_type"] = None - __props__.__dict__["role_definition_id"] = None - __props__.__dict__["start_date"] = None + __props__.__dict__["scope"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None __props__.__dict__["user_principal_name"] = None return AccessReviewScheduleDefinitionById(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="assignmentState") - def assignment_state(self) -> pulumi.Output[str]: - """ - The role assignment state eligible/active to review - """ - return pulumi.get(self, "assignment_state") - @property @pulumi.getter(name="autoApplyDecisionsEnabled") def auto_apply_decisions_enabled(self) -> pulumi.Output[Optional[bool]]: @@ -743,62 +683,6 @@ def display_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> pulumi.Output[Optional[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @property - @pulumi.getter(name="excludeResourceId") - def exclude_resource_id(self) -> pulumi.Output[Optional[str]]: - """ - This is used to indicate the resource id(s) to exclude - """ - return pulumi.get(self, "exclude_resource_id") - - @property - @pulumi.getter(name="excludeRoleDefinitionId") - def exclude_role_definition_id(self) -> pulumi.Output[Optional[str]]: - """ - This is used to indicate the role definition id(s) to exclude - """ - return pulumi.get(self, "exclude_role_definition_id") - - @property - @pulumi.getter(name="expandNestedMemberships") - def expand_nested_memberships(self) -> pulumi.Output[Optional[bool]]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "expand_nested_memberships") - - @property - @pulumi.getter(name="inactiveDuration") - def inactive_duration(self) -> pulumi.Output[Optional[str]]: - """ - Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - """ - return pulumi.get(self, "inactive_duration") - - @property - @pulumi.getter(name="includeAccessBelowResource") - def include_access_below_resource(self) -> pulumi.Output[Optional[bool]]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_access_below_resource") - - @property - @pulumi.getter(name="includeInheritedAccess") - def include_inherited_access(self) -> pulumi.Output[Optional[bool]]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_inherited_access") - @property @pulumi.getter(name="instanceDurationInDays") def instance_duration_in_days(self) -> pulumi.Output[Optional[int]]: @@ -847,14 +731,6 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> pulumi.Output[Optional[int]]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> pulumi.Output[str]: @@ -875,10 +751,18 @@ def principal_name(self) -> pulumi.Output[str]: @pulumi.getter(name="principalType") def principal_type(self) -> pulumi.Output[str]: """ - The identity type user/servicePrincipal to review + The identity type : user/servicePrincipal """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> pulumi.Output[Optional['outputs.AccessReviewRecurrenceRangeResponse']]: + """ + Access Review schedule definition recurrence range. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="recommendationLookBackDuration") def recommendation_look_back_duration(self) -> pulumi.Output[Optional[str]]: @@ -903,14 +787,6 @@ def reminder_notifications_enabled(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "reminder_notifications_enabled") - @property - @pulumi.getter(name="resourceId") - def resource_id(self) -> pulumi.Output[str]: - """ - ResourceId in which this review is getting created - """ - return pulumi.get(self, "resource_id") - @property @pulumi.getter def reviewers(self) -> pulumi.Output[Optional[Sequence['outputs.AccessReviewReviewerResponse']]]: @@ -928,20 +804,12 @@ def reviewers_type(self) -> pulumi.Output[str]: return pulumi.get(self, "reviewers_type") @property - @pulumi.getter(name="roleDefinitionId") - def role_definition_id(self) -> pulumi.Output[str]: - """ - This is used to indicate the role being reviewed - """ - return pulumi.get(self, "role_definition_id") - - @property - @pulumi.getter(name="startDate") - def start_date(self) -> pulumi.Output[Optional[str]]: + @pulumi.getter + def scope(self) -> pulumi.Output['outputs.AccessReviewScopeResponse']: """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. """ - return pulumi.get(self, "start_date") + return pulumi.get(self, "scope") @property @pulumi.getter diff --git a/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_access_review_history_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_access_review_history_definition_by_id.py index 791c3bb9a4ae..8710dcbe1375 100644 --- a/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_access_review_history_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_access_review_history_definition_by_id.py @@ -22,7 +22,7 @@ class GetAccessReviewHistoryDefinitionByIdResult: """ Access Review History Definition. """ - def __init__(__self__, created_date_time=None, decisions=None, display_name=None, end_date=None, id=None, instances=None, interval=None, name=None, number_of_occurrences=None, principal_id=None, principal_name=None, principal_type=None, review_history_period_end_date_time=None, review_history_period_start_date_time=None, scopes=None, start_date=None, status=None, type=None, user_principal_name=None): + def __init__(__self__, created_date_time=None, decisions=None, display_name=None, id=None, instances=None, interval=None, name=None, principal_id=None, principal_name=None, principal_type=None, range=None, review_history_period_end_date_time=None, review_history_period_start_date_time=None, scopes=None, status=None, type=None, user_principal_name=None): if created_date_time and not isinstance(created_date_time, str): raise TypeError("Expected argument 'created_date_time' to be a str") pulumi.set(__self__, "created_date_time", created_date_time) @@ -32,9 +32,6 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if display_name and not isinstance(display_name, str): raise TypeError("Expected argument 'display_name' to be a str") pulumi.set(__self__, "display_name", display_name) - if end_date and not isinstance(end_date, str): - raise TypeError("Expected argument 'end_date' to be a str") - pulumi.set(__self__, "end_date", end_date) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -47,9 +44,6 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if number_of_occurrences and not isinstance(number_of_occurrences, int): - raise TypeError("Expected argument 'number_of_occurrences' to be a int") - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) if principal_id and not isinstance(principal_id, str): raise TypeError("Expected argument 'principal_id' to be a str") pulumi.set(__self__, "principal_id", principal_id) @@ -59,6 +53,9 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if principal_type and not isinstance(principal_type, str): raise TypeError("Expected argument 'principal_type' to be a str") pulumi.set(__self__, "principal_type", principal_type) + if range and not isinstance(range, dict): + raise TypeError("Expected argument 'range' to be a dict") + pulumi.set(__self__, "range", range) if review_history_period_end_date_time and not isinstance(review_history_period_end_date_time, str): raise TypeError("Expected argument 'review_history_period_end_date_time' to be a str") pulumi.set(__self__, "review_history_period_end_date_time", review_history_period_end_date_time) @@ -68,9 +65,6 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if scopes and not isinstance(scopes, list): raise TypeError("Expected argument 'scopes' to be a list") pulumi.set(__self__, "scopes", scopes) - if start_date and not isinstance(start_date, str): - raise TypeError("Expected argument 'start_date' to be a str") - pulumi.set(__self__, "start_date", start_date) if status and not isinstance(status, str): raise TypeError("Expected argument 'status' to be a str") pulumi.set(__self__, "status", status) @@ -105,14 +99,6 @@ def display_name(self) -> Optional[str]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[str]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - @property @pulumi.getter def id(self) -> str: @@ -145,14 +131,6 @@ def name(self) -> str: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[int]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> str: @@ -177,6 +155,14 @@ def principal_type(self) -> str: """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> Optional['outputs.AccessReviewRecurrenceRangeResponse']: + """ + Access Review History Definition recurrence settings. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="reviewHistoryPeriodEndDateTime") def review_history_period_end_date_time(self) -> str: @@ -201,14 +187,6 @@ def scopes(self) -> Optional[Sequence['outputs.AccessReviewScopeResponse']]: """ return pulumi.get(self, "scopes") - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[str]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - @property @pulumi.getter def status(self) -> str: @@ -243,19 +221,17 @@ def __await__(self): created_date_time=self.created_date_time, decisions=self.decisions, display_name=self.display_name, - end_date=self.end_date, id=self.id, instances=self.instances, interval=self.interval, name=self.name, - number_of_occurrences=self.number_of_occurrences, principal_id=self.principal_id, principal_name=self.principal_name, principal_type=self.principal_type, + range=self.range, review_history_period_end_date_time=self.review_history_period_end_date_time, review_history_period_start_date_time=self.review_history_period_start_date_time, scopes=self.scopes, - start_date=self.start_date, status=self.status, type=self.type, user_principal_name=self.user_principal_name) @@ -278,19 +254,17 @@ def get_access_review_history_definition_by_id(history_definition_id: Optional[s created_date_time=pulumi.get(__ret__, 'created_date_time'), decisions=pulumi.get(__ret__, 'decisions'), display_name=pulumi.get(__ret__, 'display_name'), - end_date=pulumi.get(__ret__, 'end_date'), id=pulumi.get(__ret__, 'id'), instances=pulumi.get(__ret__, 'instances'), interval=pulumi.get(__ret__, 'interval'), name=pulumi.get(__ret__, 'name'), - number_of_occurrences=pulumi.get(__ret__, 'number_of_occurrences'), principal_id=pulumi.get(__ret__, 'principal_id'), principal_name=pulumi.get(__ret__, 'principal_name'), principal_type=pulumi.get(__ret__, 'principal_type'), + range=pulumi.get(__ret__, 'range'), review_history_period_end_date_time=pulumi.get(__ret__, 'review_history_period_end_date_time'), review_history_period_start_date_time=pulumi.get(__ret__, 'review_history_period_start_date_time'), scopes=pulumi.get(__ret__, 'scopes'), - start_date=pulumi.get(__ret__, 'start_date'), status=pulumi.get(__ret__, 'status'), type=pulumi.get(__ret__, 'type'), user_principal_name=pulumi.get(__ret__, 'user_principal_name')) diff --git a/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_access_review_schedule_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_access_review_schedule_definition_by_id.py index 60bf7697e3d9..4a9445a9ad82 100644 --- a/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_access_review_schedule_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_access_review_schedule_definition_by_id.py @@ -22,10 +22,7 @@ class GetAccessReviewScheduleDefinitionByIdResult: """ Access Review Schedule Definition. """ - def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, backup_reviewers=None, default_decision=None, default_decision_enabled=None, description_for_admins=None, description_for_reviewers=None, display_name=None, end_date=None, exclude_resource_id=None, exclude_role_definition_id=None, expand_nested_memberships=None, id=None, inactive_duration=None, include_access_below_resource=None, include_inherited_access=None, instance_duration_in_days=None, instances=None, interval=None, justification_required_on_approval=None, mail_notifications_enabled=None, name=None, number_of_occurrences=None, principal_id=None, principal_name=None, principal_type=None, recommendation_look_back_duration=None, recommendations_enabled=None, reminder_notifications_enabled=None, resource_id=None, reviewers=None, reviewers_type=None, role_definition_id=None, start_date=None, status=None, type=None, user_principal_name=None): - if assignment_state and not isinstance(assignment_state, str): - raise TypeError("Expected argument 'assignment_state' to be a str") - pulumi.set(__self__, "assignment_state", assignment_state) + def __init__(__self__, auto_apply_decisions_enabled=None, backup_reviewers=None, default_decision=None, default_decision_enabled=None, description_for_admins=None, description_for_reviewers=None, display_name=None, id=None, instance_duration_in_days=None, instances=None, interval=None, justification_required_on_approval=None, mail_notifications_enabled=None, name=None, principal_id=None, principal_name=None, principal_type=None, range=None, recommendation_look_back_duration=None, recommendations_enabled=None, reminder_notifications_enabled=None, reviewers=None, reviewers_type=None, scope=None, status=None, type=None, user_principal_name=None): if auto_apply_decisions_enabled and not isinstance(auto_apply_decisions_enabled, bool): raise TypeError("Expected argument 'auto_apply_decisions_enabled' to be a bool") pulumi.set(__self__, "auto_apply_decisions_enabled", auto_apply_decisions_enabled) @@ -47,30 +44,9 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if display_name and not isinstance(display_name, str): raise TypeError("Expected argument 'display_name' to be a str") pulumi.set(__self__, "display_name", display_name) - if end_date and not isinstance(end_date, str): - raise TypeError("Expected argument 'end_date' to be a str") - pulumi.set(__self__, "end_date", end_date) - if exclude_resource_id and not isinstance(exclude_resource_id, str): - raise TypeError("Expected argument 'exclude_resource_id' to be a str") - pulumi.set(__self__, "exclude_resource_id", exclude_resource_id) - if exclude_role_definition_id and not isinstance(exclude_role_definition_id, str): - raise TypeError("Expected argument 'exclude_role_definition_id' to be a str") - pulumi.set(__self__, "exclude_role_definition_id", exclude_role_definition_id) - if expand_nested_memberships and not isinstance(expand_nested_memberships, bool): - raise TypeError("Expected argument 'expand_nested_memberships' to be a bool") - pulumi.set(__self__, "expand_nested_memberships", expand_nested_memberships) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) - if inactive_duration and not isinstance(inactive_duration, str): - raise TypeError("Expected argument 'inactive_duration' to be a str") - pulumi.set(__self__, "inactive_duration", inactive_duration) - if include_access_below_resource and not isinstance(include_access_below_resource, bool): - raise TypeError("Expected argument 'include_access_below_resource' to be a bool") - pulumi.set(__self__, "include_access_below_resource", include_access_below_resource) - if include_inherited_access and not isinstance(include_inherited_access, bool): - raise TypeError("Expected argument 'include_inherited_access' to be a bool") - pulumi.set(__self__, "include_inherited_access", include_inherited_access) if instance_duration_in_days and not isinstance(instance_duration_in_days, int): raise TypeError("Expected argument 'instance_duration_in_days' to be a int") pulumi.set(__self__, "instance_duration_in_days", instance_duration_in_days) @@ -89,9 +65,6 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if number_of_occurrences and not isinstance(number_of_occurrences, int): - raise TypeError("Expected argument 'number_of_occurrences' to be a int") - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) if principal_id and not isinstance(principal_id, str): raise TypeError("Expected argument 'principal_id' to be a str") pulumi.set(__self__, "principal_id", principal_id) @@ -101,6 +74,9 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if principal_type and not isinstance(principal_type, str): raise TypeError("Expected argument 'principal_type' to be a str") pulumi.set(__self__, "principal_type", principal_type) + if range and not isinstance(range, dict): + raise TypeError("Expected argument 'range' to be a dict") + pulumi.set(__self__, "range", range) if recommendation_look_back_duration and not isinstance(recommendation_look_back_duration, str): raise TypeError("Expected argument 'recommendation_look_back_duration' to be a str") pulumi.set(__self__, "recommendation_look_back_duration", recommendation_look_back_duration) @@ -110,21 +86,15 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if reminder_notifications_enabled and not isinstance(reminder_notifications_enabled, bool): raise TypeError("Expected argument 'reminder_notifications_enabled' to be a bool") pulumi.set(__self__, "reminder_notifications_enabled", reminder_notifications_enabled) - if resource_id and not isinstance(resource_id, str): - raise TypeError("Expected argument 'resource_id' to be a str") - pulumi.set(__self__, "resource_id", resource_id) if reviewers and not isinstance(reviewers, list): raise TypeError("Expected argument 'reviewers' to be a list") pulumi.set(__self__, "reviewers", reviewers) if reviewers_type and not isinstance(reviewers_type, str): raise TypeError("Expected argument 'reviewers_type' to be a str") pulumi.set(__self__, "reviewers_type", reviewers_type) - if role_definition_id and not isinstance(role_definition_id, str): - raise TypeError("Expected argument 'role_definition_id' to be a str") - pulumi.set(__self__, "role_definition_id", role_definition_id) - if start_date and not isinstance(start_date, str): - raise TypeError("Expected argument 'start_date' to be a str") - pulumi.set(__self__, "start_date", start_date) + if scope and not isinstance(scope, dict): + raise TypeError("Expected argument 'scope' to be a dict") + pulumi.set(__self__, "scope", scope) if status and not isinstance(status, str): raise TypeError("Expected argument 'status' to be a str") pulumi.set(__self__, "status", status) @@ -135,14 +105,6 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, raise TypeError("Expected argument 'user_principal_name' to be a str") pulumi.set(__self__, "user_principal_name", user_principal_name) - @property - @pulumi.getter(name="assignmentState") - def assignment_state(self) -> str: - """ - The role assignment state eligible/active to review - """ - return pulumi.get(self, "assignment_state") - @property @pulumi.getter(name="autoApplyDecisionsEnabled") def auto_apply_decisions_enabled(self) -> Optional[bool]: @@ -199,38 +161,6 @@ def display_name(self) -> Optional[str]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[str]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @property - @pulumi.getter(name="excludeResourceId") - def exclude_resource_id(self) -> Optional[str]: - """ - This is used to indicate the resource id(s) to exclude - """ - return pulumi.get(self, "exclude_resource_id") - - @property - @pulumi.getter(name="excludeRoleDefinitionId") - def exclude_role_definition_id(self) -> Optional[str]: - """ - This is used to indicate the role definition id(s) to exclude - """ - return pulumi.get(self, "exclude_role_definition_id") - - @property - @pulumi.getter(name="expandNestedMemberships") - def expand_nested_memberships(self) -> Optional[bool]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "expand_nested_memberships") - @property @pulumi.getter def id(self) -> str: @@ -239,30 +169,6 @@ def id(self) -> str: """ return pulumi.get(self, "id") - @property - @pulumi.getter(name="inactiveDuration") - def inactive_duration(self) -> Optional[str]: - """ - Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - """ - return pulumi.get(self, "inactive_duration") - - @property - @pulumi.getter(name="includeAccessBelowResource") - def include_access_below_resource(self) -> Optional[bool]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_access_below_resource") - - @property - @pulumi.getter(name="includeInheritedAccess") - def include_inherited_access(self) -> Optional[bool]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_inherited_access") - @property @pulumi.getter(name="instanceDurationInDays") def instance_duration_in_days(self) -> Optional[int]: @@ -311,14 +217,6 @@ def name(self) -> str: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[int]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> str: @@ -339,10 +237,18 @@ def principal_name(self) -> str: @pulumi.getter(name="principalType") def principal_type(self) -> str: """ - The identity type user/servicePrincipal to review + The identity type : user/servicePrincipal """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> Optional['outputs.AccessReviewRecurrenceRangeResponse']: + """ + Access Review schedule definition recurrence range. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="recommendationLookBackDuration") def recommendation_look_back_duration(self) -> Optional[str]: @@ -367,14 +273,6 @@ def reminder_notifications_enabled(self) -> Optional[bool]: """ return pulumi.get(self, "reminder_notifications_enabled") - @property - @pulumi.getter(name="resourceId") - def resource_id(self) -> str: - """ - ResourceId in which this review is getting created - """ - return pulumi.get(self, "resource_id") - @property @pulumi.getter def reviewers(self) -> Optional[Sequence['outputs.AccessReviewReviewerResponse']]: @@ -392,20 +290,12 @@ def reviewers_type(self) -> str: return pulumi.get(self, "reviewers_type") @property - @pulumi.getter(name="roleDefinitionId") - def role_definition_id(self) -> str: - """ - This is used to indicate the role being reviewed - """ - return pulumi.get(self, "role_definition_id") - - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[str]: + @pulumi.getter + def scope(self) -> 'outputs.AccessReviewScopeResponse': """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. """ - return pulumi.get(self, "start_date") + return pulumi.get(self, "scope") @property @pulumi.getter @@ -438,7 +328,6 @@ def __await__(self): if False: yield self return GetAccessReviewScheduleDefinitionByIdResult( - assignment_state=self.assignment_state, auto_apply_decisions_enabled=self.auto_apply_decisions_enabled, backup_reviewers=self.backup_reviewers, default_decision=self.default_decision, @@ -446,32 +335,23 @@ def __await__(self): description_for_admins=self.description_for_admins, description_for_reviewers=self.description_for_reviewers, display_name=self.display_name, - end_date=self.end_date, - exclude_resource_id=self.exclude_resource_id, - exclude_role_definition_id=self.exclude_role_definition_id, - expand_nested_memberships=self.expand_nested_memberships, id=self.id, - inactive_duration=self.inactive_duration, - include_access_below_resource=self.include_access_below_resource, - include_inherited_access=self.include_inherited_access, instance_duration_in_days=self.instance_duration_in_days, instances=self.instances, interval=self.interval, justification_required_on_approval=self.justification_required_on_approval, mail_notifications_enabled=self.mail_notifications_enabled, name=self.name, - number_of_occurrences=self.number_of_occurrences, principal_id=self.principal_id, principal_name=self.principal_name, principal_type=self.principal_type, + range=self.range, recommendation_look_back_duration=self.recommendation_look_back_duration, recommendations_enabled=self.recommendations_enabled, reminder_notifications_enabled=self.reminder_notifications_enabled, - resource_id=self.resource_id, reviewers=self.reviewers, reviewers_type=self.reviewers_type, - role_definition_id=self.role_definition_id, - start_date=self.start_date, + scope=self.scope, status=self.status, type=self.type, user_principal_name=self.user_principal_name) @@ -491,7 +371,6 @@ def get_access_review_schedule_definition_by_id(schedule_definition_id: Optional __ret__ = pulumi.runtime.invoke('azure-native:authorization/v20211201preview:getAccessReviewScheduleDefinitionById', __args__, opts=opts, typ=GetAccessReviewScheduleDefinitionByIdResult).value return AwaitableGetAccessReviewScheduleDefinitionByIdResult( - assignment_state=pulumi.get(__ret__, 'assignment_state'), auto_apply_decisions_enabled=pulumi.get(__ret__, 'auto_apply_decisions_enabled'), backup_reviewers=pulumi.get(__ret__, 'backup_reviewers'), default_decision=pulumi.get(__ret__, 'default_decision'), @@ -499,32 +378,23 @@ def get_access_review_schedule_definition_by_id(schedule_definition_id: Optional description_for_admins=pulumi.get(__ret__, 'description_for_admins'), description_for_reviewers=pulumi.get(__ret__, 'description_for_reviewers'), display_name=pulumi.get(__ret__, 'display_name'), - end_date=pulumi.get(__ret__, 'end_date'), - exclude_resource_id=pulumi.get(__ret__, 'exclude_resource_id'), - exclude_role_definition_id=pulumi.get(__ret__, 'exclude_role_definition_id'), - expand_nested_memberships=pulumi.get(__ret__, 'expand_nested_memberships'), id=pulumi.get(__ret__, 'id'), - inactive_duration=pulumi.get(__ret__, 'inactive_duration'), - include_access_below_resource=pulumi.get(__ret__, 'include_access_below_resource'), - include_inherited_access=pulumi.get(__ret__, 'include_inherited_access'), instance_duration_in_days=pulumi.get(__ret__, 'instance_duration_in_days'), instances=pulumi.get(__ret__, 'instances'), interval=pulumi.get(__ret__, 'interval'), justification_required_on_approval=pulumi.get(__ret__, 'justification_required_on_approval'), mail_notifications_enabled=pulumi.get(__ret__, 'mail_notifications_enabled'), name=pulumi.get(__ret__, 'name'), - number_of_occurrences=pulumi.get(__ret__, 'number_of_occurrences'), principal_id=pulumi.get(__ret__, 'principal_id'), principal_name=pulumi.get(__ret__, 'principal_name'), principal_type=pulumi.get(__ret__, 'principal_type'), + range=pulumi.get(__ret__, 'range'), recommendation_look_back_duration=pulumi.get(__ret__, 'recommendation_look_back_duration'), recommendations_enabled=pulumi.get(__ret__, 'recommendations_enabled'), reminder_notifications_enabled=pulumi.get(__ret__, 'reminder_notifications_enabled'), - resource_id=pulumi.get(__ret__, 'resource_id'), reviewers=pulumi.get(__ret__, 'reviewers'), reviewers_type=pulumi.get(__ret__, 'reviewers_type'), - role_definition_id=pulumi.get(__ret__, 'role_definition_id'), - start_date=pulumi.get(__ret__, 'start_date'), + scope=pulumi.get(__ret__, 'scope'), status=pulumi.get(__ret__, 'status'), type=pulumi.get(__ret__, 'type'), user_principal_name=pulumi.get(__ret__, 'user_principal_name')) diff --git a/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_scope_access_review_history_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_scope_access_review_history_definition_by_id.py index 0d4f29119e7e..3d9beeebd074 100644 --- a/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_scope_access_review_history_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_scope_access_review_history_definition_by_id.py @@ -22,7 +22,7 @@ class GetScopeAccessReviewHistoryDefinitionByIdResult: """ Access Review History Definition. """ - def __init__(__self__, created_date_time=None, decisions=None, display_name=None, end_date=None, id=None, instances=None, interval=None, name=None, number_of_occurrences=None, principal_id=None, principal_name=None, principal_type=None, review_history_period_end_date_time=None, review_history_period_start_date_time=None, scopes=None, start_date=None, status=None, type=None, user_principal_name=None): + def __init__(__self__, created_date_time=None, decisions=None, display_name=None, id=None, instances=None, interval=None, name=None, principal_id=None, principal_name=None, principal_type=None, range=None, review_history_period_end_date_time=None, review_history_period_start_date_time=None, scopes=None, status=None, type=None, user_principal_name=None): if created_date_time and not isinstance(created_date_time, str): raise TypeError("Expected argument 'created_date_time' to be a str") pulumi.set(__self__, "created_date_time", created_date_time) @@ -32,9 +32,6 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if display_name and not isinstance(display_name, str): raise TypeError("Expected argument 'display_name' to be a str") pulumi.set(__self__, "display_name", display_name) - if end_date and not isinstance(end_date, str): - raise TypeError("Expected argument 'end_date' to be a str") - pulumi.set(__self__, "end_date", end_date) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -47,9 +44,6 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if number_of_occurrences and not isinstance(number_of_occurrences, int): - raise TypeError("Expected argument 'number_of_occurrences' to be a int") - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) if principal_id and not isinstance(principal_id, str): raise TypeError("Expected argument 'principal_id' to be a str") pulumi.set(__self__, "principal_id", principal_id) @@ -59,6 +53,9 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if principal_type and not isinstance(principal_type, str): raise TypeError("Expected argument 'principal_type' to be a str") pulumi.set(__self__, "principal_type", principal_type) + if range and not isinstance(range, dict): + raise TypeError("Expected argument 'range' to be a dict") + pulumi.set(__self__, "range", range) if review_history_period_end_date_time and not isinstance(review_history_period_end_date_time, str): raise TypeError("Expected argument 'review_history_period_end_date_time' to be a str") pulumi.set(__self__, "review_history_period_end_date_time", review_history_period_end_date_time) @@ -68,9 +65,6 @@ def __init__(__self__, created_date_time=None, decisions=None, display_name=None if scopes and not isinstance(scopes, list): raise TypeError("Expected argument 'scopes' to be a list") pulumi.set(__self__, "scopes", scopes) - if start_date and not isinstance(start_date, str): - raise TypeError("Expected argument 'start_date' to be a str") - pulumi.set(__self__, "start_date", start_date) if status and not isinstance(status, str): raise TypeError("Expected argument 'status' to be a str") pulumi.set(__self__, "status", status) @@ -105,14 +99,6 @@ def display_name(self) -> Optional[str]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[str]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - @property @pulumi.getter def id(self) -> str: @@ -145,14 +131,6 @@ def name(self) -> str: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[int]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> str: @@ -177,6 +155,14 @@ def principal_type(self) -> str: """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> Optional['outputs.AccessReviewRecurrenceRangeResponse']: + """ + Access Review History Definition recurrence settings. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="reviewHistoryPeriodEndDateTime") def review_history_period_end_date_time(self) -> str: @@ -201,14 +187,6 @@ def scopes(self) -> Optional[Sequence['outputs.AccessReviewScopeResponse']]: """ return pulumi.get(self, "scopes") - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[str]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - @property @pulumi.getter def status(self) -> str: @@ -243,19 +221,17 @@ def __await__(self): created_date_time=self.created_date_time, decisions=self.decisions, display_name=self.display_name, - end_date=self.end_date, id=self.id, instances=self.instances, interval=self.interval, name=self.name, - number_of_occurrences=self.number_of_occurrences, principal_id=self.principal_id, principal_name=self.principal_name, principal_type=self.principal_type, + range=self.range, review_history_period_end_date_time=self.review_history_period_end_date_time, review_history_period_start_date_time=self.review_history_period_start_date_time, scopes=self.scopes, - start_date=self.start_date, status=self.status, type=self.type, user_principal_name=self.user_principal_name) @@ -281,19 +257,17 @@ def get_scope_access_review_history_definition_by_id(history_definition_id: Opti created_date_time=pulumi.get(__ret__, 'created_date_time'), decisions=pulumi.get(__ret__, 'decisions'), display_name=pulumi.get(__ret__, 'display_name'), - end_date=pulumi.get(__ret__, 'end_date'), id=pulumi.get(__ret__, 'id'), instances=pulumi.get(__ret__, 'instances'), interval=pulumi.get(__ret__, 'interval'), name=pulumi.get(__ret__, 'name'), - number_of_occurrences=pulumi.get(__ret__, 'number_of_occurrences'), principal_id=pulumi.get(__ret__, 'principal_id'), principal_name=pulumi.get(__ret__, 'principal_name'), principal_type=pulumi.get(__ret__, 'principal_type'), + range=pulumi.get(__ret__, 'range'), review_history_period_end_date_time=pulumi.get(__ret__, 'review_history_period_end_date_time'), review_history_period_start_date_time=pulumi.get(__ret__, 'review_history_period_start_date_time'), scopes=pulumi.get(__ret__, 'scopes'), - start_date=pulumi.get(__ret__, 'start_date'), status=pulumi.get(__ret__, 'status'), type=pulumi.get(__ret__, 'type'), user_principal_name=pulumi.get(__ret__, 'user_principal_name')) diff --git a/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_scope_access_review_schedule_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_scope_access_review_schedule_definition_by_id.py index f34bb8793a68..864bd1024d73 100644 --- a/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_scope_access_review_schedule_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/v20211201preview/get_scope_access_review_schedule_definition_by_id.py @@ -22,10 +22,7 @@ class GetScopeAccessReviewScheduleDefinitionByIdResult: """ Access Review Schedule Definition. """ - def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, backup_reviewers=None, default_decision=None, default_decision_enabled=None, description_for_admins=None, description_for_reviewers=None, display_name=None, end_date=None, exclude_resource_id=None, exclude_role_definition_id=None, expand_nested_memberships=None, id=None, inactive_duration=None, include_access_below_resource=None, include_inherited_access=None, instance_duration_in_days=None, instances=None, interval=None, justification_required_on_approval=None, mail_notifications_enabled=None, name=None, number_of_occurrences=None, principal_id=None, principal_name=None, principal_type=None, recommendation_look_back_duration=None, recommendations_enabled=None, reminder_notifications_enabled=None, resource_id=None, reviewers=None, reviewers_type=None, role_definition_id=None, start_date=None, status=None, type=None, user_principal_name=None): - if assignment_state and not isinstance(assignment_state, str): - raise TypeError("Expected argument 'assignment_state' to be a str") - pulumi.set(__self__, "assignment_state", assignment_state) + def __init__(__self__, auto_apply_decisions_enabled=None, backup_reviewers=None, default_decision=None, default_decision_enabled=None, description_for_admins=None, description_for_reviewers=None, display_name=None, id=None, instance_duration_in_days=None, instances=None, interval=None, justification_required_on_approval=None, mail_notifications_enabled=None, name=None, principal_id=None, principal_name=None, principal_type=None, range=None, recommendation_look_back_duration=None, recommendations_enabled=None, reminder_notifications_enabled=None, reviewers=None, reviewers_type=None, scope=None, status=None, type=None, user_principal_name=None): if auto_apply_decisions_enabled and not isinstance(auto_apply_decisions_enabled, bool): raise TypeError("Expected argument 'auto_apply_decisions_enabled' to be a bool") pulumi.set(__self__, "auto_apply_decisions_enabled", auto_apply_decisions_enabled) @@ -47,30 +44,9 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if display_name and not isinstance(display_name, str): raise TypeError("Expected argument 'display_name' to be a str") pulumi.set(__self__, "display_name", display_name) - if end_date and not isinstance(end_date, str): - raise TypeError("Expected argument 'end_date' to be a str") - pulumi.set(__self__, "end_date", end_date) - if exclude_resource_id and not isinstance(exclude_resource_id, str): - raise TypeError("Expected argument 'exclude_resource_id' to be a str") - pulumi.set(__self__, "exclude_resource_id", exclude_resource_id) - if exclude_role_definition_id and not isinstance(exclude_role_definition_id, str): - raise TypeError("Expected argument 'exclude_role_definition_id' to be a str") - pulumi.set(__self__, "exclude_role_definition_id", exclude_role_definition_id) - if expand_nested_memberships and not isinstance(expand_nested_memberships, bool): - raise TypeError("Expected argument 'expand_nested_memberships' to be a bool") - pulumi.set(__self__, "expand_nested_memberships", expand_nested_memberships) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) - if inactive_duration and not isinstance(inactive_duration, str): - raise TypeError("Expected argument 'inactive_duration' to be a str") - pulumi.set(__self__, "inactive_duration", inactive_duration) - if include_access_below_resource and not isinstance(include_access_below_resource, bool): - raise TypeError("Expected argument 'include_access_below_resource' to be a bool") - pulumi.set(__self__, "include_access_below_resource", include_access_below_resource) - if include_inherited_access and not isinstance(include_inherited_access, bool): - raise TypeError("Expected argument 'include_inherited_access' to be a bool") - pulumi.set(__self__, "include_inherited_access", include_inherited_access) if instance_duration_in_days and not isinstance(instance_duration_in_days, int): raise TypeError("Expected argument 'instance_duration_in_days' to be a int") pulumi.set(__self__, "instance_duration_in_days", instance_duration_in_days) @@ -89,9 +65,6 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if number_of_occurrences and not isinstance(number_of_occurrences, int): - raise TypeError("Expected argument 'number_of_occurrences' to be a int") - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) if principal_id and not isinstance(principal_id, str): raise TypeError("Expected argument 'principal_id' to be a str") pulumi.set(__self__, "principal_id", principal_id) @@ -101,6 +74,9 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if principal_type and not isinstance(principal_type, str): raise TypeError("Expected argument 'principal_type' to be a str") pulumi.set(__self__, "principal_type", principal_type) + if range and not isinstance(range, dict): + raise TypeError("Expected argument 'range' to be a dict") + pulumi.set(__self__, "range", range) if recommendation_look_back_duration and not isinstance(recommendation_look_back_duration, str): raise TypeError("Expected argument 'recommendation_look_back_duration' to be a str") pulumi.set(__self__, "recommendation_look_back_duration", recommendation_look_back_duration) @@ -110,21 +86,15 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, if reminder_notifications_enabled and not isinstance(reminder_notifications_enabled, bool): raise TypeError("Expected argument 'reminder_notifications_enabled' to be a bool") pulumi.set(__self__, "reminder_notifications_enabled", reminder_notifications_enabled) - if resource_id and not isinstance(resource_id, str): - raise TypeError("Expected argument 'resource_id' to be a str") - pulumi.set(__self__, "resource_id", resource_id) if reviewers and not isinstance(reviewers, list): raise TypeError("Expected argument 'reviewers' to be a list") pulumi.set(__self__, "reviewers", reviewers) if reviewers_type and not isinstance(reviewers_type, str): raise TypeError("Expected argument 'reviewers_type' to be a str") pulumi.set(__self__, "reviewers_type", reviewers_type) - if role_definition_id and not isinstance(role_definition_id, str): - raise TypeError("Expected argument 'role_definition_id' to be a str") - pulumi.set(__self__, "role_definition_id", role_definition_id) - if start_date and not isinstance(start_date, str): - raise TypeError("Expected argument 'start_date' to be a str") - pulumi.set(__self__, "start_date", start_date) + if scope and not isinstance(scope, dict): + raise TypeError("Expected argument 'scope' to be a dict") + pulumi.set(__self__, "scope", scope) if status and not isinstance(status, str): raise TypeError("Expected argument 'status' to be a str") pulumi.set(__self__, "status", status) @@ -135,14 +105,6 @@ def __init__(__self__, assignment_state=None, auto_apply_decisions_enabled=None, raise TypeError("Expected argument 'user_principal_name' to be a str") pulumi.set(__self__, "user_principal_name", user_principal_name) - @property - @pulumi.getter(name="assignmentState") - def assignment_state(self) -> str: - """ - The role assignment state eligible/active to review - """ - return pulumi.get(self, "assignment_state") - @property @pulumi.getter(name="autoApplyDecisionsEnabled") def auto_apply_decisions_enabled(self) -> Optional[bool]: @@ -199,38 +161,6 @@ def display_name(self) -> Optional[str]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[str]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @property - @pulumi.getter(name="excludeResourceId") - def exclude_resource_id(self) -> Optional[str]: - """ - This is used to indicate the resource id(s) to exclude - """ - return pulumi.get(self, "exclude_resource_id") - - @property - @pulumi.getter(name="excludeRoleDefinitionId") - def exclude_role_definition_id(self) -> Optional[str]: - """ - This is used to indicate the role definition id(s) to exclude - """ - return pulumi.get(self, "exclude_role_definition_id") - - @property - @pulumi.getter(name="expandNestedMemberships") - def expand_nested_memberships(self) -> Optional[bool]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "expand_nested_memberships") - @property @pulumi.getter def id(self) -> str: @@ -239,30 +169,6 @@ def id(self) -> str: """ return pulumi.get(self, "id") - @property - @pulumi.getter(name="inactiveDuration") - def inactive_duration(self) -> Optional[str]: - """ - Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - """ - return pulumi.get(self, "inactive_duration") - - @property - @pulumi.getter(name="includeAccessBelowResource") - def include_access_below_resource(self) -> Optional[bool]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_access_below_resource") - - @property - @pulumi.getter(name="includeInheritedAccess") - def include_inherited_access(self) -> Optional[bool]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_inherited_access") - @property @pulumi.getter(name="instanceDurationInDays") def instance_duration_in_days(self) -> Optional[int]: @@ -311,14 +217,6 @@ def name(self) -> str: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[int]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> str: @@ -339,10 +237,18 @@ def principal_name(self) -> str: @pulumi.getter(name="principalType") def principal_type(self) -> str: """ - The identity type user/servicePrincipal to review + The identity type : user/servicePrincipal """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> Optional['outputs.AccessReviewRecurrenceRangeResponse']: + """ + Access Review schedule definition recurrence range. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="recommendationLookBackDuration") def recommendation_look_back_duration(self) -> Optional[str]: @@ -367,14 +273,6 @@ def reminder_notifications_enabled(self) -> Optional[bool]: """ return pulumi.get(self, "reminder_notifications_enabled") - @property - @pulumi.getter(name="resourceId") - def resource_id(self) -> str: - """ - ResourceId in which this review is getting created - """ - return pulumi.get(self, "resource_id") - @property @pulumi.getter def reviewers(self) -> Optional[Sequence['outputs.AccessReviewReviewerResponse']]: @@ -392,20 +290,12 @@ def reviewers_type(self) -> str: return pulumi.get(self, "reviewers_type") @property - @pulumi.getter(name="roleDefinitionId") - def role_definition_id(self) -> str: - """ - This is used to indicate the role being reviewed - """ - return pulumi.get(self, "role_definition_id") - - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[str]: + @pulumi.getter + def scope(self) -> 'outputs.AccessReviewScopeResponse': """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. """ - return pulumi.get(self, "start_date") + return pulumi.get(self, "scope") @property @pulumi.getter @@ -438,7 +328,6 @@ def __await__(self): if False: yield self return GetScopeAccessReviewScheduleDefinitionByIdResult( - assignment_state=self.assignment_state, auto_apply_decisions_enabled=self.auto_apply_decisions_enabled, backup_reviewers=self.backup_reviewers, default_decision=self.default_decision, @@ -446,32 +335,23 @@ def __await__(self): description_for_admins=self.description_for_admins, description_for_reviewers=self.description_for_reviewers, display_name=self.display_name, - end_date=self.end_date, - exclude_resource_id=self.exclude_resource_id, - exclude_role_definition_id=self.exclude_role_definition_id, - expand_nested_memberships=self.expand_nested_memberships, id=self.id, - inactive_duration=self.inactive_duration, - include_access_below_resource=self.include_access_below_resource, - include_inherited_access=self.include_inherited_access, instance_duration_in_days=self.instance_duration_in_days, instances=self.instances, interval=self.interval, justification_required_on_approval=self.justification_required_on_approval, mail_notifications_enabled=self.mail_notifications_enabled, name=self.name, - number_of_occurrences=self.number_of_occurrences, principal_id=self.principal_id, principal_name=self.principal_name, principal_type=self.principal_type, + range=self.range, recommendation_look_back_duration=self.recommendation_look_back_duration, recommendations_enabled=self.recommendations_enabled, reminder_notifications_enabled=self.reminder_notifications_enabled, - resource_id=self.resource_id, reviewers=self.reviewers, reviewers_type=self.reviewers_type, - role_definition_id=self.role_definition_id, - start_date=self.start_date, + scope=self.scope, status=self.status, type=self.type, user_principal_name=self.user_principal_name) @@ -494,7 +374,6 @@ def get_scope_access_review_schedule_definition_by_id(schedule_definition_id: Op __ret__ = pulumi.runtime.invoke('azure-native:authorization/v20211201preview:getScopeAccessReviewScheduleDefinitionById', __args__, opts=opts, typ=GetScopeAccessReviewScheduleDefinitionByIdResult).value return AwaitableGetScopeAccessReviewScheduleDefinitionByIdResult( - assignment_state=pulumi.get(__ret__, 'assignment_state'), auto_apply_decisions_enabled=pulumi.get(__ret__, 'auto_apply_decisions_enabled'), backup_reviewers=pulumi.get(__ret__, 'backup_reviewers'), default_decision=pulumi.get(__ret__, 'default_decision'), @@ -502,32 +381,23 @@ def get_scope_access_review_schedule_definition_by_id(schedule_definition_id: Op description_for_admins=pulumi.get(__ret__, 'description_for_admins'), description_for_reviewers=pulumi.get(__ret__, 'description_for_reviewers'), display_name=pulumi.get(__ret__, 'display_name'), - end_date=pulumi.get(__ret__, 'end_date'), - exclude_resource_id=pulumi.get(__ret__, 'exclude_resource_id'), - exclude_role_definition_id=pulumi.get(__ret__, 'exclude_role_definition_id'), - expand_nested_memberships=pulumi.get(__ret__, 'expand_nested_memberships'), id=pulumi.get(__ret__, 'id'), - inactive_duration=pulumi.get(__ret__, 'inactive_duration'), - include_access_below_resource=pulumi.get(__ret__, 'include_access_below_resource'), - include_inherited_access=pulumi.get(__ret__, 'include_inherited_access'), instance_duration_in_days=pulumi.get(__ret__, 'instance_duration_in_days'), instances=pulumi.get(__ret__, 'instances'), interval=pulumi.get(__ret__, 'interval'), justification_required_on_approval=pulumi.get(__ret__, 'justification_required_on_approval'), mail_notifications_enabled=pulumi.get(__ret__, 'mail_notifications_enabled'), name=pulumi.get(__ret__, 'name'), - number_of_occurrences=pulumi.get(__ret__, 'number_of_occurrences'), principal_id=pulumi.get(__ret__, 'principal_id'), principal_name=pulumi.get(__ret__, 'principal_name'), principal_type=pulumi.get(__ret__, 'principal_type'), + range=pulumi.get(__ret__, 'range'), recommendation_look_back_duration=pulumi.get(__ret__, 'recommendation_look_back_duration'), recommendations_enabled=pulumi.get(__ret__, 'recommendations_enabled'), reminder_notifications_enabled=pulumi.get(__ret__, 'reminder_notifications_enabled'), - resource_id=pulumi.get(__ret__, 'resource_id'), reviewers=pulumi.get(__ret__, 'reviewers'), reviewers_type=pulumi.get(__ret__, 'reviewers_type'), - role_definition_id=pulumi.get(__ret__, 'role_definition_id'), - start_date=pulumi.get(__ret__, 'start_date'), + scope=pulumi.get(__ret__, 'scope'), status=pulumi.get(__ret__, 'status'), type=pulumi.get(__ret__, 'type'), user_principal_name=pulumi.get(__ret__, 'user_principal_name')) diff --git a/sdk/python/pulumi_azure_native/authorization/v20211201preview/outputs.py b/sdk/python/pulumi_azure_native/authorization/v20211201preview/outputs.py index 65ab572a28e5..ba97ee0971cc 100644 --- a/sdk/python/pulumi_azure_native/authorization/v20211201preview/outputs.py +++ b/sdk/python/pulumi_azure_native/authorization/v20211201preview/outputs.py @@ -14,6 +14,7 @@ __all__ = [ 'AccessReviewHistoryInstanceResponse', 'AccessReviewInstanceResponse', + 'AccessReviewRecurrenceRangeResponse', 'AccessReviewReviewerResponse', 'AccessReviewScopeResponse', ] @@ -320,6 +321,86 @@ def start_date_time(self) -> Optional[str]: return pulumi.get(self, "start_date_time") +@pulumi.output_type +class AccessReviewRecurrenceRangeResponse(dict): + """ + Recurrence Range of an Access Review Schedule Definition. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "endDate": + suggest = "end_date" + elif key == "numberOfOccurrences": + suggest = "number_of_occurrences" + elif key == "startDate": + suggest = "start_date" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AccessReviewRecurrenceRangeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AccessReviewRecurrenceRangeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AccessReviewRecurrenceRangeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + end_date: Optional[str] = None, + number_of_occurrences: Optional[int] = None, + start_date: Optional[str] = None, + type: Optional[str] = None): + """ + Recurrence Range of an Access Review Schedule Definition. + :param str end_date: The DateTime when the review is scheduled to end. Required if type is endDate + :param int number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param str start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + :param str type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + """ + if end_date is not None: + pulumi.set(__self__, "end_date", end_date) + if number_of_occurrences is not None: + pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) + if start_date is not None: + pulumi.set(__self__, "start_date", start_date) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="endDate") + def end_date(self) -> Optional[str]: + """ + The DateTime when the review is scheduled to end. Required if type is endDate + """ + return pulumi.get(self, "end_date") + + @property + @pulumi.getter(name="numberOfOccurrences") + def number_of_occurrences(self) -> Optional[int]: + """ + The number of times to repeat the access review. Required and must be positive if type is numbered. + """ + return pulumi.get(self, "number_of_occurrences") + + @property + @pulumi.getter(name="startDate") + def start_date(self) -> Optional[str]: + """ + The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + """ + return pulumi.get(self, "start_date") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + The recurrence range type. The possible values are: endDate, noEnd, numbered. + """ + return pulumi.get(self, "type") + + @pulumi.output_type class AccessReviewReviewerResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/authorization/v20211201preview/scope_access_review_history_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/v20211201preview/scope_access_review_history_definition_by_id.py index 973c56a7902b..83868f09c234 100644 --- a/sdk/python/pulumi_azure_native/authorization/v20211201preview/scope_access_review_history_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/v20211201preview/scope_access_review_history_definition_by_id.py @@ -20,47 +20,39 @@ def __init__(__self__, *, scope: pulumi.Input[str], decisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, history_definition_id: Optional[pulumi.Input[str]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewHistoryInstanceArgs']]]] = None, interval: Optional[pulumi.Input[int]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']] = None, scopes: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewScopeArgs']]]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None): + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None): """ The set of arguments for constructing a ScopeAccessReviewHistoryDefinitionById resource. :param pulumi.Input[str] scope: The scope of the resource. :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]] decisions: Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request. :param pulumi.Input[str] display_name: The display name for the history definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] history_definition_id: The id of the access review history definition. :param pulumi.Input[Sequence[pulumi.Input['AccessReviewHistoryInstanceArgs']]] instances: Set of access review history instances for this history definition. :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input['AccessReviewRecurrenceRangeArgs'] range: Access Review History Definition recurrence settings. :param pulumi.Input[Sequence[pulumi.Input['AccessReviewScopeArgs']]] scopes: A collection of scopes used when selecting review history data - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ pulumi.set(__self__, "scope", scope) if decisions is not None: pulumi.set(__self__, "decisions", decisions) if display_name is not None: pulumi.set(__self__, "display_name", display_name) - if end_date is not None: - pulumi.set(__self__, "end_date", end_date) if history_definition_id is not None: pulumi.set(__self__, "history_definition_id", history_definition_id) if instances is not None: pulumi.set(__self__, "instances", instances) if interval is not None: pulumi.set(__self__, "interval", interval) - if number_of_occurrences is not None: - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) + if range is not None: + pulumi.set(__self__, "range", range) if scopes is not None: pulumi.set(__self__, "scopes", scopes) - if start_date is not None: - pulumi.set(__self__, "start_date", start_date) if type is not None: pulumi.set(__self__, "type", type) @@ -100,18 +92,6 @@ def display_name(self) -> Optional[pulumi.Input[str]]: def display_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "display_name", value) - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @end_date.setter - def end_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "end_date", value) - @property @pulumi.getter(name="historyDefinitionId") def history_definition_id(self) -> Optional[pulumi.Input[str]]: @@ -149,16 +129,16 @@ def interval(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "interval", value) @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[pulumi.Input[int]]: + @pulumi.getter + def range(self) -> Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]: """ - The number of times to repeat the access review. Required and must be positive if type is numbered. + Access Review History Definition recurrence settings. """ - return pulumi.get(self, "number_of_occurrences") + return pulumi.get(self, "range") - @number_of_occurrences.setter - def number_of_occurrences(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "number_of_occurrences", value) + @range.setter + def range(self, value: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]): + pulumi.set(self, "range", value) @property @pulumi.getter @@ -172,28 +152,16 @@ def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewSco def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewScopeArgs']]]]): pulumi.set(self, "scopes", value) - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - - @start_date.setter - def start_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "start_date", value) - @property @pulumi.getter - def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]: + def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]: """ - The recurrence range type. The possible values are: endDate, noEnd, numbered. + The recurrence type : weekly, monthly, etc. """ return pulumi.get(self, "type") @type.setter - def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]): + def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]): pulumi.set(self, "type", value) @@ -204,15 +172,13 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, decisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, history_definition_id: Optional[pulumi.Input[str]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewHistoryInstanceArgs']]]]] = None, interval: Optional[pulumi.Input[int]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, scope: Optional[pulumi.Input[str]] = None, scopes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewScopeArgs']]]]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): """ Access Review History Definition. @@ -221,15 +187,13 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]] decisions: Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request. :param pulumi.Input[str] display_name: The display name for the history definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] history_definition_id: The id of the access review history definition. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewHistoryInstanceArgs']]]] instances: Set of access review history instances for this history definition. :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']] range: Access Review History Definition recurrence settings. :param pulumi.Input[str] scope: The scope of the resource. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewScopeArgs']]]] scopes: A collection of scopes used when selecting review history data - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ ... @overload @@ -257,15 +221,13 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, decisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'AccessReviewResult']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, history_definition_id: Optional[pulumi.Input[str]] = None, instances: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewHistoryInstanceArgs']]]]] = None, interval: Optional[pulumi.Input[int]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, scope: Optional[pulumi.Input[str]] = None, scopes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewScopeArgs']]]]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -277,16 +239,14 @@ def _internal_init(__self__, __props__.__dict__["decisions"] = decisions __props__.__dict__["display_name"] = display_name - __props__.__dict__["end_date"] = end_date __props__.__dict__["history_definition_id"] = history_definition_id __props__.__dict__["instances"] = instances __props__.__dict__["interval"] = interval - __props__.__dict__["number_of_occurrences"] = number_of_occurrences + __props__.__dict__["range"] = range if scope is None and not opts.urn: raise TypeError("Missing required property 'scope'") __props__.__dict__["scope"] = scope __props__.__dict__["scopes"] = scopes - __props__.__dict__["start_date"] = start_date __props__.__dict__["type"] = type __props__.__dict__["created_date_time"] = None __props__.__dict__["name"] = None @@ -324,18 +284,16 @@ def get(resource_name: str, __props__.__dict__["created_date_time"] = None __props__.__dict__["decisions"] = None __props__.__dict__["display_name"] = None - __props__.__dict__["end_date"] = None __props__.__dict__["instances"] = None __props__.__dict__["interval"] = None __props__.__dict__["name"] = None - __props__.__dict__["number_of_occurrences"] = None __props__.__dict__["principal_id"] = None __props__.__dict__["principal_name"] = None __props__.__dict__["principal_type"] = None + __props__.__dict__["range"] = None __props__.__dict__["review_history_period_end_date_time"] = None __props__.__dict__["review_history_period_start_date_time"] = None __props__.__dict__["scopes"] = None - __props__.__dict__["start_date"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None __props__.__dict__["user_principal_name"] = None @@ -365,14 +323,6 @@ def display_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> pulumi.Output[Optional[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - @property @pulumi.getter def instances(self) -> pulumi.Output[Optional[Sequence['outputs.AccessReviewHistoryInstanceResponse']]]: @@ -397,14 +347,6 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> pulumi.Output[Optional[int]]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> pulumi.Output[str]: @@ -429,6 +371,14 @@ def principal_type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> pulumi.Output[Optional['outputs.AccessReviewRecurrenceRangeResponse']]: + """ + Access Review History Definition recurrence settings. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="reviewHistoryPeriodEndDateTime") def review_history_period_end_date_time(self) -> pulumi.Output[str]: @@ -453,14 +403,6 @@ def scopes(self) -> pulumi.Output[Optional[Sequence['outputs.AccessReviewScopeRe """ return pulumi.get(self, "scopes") - @property - @pulumi.getter(name="startDate") - def start_date(self) -> pulumi.Output[Optional[str]]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - @property @pulumi.getter def status(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure_native/authorization/v20211201preview/scope_access_review_schedule_definition_by_id.py b/sdk/python/pulumi_azure_native/authorization/v20211201preview/scope_access_review_schedule_definition_by_id.py index bbce2f0b1228..22b1d96f9bca 100644 --- a/sdk/python/pulumi_azure_native/authorization/v20211201preview/scope_access_review_schedule_definition_by_id.py +++ b/sdk/python/pulumi_azure_native/authorization/v20211201preview/scope_access_review_schedule_definition_by_id.py @@ -25,7 +25,6 @@ def __init__(__self__, *, description_for_admins: Optional[pulumi.Input[str]] = None, description_for_reviewers: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, exclude_resource_id: Optional[pulumi.Input[str]] = None, exclude_role_definition_id: Optional[pulumi.Input[str]] = None, expand_nested_memberships: Optional[pulumi.Input[bool]] = None, @@ -37,14 +36,13 @@ def __init__(__self__, *, interval: Optional[pulumi.Input[int]] = None, justification_required_on_approval: Optional[pulumi.Input[bool]] = None, mail_notifications_enabled: Optional[pulumi.Input[bool]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']] = None, recommendation_look_back_duration: Optional[pulumi.Input[str]] = None, recommendations_enabled: Optional[pulumi.Input[bool]] = None, reminder_notifications_enabled: Optional[pulumi.Input[bool]] = None, reviewers: Optional[pulumi.Input[Sequence[pulumi.Input['AccessReviewReviewerArgs']]]] = None, schedule_definition_id: Optional[pulumi.Input[str]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None): + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None): """ The set of arguments for constructing a ScopeAccessReviewScheduleDefinitionById resource. :param pulumi.Input[str] scope: The scope of the resource. @@ -55,7 +53,6 @@ def __init__(__self__, *, :param pulumi.Input[str] description_for_admins: The description provided by the access review creator and visible to admins. :param pulumi.Input[str] description_for_reviewers: The description provided by the access review creator to be shown to reviewers. :param pulumi.Input[str] display_name: The display name for the schedule definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] exclude_resource_id: This is used to indicate the resource id(s) to exclude :param pulumi.Input[str] exclude_role_definition_id: This is used to indicate the role definition id(s) to exclude :param pulumi.Input[bool] expand_nested_memberships: Flag to indicate whether to expand nested memberships or not. @@ -67,14 +64,13 @@ def __init__(__self__, *, :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. :param pulumi.Input[bool] justification_required_on_approval: Flag to indicate whether the reviewer is required to pass justification when recording a decision. :param pulumi.Input[bool] mail_notifications_enabled: Flag to indicate whether sending mails to reviewers and the review creator is enabled. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input['AccessReviewRecurrenceRangeArgs'] range: Access Review schedule definition recurrence range. :param pulumi.Input[str] recommendation_look_back_duration: Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) :param pulumi.Input[bool] recommendations_enabled: Flag to indicate whether showing recommendations to reviewers is enabled. :param pulumi.Input[bool] reminder_notifications_enabled: Flag to indicate whether sending reminder emails to reviewers are enabled. :param pulumi.Input[Sequence[pulumi.Input['AccessReviewReviewerArgs']]] reviewers: This is the collection of reviewers. :param pulumi.Input[str] schedule_definition_id: The id of the access review schedule definition. - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ pulumi.set(__self__, "scope", scope) if auto_apply_decisions_enabled is not None: @@ -91,8 +87,6 @@ def __init__(__self__, *, pulumi.set(__self__, "description_for_reviewers", description_for_reviewers) if display_name is not None: pulumi.set(__self__, "display_name", display_name) - if end_date is not None: - pulumi.set(__self__, "end_date", end_date) if exclude_resource_id is not None: pulumi.set(__self__, "exclude_resource_id", exclude_resource_id) if exclude_role_definition_id is not None: @@ -115,8 +109,8 @@ def __init__(__self__, *, pulumi.set(__self__, "justification_required_on_approval", justification_required_on_approval) if mail_notifications_enabled is not None: pulumi.set(__self__, "mail_notifications_enabled", mail_notifications_enabled) - if number_of_occurrences is not None: - pulumi.set(__self__, "number_of_occurrences", number_of_occurrences) + if range is not None: + pulumi.set(__self__, "range", range) if recommendation_look_back_duration is not None: pulumi.set(__self__, "recommendation_look_back_duration", recommendation_look_back_duration) if recommendations_enabled is not None: @@ -127,8 +121,6 @@ def __init__(__self__, *, pulumi.set(__self__, "reviewers", reviewers) if schedule_definition_id is not None: pulumi.set(__self__, "schedule_definition_id", schedule_definition_id) - if start_date is not None: - pulumi.set(__self__, "start_date", start_date) if type is not None: pulumi.set(__self__, "type", type) @@ -228,18 +220,6 @@ def display_name(self) -> Optional[pulumi.Input[str]]: def display_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "display_name", value) - @property - @pulumi.getter(name="endDate") - def end_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @end_date.setter - def end_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "end_date", value) - @property @pulumi.getter(name="excludeResourceId") def exclude_resource_id(self) -> Optional[pulumi.Input[str]]: @@ -373,16 +353,16 @@ def mail_notifications_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "mail_notifications_enabled", value) @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> Optional[pulumi.Input[int]]: + @pulumi.getter + def range(self) -> Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]: """ - The number of times to repeat the access review. Required and must be positive if type is numbered. + Access Review schedule definition recurrence range. """ - return pulumi.get(self, "number_of_occurrences") + return pulumi.get(self, "range") - @number_of_occurrences.setter - def number_of_occurrences(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "number_of_occurrences", value) + @range.setter + def range(self, value: Optional[pulumi.Input['AccessReviewRecurrenceRangeArgs']]): + pulumi.set(self, "range", value) @property @pulumi.getter(name="recommendationLookBackDuration") @@ -444,28 +424,16 @@ def schedule_definition_id(self) -> Optional[pulumi.Input[str]]: def schedule_definition_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "schedule_definition_id", value) - @property - @pulumi.getter(name="startDate") - def start_date(self) -> Optional[pulumi.Input[str]]: - """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - """ - return pulumi.get(self, "start_date") - - @start_date.setter - def start_date(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "start_date", value) - @property @pulumi.getter - def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]: + def type(self) -> Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]: """ - The recurrence range type. The possible values are: endDate, noEnd, numbered. + The recurrence type : weekly, monthly, etc. """ return pulumi.get(self, "type") @type.setter - def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]]): + def type(self, value: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]]): pulumi.set(self, "type", value) @@ -481,7 +449,6 @@ def __init__(__self__, description_for_admins: Optional[pulumi.Input[str]] = None, description_for_reviewers: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, exclude_resource_id: Optional[pulumi.Input[str]] = None, exclude_role_definition_id: Optional[pulumi.Input[str]] = None, expand_nested_memberships: Optional[pulumi.Input[bool]] = None, @@ -493,15 +460,14 @@ def __init__(__self__, interval: Optional[pulumi.Input[int]] = None, justification_required_on_approval: Optional[pulumi.Input[bool]] = None, mail_notifications_enabled: Optional[pulumi.Input[bool]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, recommendation_look_back_duration: Optional[pulumi.Input[str]] = None, recommendations_enabled: Optional[pulumi.Input[bool]] = None, reminder_notifications_enabled: Optional[pulumi.Input[bool]] = None, reviewers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewReviewerArgs']]]]] = None, schedule_definition_id: Optional[pulumi.Input[str]] = None, scope: Optional[pulumi.Input[str]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): """ Access Review Schedule Definition. @@ -515,7 +481,6 @@ def __init__(__self__, :param pulumi.Input[str] description_for_admins: The description provided by the access review creator and visible to admins. :param pulumi.Input[str] description_for_reviewers: The description provided by the access review creator to be shown to reviewers. :param pulumi.Input[str] display_name: The display name for the schedule definition. - :param pulumi.Input[str] end_date: The DateTime when the review is scheduled to end. Required if type is endDate :param pulumi.Input[str] exclude_resource_id: This is used to indicate the resource id(s) to exclude :param pulumi.Input[str] exclude_role_definition_id: This is used to indicate the role definition id(s) to exclude :param pulumi.Input[bool] expand_nested_memberships: Flag to indicate whether to expand nested memberships or not. @@ -527,15 +492,14 @@ def __init__(__self__, :param pulumi.Input[int] interval: The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. :param pulumi.Input[bool] justification_required_on_approval: Flag to indicate whether the reviewer is required to pass justification when recording a decision. :param pulumi.Input[bool] mail_notifications_enabled: Flag to indicate whether sending mails to reviewers and the review creator is enabled. - :param pulumi.Input[int] number_of_occurrences: The number of times to repeat the access review. Required and must be positive if type is numbered. + :param pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']] range: Access Review schedule definition recurrence range. :param pulumi.Input[str] recommendation_look_back_duration: Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) :param pulumi.Input[bool] recommendations_enabled: Flag to indicate whether showing recommendations to reviewers is enabled. :param pulumi.Input[bool] reminder_notifications_enabled: Flag to indicate whether sending reminder emails to reviewers are enabled. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewReviewerArgs']]]] reviewers: This is the collection of reviewers. :param pulumi.Input[str] schedule_definition_id: The id of the access review schedule definition. :param pulumi.Input[str] scope: The scope of the resource. - :param pulumi.Input[str] start_date: The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. - :param pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']] type: The recurrence range type. The possible values are: endDate, noEnd, numbered. + :param pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']] type: The recurrence type : weekly, monthly, etc. """ ... @overload @@ -568,7 +532,6 @@ def _internal_init(__self__, description_for_admins: Optional[pulumi.Input[str]] = None, description_for_reviewers: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, - end_date: Optional[pulumi.Input[str]] = None, exclude_resource_id: Optional[pulumi.Input[str]] = None, exclude_role_definition_id: Optional[pulumi.Input[str]] = None, expand_nested_memberships: Optional[pulumi.Input[bool]] = None, @@ -580,15 +543,14 @@ def _internal_init(__self__, interval: Optional[pulumi.Input[int]] = None, justification_required_on_approval: Optional[pulumi.Input[bool]] = None, mail_notifications_enabled: Optional[pulumi.Input[bool]] = None, - number_of_occurrences: Optional[pulumi.Input[int]] = None, + range: Optional[pulumi.Input[pulumi.InputType['AccessReviewRecurrenceRangeArgs']]] = None, recommendation_look_back_duration: Optional[pulumi.Input[str]] = None, recommendations_enabled: Optional[pulumi.Input[bool]] = None, reminder_notifications_enabled: Optional[pulumi.Input[bool]] = None, reviewers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AccessReviewReviewerArgs']]]]] = None, schedule_definition_id: Optional[pulumi.Input[str]] = None, scope: Optional[pulumi.Input[str]] = None, - start_date: Optional[pulumi.Input[str]] = None, - type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrenceRangeType']]] = None, + type: Optional[pulumi.Input[Union[str, 'AccessReviewRecurrencePatternType']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -605,7 +567,6 @@ def _internal_init(__self__, __props__.__dict__["description_for_admins"] = description_for_admins __props__.__dict__["description_for_reviewers"] = description_for_reviewers __props__.__dict__["display_name"] = display_name - __props__.__dict__["end_date"] = end_date __props__.__dict__["exclude_resource_id"] = exclude_resource_id __props__.__dict__["exclude_role_definition_id"] = exclude_role_definition_id __props__.__dict__["expand_nested_memberships"] = expand_nested_memberships @@ -617,7 +578,7 @@ def _internal_init(__self__, __props__.__dict__["interval"] = interval __props__.__dict__["justification_required_on_approval"] = justification_required_on_approval __props__.__dict__["mail_notifications_enabled"] = mail_notifications_enabled - __props__.__dict__["number_of_occurrences"] = number_of_occurrences + __props__.__dict__["range"] = range __props__.__dict__["recommendation_look_back_duration"] = recommendation_look_back_duration __props__.__dict__["recommendations_enabled"] = recommendations_enabled __props__.__dict__["reminder_notifications_enabled"] = reminder_notifications_enabled @@ -626,16 +587,12 @@ def _internal_init(__self__, if scope is None and not opts.urn: raise TypeError("Missing required property 'scope'") __props__.__dict__["scope"] = scope - __props__.__dict__["start_date"] = start_date __props__.__dict__["type"] = type - __props__.__dict__["assignment_state"] = None __props__.__dict__["name"] = None __props__.__dict__["principal_id"] = None __props__.__dict__["principal_name"] = None __props__.__dict__["principal_type"] = None - __props__.__dict__["resource_id"] = None __props__.__dict__["reviewers_type"] = None - __props__.__dict__["role_definition_id"] = None __props__.__dict__["status"] = None __props__.__dict__["user_principal_name"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:authorization:ScopeAccessReviewScheduleDefinitionById")]) @@ -662,7 +619,6 @@ def get(resource_name: str, __props__ = ScopeAccessReviewScheduleDefinitionByIdArgs.__new__(ScopeAccessReviewScheduleDefinitionByIdArgs) - __props__.__dict__["assignment_state"] = None __props__.__dict__["auto_apply_decisions_enabled"] = None __props__.__dict__["backup_reviewers"] = None __props__.__dict__["default_decision"] = None @@ -670,44 +626,27 @@ def get(resource_name: str, __props__.__dict__["description_for_admins"] = None __props__.__dict__["description_for_reviewers"] = None __props__.__dict__["display_name"] = None - __props__.__dict__["end_date"] = None - __props__.__dict__["exclude_resource_id"] = None - __props__.__dict__["exclude_role_definition_id"] = None - __props__.__dict__["expand_nested_memberships"] = None - __props__.__dict__["inactive_duration"] = None - __props__.__dict__["include_access_below_resource"] = None - __props__.__dict__["include_inherited_access"] = None __props__.__dict__["instance_duration_in_days"] = None __props__.__dict__["instances"] = None __props__.__dict__["interval"] = None __props__.__dict__["justification_required_on_approval"] = None __props__.__dict__["mail_notifications_enabled"] = None __props__.__dict__["name"] = None - __props__.__dict__["number_of_occurrences"] = None __props__.__dict__["principal_id"] = None __props__.__dict__["principal_name"] = None __props__.__dict__["principal_type"] = None + __props__.__dict__["range"] = None __props__.__dict__["recommendation_look_back_duration"] = None __props__.__dict__["recommendations_enabled"] = None __props__.__dict__["reminder_notifications_enabled"] = None - __props__.__dict__["resource_id"] = None __props__.__dict__["reviewers"] = None __props__.__dict__["reviewers_type"] = None - __props__.__dict__["role_definition_id"] = None - __props__.__dict__["start_date"] = None + __props__.__dict__["scope"] = None __props__.__dict__["status"] = None __props__.__dict__["type"] = None __props__.__dict__["user_principal_name"] = None return ScopeAccessReviewScheduleDefinitionById(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="assignmentState") - def assignment_state(self) -> pulumi.Output[str]: - """ - The role assignment state eligible/active to review - """ - return pulumi.get(self, "assignment_state") - @property @pulumi.getter(name="autoApplyDecisionsEnabled") def auto_apply_decisions_enabled(self) -> pulumi.Output[Optional[bool]]: @@ -764,62 +703,6 @@ def display_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "display_name") - @property - @pulumi.getter(name="endDate") - def end_date(self) -> pulumi.Output[Optional[str]]: - """ - The DateTime when the review is scheduled to end. Required if type is endDate - """ - return pulumi.get(self, "end_date") - - @property - @pulumi.getter(name="excludeResourceId") - def exclude_resource_id(self) -> pulumi.Output[Optional[str]]: - """ - This is used to indicate the resource id(s) to exclude - """ - return pulumi.get(self, "exclude_resource_id") - - @property - @pulumi.getter(name="excludeRoleDefinitionId") - def exclude_role_definition_id(self) -> pulumi.Output[Optional[str]]: - """ - This is used to indicate the role definition id(s) to exclude - """ - return pulumi.get(self, "exclude_role_definition_id") - - @property - @pulumi.getter(name="expandNestedMemberships") - def expand_nested_memberships(self) -> pulumi.Output[Optional[bool]]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "expand_nested_memberships") - - @property - @pulumi.getter(name="inactiveDuration") - def inactive_duration(self) -> pulumi.Output[Optional[str]]: - """ - Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) - """ - return pulumi.get(self, "inactive_duration") - - @property - @pulumi.getter(name="includeAccessBelowResource") - def include_access_below_resource(self) -> pulumi.Output[Optional[bool]]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_access_below_resource") - - @property - @pulumi.getter(name="includeInheritedAccess") - def include_inherited_access(self) -> pulumi.Output[Optional[bool]]: - """ - Flag to indicate whether to expand nested memberships or not. - """ - return pulumi.get(self, "include_inherited_access") - @property @pulumi.getter(name="instanceDurationInDays") def instance_duration_in_days(self) -> pulumi.Output[Optional[int]]: @@ -868,14 +751,6 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="numberOfOccurrences") - def number_of_occurrences(self) -> pulumi.Output[Optional[int]]: - """ - The number of times to repeat the access review. Required and must be positive if type is numbered. - """ - return pulumi.get(self, "number_of_occurrences") - @property @pulumi.getter(name="principalId") def principal_id(self) -> pulumi.Output[str]: @@ -896,10 +771,18 @@ def principal_name(self) -> pulumi.Output[str]: @pulumi.getter(name="principalType") def principal_type(self) -> pulumi.Output[str]: """ - The identity type user/servicePrincipal to review + The identity type : user/servicePrincipal """ return pulumi.get(self, "principal_type") + @property + @pulumi.getter + def range(self) -> pulumi.Output[Optional['outputs.AccessReviewRecurrenceRangeResponse']]: + """ + Access Review schedule definition recurrence range. + """ + return pulumi.get(self, "range") + @property @pulumi.getter(name="recommendationLookBackDuration") def recommendation_look_back_duration(self) -> pulumi.Output[Optional[str]]: @@ -924,14 +807,6 @@ def reminder_notifications_enabled(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "reminder_notifications_enabled") - @property - @pulumi.getter(name="resourceId") - def resource_id(self) -> pulumi.Output[str]: - """ - ResourceId in which this review is getting created - """ - return pulumi.get(self, "resource_id") - @property @pulumi.getter def reviewers(self) -> pulumi.Output[Optional[Sequence['outputs.AccessReviewReviewerResponse']]]: @@ -949,20 +824,12 @@ def reviewers_type(self) -> pulumi.Output[str]: return pulumi.get(self, "reviewers_type") @property - @pulumi.getter(name="roleDefinitionId") - def role_definition_id(self) -> pulumi.Output[str]: - """ - This is used to indicate the role being reviewed - """ - return pulumi.get(self, "role_definition_id") - - @property - @pulumi.getter(name="startDate") - def start_date(self) -> pulumi.Output[Optional[str]]: + @pulumi.getter + def scope(self) -> pulumi.Output['outputs.AccessReviewScopeResponse']: """ - The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + This is used to define what to include in scope of the review. The scope definition includes the resourceId and roleDefinitionId. """ - return pulumi.get(self, "start_date") + return pulumi.get(self, "scope") @property @pulumi.getter diff --git a/sdk/python/pulumi_azure_native/devhub/_inputs.py b/sdk/python/pulumi_azure_native/devhub/_inputs.py index 9512fbb11c72..039fa4380323 100644 --- a/sdk/python/pulumi_azure_native/devhub/_inputs.py +++ b/sdk/python/pulumi_azure_native/devhub/_inputs.py @@ -14,6 +14,7 @@ 'ACRArgs', 'DeploymentPropertiesArgs', 'GitHubWorkflowProfileOidcCredentialsArgs', + 'GitHubWorkflowProfileArgs', 'WorkflowRunArgs', ] @@ -212,6 +213,182 @@ def azure_tenant_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "azure_tenant_id", value) +@pulumi.input_type +class GitHubWorkflowProfileArgs: + def __init__(__self__, *, + acr: Optional[pulumi.Input['ACRArgs']] = None, + aks_resource_id: Optional[pulumi.Input[str]] = None, + branch_name: Optional[pulumi.Input[str]] = None, + deployment_properties: Optional[pulumi.Input['DeploymentPropertiesArgs']] = None, + docker_build_context: Optional[pulumi.Input[str]] = None, + dockerfile: Optional[pulumi.Input[str]] = None, + last_workflow_run: Optional[pulumi.Input['WorkflowRunArgs']] = None, + namespace: Optional[pulumi.Input[str]] = None, + oidc_credentials: Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']] = None, + repository_name: Optional[pulumi.Input[str]] = None, + repository_owner: Optional[pulumi.Input[str]] = None): + """ + GitHub Workflow Profile + :param pulumi.Input['ACRArgs'] acr: Information on the azure container registry + :param pulumi.Input[str] aks_resource_id: The Azure Kubernetes Cluster Resource the application will be deployed to. + :param pulumi.Input[str] branch_name: Repository Branch Name + :param pulumi.Input[str] docker_build_context: Path to Dockerfile Build Context within the repository. + :param pulumi.Input[str] dockerfile: Path to the Dockerfile within the repository. + :param pulumi.Input[str] namespace: Kubernetes namespace the application is deployed to. + :param pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs'] oidc_credentials: The fields needed for OIDC with GitHub. + :param pulumi.Input[str] repository_name: Repository Name + :param pulumi.Input[str] repository_owner: Repository Owner + """ + if acr is not None: + pulumi.set(__self__, "acr", acr) + if aks_resource_id is not None: + pulumi.set(__self__, "aks_resource_id", aks_resource_id) + if branch_name is not None: + pulumi.set(__self__, "branch_name", branch_name) + if deployment_properties is not None: + pulumi.set(__self__, "deployment_properties", deployment_properties) + if docker_build_context is not None: + pulumi.set(__self__, "docker_build_context", docker_build_context) + if dockerfile is not None: + pulumi.set(__self__, "dockerfile", dockerfile) + if last_workflow_run is not None: + pulumi.set(__self__, "last_workflow_run", last_workflow_run) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if oidc_credentials is not None: + pulumi.set(__self__, "oidc_credentials", oidc_credentials) + if repository_name is not None: + pulumi.set(__self__, "repository_name", repository_name) + if repository_owner is not None: + pulumi.set(__self__, "repository_owner", repository_owner) + + @property + @pulumi.getter + def acr(self) -> Optional[pulumi.Input['ACRArgs']]: + """ + Information on the azure container registry + """ + return pulumi.get(self, "acr") + + @acr.setter + def acr(self, value: Optional[pulumi.Input['ACRArgs']]): + pulumi.set(self, "acr", value) + + @property + @pulumi.getter(name="aksResourceId") + def aks_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + The Azure Kubernetes Cluster Resource the application will be deployed to. + """ + return pulumi.get(self, "aks_resource_id") + + @aks_resource_id.setter + def aks_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aks_resource_id", value) + + @property + @pulumi.getter(name="branchName") + def branch_name(self) -> Optional[pulumi.Input[str]]: + """ + Repository Branch Name + """ + return pulumi.get(self, "branch_name") + + @branch_name.setter + def branch_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "branch_name", value) + + @property + @pulumi.getter(name="deploymentProperties") + def deployment_properties(self) -> Optional[pulumi.Input['DeploymentPropertiesArgs']]: + return pulumi.get(self, "deployment_properties") + + @deployment_properties.setter + def deployment_properties(self, value: Optional[pulumi.Input['DeploymentPropertiesArgs']]): + pulumi.set(self, "deployment_properties", value) + + @property + @pulumi.getter(name="dockerBuildContext") + def docker_build_context(self) -> Optional[pulumi.Input[str]]: + """ + Path to Dockerfile Build Context within the repository. + """ + return pulumi.get(self, "docker_build_context") + + @docker_build_context.setter + def docker_build_context(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "docker_build_context", value) + + @property + @pulumi.getter + def dockerfile(self) -> Optional[pulumi.Input[str]]: + """ + Path to the Dockerfile within the repository. + """ + return pulumi.get(self, "dockerfile") + + @dockerfile.setter + def dockerfile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dockerfile", value) + + @property + @pulumi.getter(name="lastWorkflowRun") + def last_workflow_run(self) -> Optional[pulumi.Input['WorkflowRunArgs']]: + return pulumi.get(self, "last_workflow_run") + + @last_workflow_run.setter + def last_workflow_run(self, value: Optional[pulumi.Input['WorkflowRunArgs']]): + pulumi.set(self, "last_workflow_run", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + Kubernetes namespace the application is deployed to. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="oidcCredentials") + def oidc_credentials(self) -> Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']]: + """ + The fields needed for OIDC with GitHub. + """ + return pulumi.get(self, "oidc_credentials") + + @oidc_credentials.setter + def oidc_credentials(self, value: Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']]): + pulumi.set(self, "oidc_credentials", value) + + @property + @pulumi.getter(name="repositoryName") + def repository_name(self) -> Optional[pulumi.Input[str]]: + """ + Repository Name + """ + return pulumi.get(self, "repository_name") + + @repository_name.setter + def repository_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "repository_name", value) + + @property + @pulumi.getter(name="repositoryOwner") + def repository_owner(self) -> Optional[pulumi.Input[str]]: + """ + Repository Owner + """ + return pulumi.get(self, "repository_owner") + + @repository_owner.setter + def repository_owner(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "repository_owner", value) + + @pulumi.input_type class WorkflowRunArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/devhub/get_workflow.py b/sdk/python/pulumi_azure_native/devhub/get_workflow.py index daea0c64a7a1..349df79cd055 100644 --- a/sdk/python/pulumi_azure_native/devhub/get_workflow.py +++ b/sdk/python/pulumi_azure_native/devhub/get_workflow.py @@ -22,34 +22,13 @@ class GetWorkflowResult: """ Resource representation of a workflow """ - def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_status=None, branch_name=None, builder_version=None, deployment_properties=None, docker_build_context=None, dockerfile=None, dockerfile_generation_mode=None, dockerfile_output_directory=None, generation_language=None, id=None, image_name=None, image_tag=None, language_version=None, last_workflow_run=None, location=None, manifest_generation_mode=None, manifest_output_directory=None, manifest_type=None, name=None, namespace=None, oidc_credentials=None, port=None, pr_status=None, pr_url=None, pull_number=None, repository_name=None, repository_owner=None, system_data=None, tags=None, type=None): - if acr and not isinstance(acr, dict): - raise TypeError("Expected argument 'acr' to be a dict") - pulumi.set(__self__, "acr", acr) - if aks_resource_id and not isinstance(aks_resource_id, str): - raise TypeError("Expected argument 'aks_resource_id' to be a str") - pulumi.set(__self__, "aks_resource_id", aks_resource_id) + def __init__(__self__, app_name=None, builder_version=None, dockerfile_generation_mode=None, dockerfile_output_directory=None, generation_language=None, github_workflow_profile=None, id=None, image_name=None, image_tag=None, language_version=None, location=None, manifest_generation_mode=None, manifest_output_directory=None, manifest_type=None, name=None, namespace=None, port=None, system_data=None, tags=None, type=None): if app_name and not isinstance(app_name, str): raise TypeError("Expected argument 'app_name' to be a str") pulumi.set(__self__, "app_name", app_name) - if auth_status and not isinstance(auth_status, str): - raise TypeError("Expected argument 'auth_status' to be a str") - pulumi.set(__self__, "auth_status", auth_status) - if branch_name and not isinstance(branch_name, str): - raise TypeError("Expected argument 'branch_name' to be a str") - pulumi.set(__self__, "branch_name", branch_name) if builder_version and not isinstance(builder_version, str): raise TypeError("Expected argument 'builder_version' to be a str") pulumi.set(__self__, "builder_version", builder_version) - if deployment_properties and not isinstance(deployment_properties, dict): - raise TypeError("Expected argument 'deployment_properties' to be a dict") - pulumi.set(__self__, "deployment_properties", deployment_properties) - if docker_build_context and not isinstance(docker_build_context, str): - raise TypeError("Expected argument 'docker_build_context' to be a str") - pulumi.set(__self__, "docker_build_context", docker_build_context) - if dockerfile and not isinstance(dockerfile, str): - raise TypeError("Expected argument 'dockerfile' to be a str") - pulumi.set(__self__, "dockerfile", dockerfile) if dockerfile_generation_mode and not isinstance(dockerfile_generation_mode, str): raise TypeError("Expected argument 'dockerfile_generation_mode' to be a str") pulumi.set(__self__, "dockerfile_generation_mode", dockerfile_generation_mode) @@ -59,6 +38,9 @@ def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_statu if generation_language and not isinstance(generation_language, str): raise TypeError("Expected argument 'generation_language' to be a str") pulumi.set(__self__, "generation_language", generation_language) + if github_workflow_profile and not isinstance(github_workflow_profile, dict): + raise TypeError("Expected argument 'github_workflow_profile' to be a dict") + pulumi.set(__self__, "github_workflow_profile", github_workflow_profile) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -71,9 +53,6 @@ def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_statu if language_version and not isinstance(language_version, str): raise TypeError("Expected argument 'language_version' to be a str") pulumi.set(__self__, "language_version", language_version) - if last_workflow_run and not isinstance(last_workflow_run, dict): - raise TypeError("Expected argument 'last_workflow_run' to be a dict") - pulumi.set(__self__, "last_workflow_run", last_workflow_run) if location and not isinstance(location, str): raise TypeError("Expected argument 'location' to be a str") pulumi.set(__self__, "location", location) @@ -92,27 +71,9 @@ def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_statu if namespace and not isinstance(namespace, str): raise TypeError("Expected argument 'namespace' to be a str") pulumi.set(__self__, "namespace", namespace) - if oidc_credentials and not isinstance(oidc_credentials, dict): - raise TypeError("Expected argument 'oidc_credentials' to be a dict") - pulumi.set(__self__, "oidc_credentials", oidc_credentials) if port and not isinstance(port, str): raise TypeError("Expected argument 'port' to be a str") pulumi.set(__self__, "port", port) - if pr_status and not isinstance(pr_status, str): - raise TypeError("Expected argument 'pr_status' to be a str") - pulumi.set(__self__, "pr_status", pr_status) - if pr_url and not isinstance(pr_url, str): - raise TypeError("Expected argument 'pr_url' to be a str") - pulumi.set(__self__, "pr_url", pr_url) - if pull_number and not isinstance(pull_number, int): - raise TypeError("Expected argument 'pull_number' to be a int") - pulumi.set(__self__, "pull_number", pull_number) - if repository_name and not isinstance(repository_name, str): - raise TypeError("Expected argument 'repository_name' to be a str") - pulumi.set(__self__, "repository_name", repository_name) - if repository_owner and not isinstance(repository_owner, str): - raise TypeError("Expected argument 'repository_owner' to be a str") - pulumi.set(__self__, "repository_owner", repository_owner) 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) @@ -123,22 +84,6 @@ def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_statu raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) - @property - @pulumi.getter - def acr(self) -> Optional['outputs.ACRResponse']: - """ - Information on the azure container registry - """ - return pulumi.get(self, "acr") - - @property - @pulumi.getter(name="aksResourceId") - def aks_resource_id(self) -> Optional[str]: - """ - The Azure Kubernetes Cluster Resource the application will be deployed to. - """ - return pulumi.get(self, "aks_resource_id") - @property @pulumi.getter(name="appName") def app_name(self) -> Optional[str]: @@ -147,22 +92,6 @@ def app_name(self) -> Optional[str]: """ return pulumi.get(self, "app_name") - @property - @pulumi.getter(name="authStatus") - def auth_status(self) -> str: - """ - Determines the authorization status of requests. - """ - return pulumi.get(self, "auth_status") - - @property - @pulumi.getter(name="branchName") - def branch_name(self) -> Optional[str]: - """ - Repository Branch Name - """ - return pulumi.get(self, "branch_name") - @property @pulumi.getter(name="builderVersion") def builder_version(self) -> Optional[str]: @@ -171,27 +100,6 @@ def builder_version(self) -> Optional[str]: """ return pulumi.get(self, "builder_version") - @property - @pulumi.getter(name="deploymentProperties") - def deployment_properties(self) -> Optional['outputs.DeploymentPropertiesResponse']: - return pulumi.get(self, "deployment_properties") - - @property - @pulumi.getter(name="dockerBuildContext") - def docker_build_context(self) -> Optional[str]: - """ - Path to Dockerfile Build Context within the repository. - """ - return pulumi.get(self, "docker_build_context") - - @property - @pulumi.getter - def dockerfile(self) -> Optional[str]: - """ - Path to the Dockerfile within the repository. - """ - return pulumi.get(self, "dockerfile") - @property @pulumi.getter(name="dockerfileGenerationMode") def dockerfile_generation_mode(self) -> Optional[str]: @@ -216,6 +124,14 @@ def generation_language(self) -> Optional[str]: """ return pulumi.get(self, "generation_language") + @property + @pulumi.getter(name="githubWorkflowProfile") + def github_workflow_profile(self) -> Optional['outputs.GitHubWorkflowProfileResponse']: + """ + Profile of a github workflow. + """ + return pulumi.get(self, "github_workflow_profile") + @property @pulumi.getter def id(self) -> str: @@ -248,11 +164,6 @@ def language_version(self) -> Optional[str]: """ return pulumi.get(self, "language_version") - @property - @pulumi.getter(name="lastWorkflowRun") - def last_workflow_run(self) -> Optional['outputs.WorkflowRunResponse']: - return pulumi.get(self, "last_workflow_run") - @property @pulumi.getter def location(self) -> str: @@ -297,18 +208,10 @@ def name(self) -> str: @pulumi.getter def namespace(self) -> Optional[str]: """ - Kubernetes namespace the application is deployed to. + The namespace to deploy the application to. """ return pulumi.get(self, "namespace") - @property - @pulumi.getter(name="oidcCredentials") - def oidc_credentials(self) -> Optional['outputs.GitHubWorkflowProfileResponseOidcCredentials']: - """ - The fields needed for OIDC with GitHub. - """ - return pulumi.get(self, "oidc_credentials") - @property @pulumi.getter def port(self) -> Optional[str]: @@ -317,46 +220,6 @@ def port(self) -> Optional[str]: """ return pulumi.get(self, "port") - @property - @pulumi.getter(name="prStatus") - def pr_status(self) -> str: - """ - The status of the Pull Request submitted against the users repository. - """ - return pulumi.get(self, "pr_status") - - @property - @pulumi.getter(name="prURL") - def pr_url(self) -> str: - """ - The URL to the Pull Request submitted against the users repository. - """ - return pulumi.get(self, "pr_url") - - @property - @pulumi.getter(name="pullNumber") - def pull_number(self) -> int: - """ - The number associated with the submitted pull request. - """ - return pulumi.get(self, "pull_number") - - @property - @pulumi.getter(name="repositoryName") - def repository_name(self) -> Optional[str]: - """ - Repository Name - """ - return pulumi.get(self, "repository_name") - - @property - @pulumi.getter(name="repositoryOwner") - def repository_owner(self) -> Optional[str]: - """ - Repository Owner - """ - return pulumi.get(self, "repository_owner") - @property @pulumi.getter(name="systemData") def system_data(self) -> 'outputs.SystemDataResponse': @@ -388,36 +251,23 @@ def __await__(self): if False: yield self return GetWorkflowResult( - acr=self.acr, - aks_resource_id=self.aks_resource_id, app_name=self.app_name, - auth_status=self.auth_status, - branch_name=self.branch_name, builder_version=self.builder_version, - deployment_properties=self.deployment_properties, - docker_build_context=self.docker_build_context, - dockerfile=self.dockerfile, dockerfile_generation_mode=self.dockerfile_generation_mode, dockerfile_output_directory=self.dockerfile_output_directory, generation_language=self.generation_language, + github_workflow_profile=self.github_workflow_profile, id=self.id, image_name=self.image_name, image_tag=self.image_tag, language_version=self.language_version, - last_workflow_run=self.last_workflow_run, location=self.location, manifest_generation_mode=self.manifest_generation_mode, manifest_output_directory=self.manifest_output_directory, manifest_type=self.manifest_type, name=self.name, namespace=self.namespace, - oidc_credentials=self.oidc_credentials, port=self.port, - pr_status=self.pr_status, - pr_url=self.pr_url, - pull_number=self.pull_number, - repository_name=self.repository_name, - repository_owner=self.repository_owner, system_data=self.system_data, tags=self.tags, type=self.type) @@ -443,36 +293,23 @@ def get_workflow(resource_group_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:devhub:getWorkflow', __args__, opts=opts, typ=GetWorkflowResult).value return AwaitableGetWorkflowResult( - acr=pulumi.get(__ret__, 'acr'), - aks_resource_id=pulumi.get(__ret__, 'aks_resource_id'), app_name=pulumi.get(__ret__, 'app_name'), - auth_status=pulumi.get(__ret__, 'auth_status'), - branch_name=pulumi.get(__ret__, 'branch_name'), builder_version=pulumi.get(__ret__, 'builder_version'), - deployment_properties=pulumi.get(__ret__, 'deployment_properties'), - docker_build_context=pulumi.get(__ret__, 'docker_build_context'), - dockerfile=pulumi.get(__ret__, 'dockerfile'), dockerfile_generation_mode=pulumi.get(__ret__, 'dockerfile_generation_mode'), dockerfile_output_directory=pulumi.get(__ret__, 'dockerfile_output_directory'), generation_language=pulumi.get(__ret__, 'generation_language'), + github_workflow_profile=pulumi.get(__ret__, 'github_workflow_profile'), id=pulumi.get(__ret__, 'id'), image_name=pulumi.get(__ret__, 'image_name'), image_tag=pulumi.get(__ret__, 'image_tag'), language_version=pulumi.get(__ret__, 'language_version'), - last_workflow_run=pulumi.get(__ret__, 'last_workflow_run'), location=pulumi.get(__ret__, 'location'), manifest_generation_mode=pulumi.get(__ret__, 'manifest_generation_mode'), manifest_output_directory=pulumi.get(__ret__, 'manifest_output_directory'), manifest_type=pulumi.get(__ret__, 'manifest_type'), name=pulumi.get(__ret__, 'name'), namespace=pulumi.get(__ret__, 'namespace'), - oidc_credentials=pulumi.get(__ret__, 'oidc_credentials'), port=pulumi.get(__ret__, 'port'), - pr_status=pulumi.get(__ret__, 'pr_status'), - pr_url=pulumi.get(__ret__, 'pr_url'), - pull_number=pulumi.get(__ret__, 'pull_number'), - repository_name=pulumi.get(__ret__, 'repository_name'), - repository_owner=pulumi.get(__ret__, 'repository_owner'), system_data=pulumi.get(__ret__, 'system_data'), tags=pulumi.get(__ret__, 'tags'), type=pulumi.get(__ret__, 'type')) diff --git a/sdk/python/pulumi_azure_native/devhub/outputs.py b/sdk/python/pulumi_azure_native/devhub/outputs.py index c2d9f8964332..590dbe6f9215 100644 --- a/sdk/python/pulumi_azure_native/devhub/outputs.py +++ b/sdk/python/pulumi_azure_native/devhub/outputs.py @@ -8,11 +8,13 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs from ._enums import * __all__ = [ 'ACRResponse', 'DeploymentPropertiesResponse', + 'GitHubWorkflowProfileResponse', 'GitHubWorkflowProfileResponseOidcCredentials', 'SystemDataResponse', 'WorkflowRunResponse', @@ -186,6 +188,224 @@ def overrides(self) -> Optional[Mapping[str, str]]: return pulumi.get(self, "overrides") +@pulumi.output_type +class GitHubWorkflowProfileResponse(dict): + """ + GitHub Workflow Profile + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authStatus": + suggest = "auth_status" + elif key == "prStatus": + suggest = "pr_status" + elif key == "prURL": + suggest = "pr_url" + elif key == "pullNumber": + suggest = "pull_number" + elif key == "aksResourceId": + suggest = "aks_resource_id" + elif key == "branchName": + suggest = "branch_name" + elif key == "deploymentProperties": + suggest = "deployment_properties" + elif key == "dockerBuildContext": + suggest = "docker_build_context" + elif key == "lastWorkflowRun": + suggest = "last_workflow_run" + elif key == "oidcCredentials": + suggest = "oidc_credentials" + elif key == "repositoryName": + suggest = "repository_name" + elif key == "repositoryOwner": + suggest = "repository_owner" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GitHubWorkflowProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GitHubWorkflowProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GitHubWorkflowProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auth_status: str, + pr_status: str, + pr_url: str, + pull_number: int, + acr: Optional['outputs.ACRResponse'] = None, + aks_resource_id: Optional[str] = None, + branch_name: Optional[str] = None, + deployment_properties: Optional['outputs.DeploymentPropertiesResponse'] = None, + docker_build_context: Optional[str] = None, + dockerfile: Optional[str] = None, + last_workflow_run: Optional['outputs.WorkflowRunResponse'] = None, + namespace: Optional[str] = None, + oidc_credentials: Optional['outputs.GitHubWorkflowProfileResponseOidcCredentials'] = None, + repository_name: Optional[str] = None, + repository_owner: Optional[str] = None): + """ + GitHub Workflow Profile + :param str auth_status: Determines the authorization status of requests. + :param str pr_status: The status of the Pull Request submitted against the users repository. + :param str pr_url: The URL to the Pull Request submitted against the users repository. + :param int pull_number: The number associated with the submitted pull request. + :param 'ACRResponse' acr: Information on the azure container registry + :param str aks_resource_id: The Azure Kubernetes Cluster Resource the application will be deployed to. + :param str branch_name: Repository Branch Name + :param str docker_build_context: Path to Dockerfile Build Context within the repository. + :param str dockerfile: Path to the Dockerfile within the repository. + :param str namespace: Kubernetes namespace the application is deployed to. + :param 'GitHubWorkflowProfileResponseOidcCredentials' oidc_credentials: The fields needed for OIDC with GitHub. + :param str repository_name: Repository Name + :param str repository_owner: Repository Owner + """ + pulumi.set(__self__, "auth_status", auth_status) + pulumi.set(__self__, "pr_status", pr_status) + pulumi.set(__self__, "pr_url", pr_url) + pulumi.set(__self__, "pull_number", pull_number) + if acr is not None: + pulumi.set(__self__, "acr", acr) + if aks_resource_id is not None: + pulumi.set(__self__, "aks_resource_id", aks_resource_id) + if branch_name is not None: + pulumi.set(__self__, "branch_name", branch_name) + if deployment_properties is not None: + pulumi.set(__self__, "deployment_properties", deployment_properties) + if docker_build_context is not None: + pulumi.set(__self__, "docker_build_context", docker_build_context) + if dockerfile is not None: + pulumi.set(__self__, "dockerfile", dockerfile) + if last_workflow_run is not None: + pulumi.set(__self__, "last_workflow_run", last_workflow_run) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if oidc_credentials is not None: + pulumi.set(__self__, "oidc_credentials", oidc_credentials) + if repository_name is not None: + pulumi.set(__self__, "repository_name", repository_name) + if repository_owner is not None: + pulumi.set(__self__, "repository_owner", repository_owner) + + @property + @pulumi.getter(name="authStatus") + def auth_status(self) -> str: + """ + Determines the authorization status of requests. + """ + return pulumi.get(self, "auth_status") + + @property + @pulumi.getter(name="prStatus") + def pr_status(self) -> str: + """ + The status of the Pull Request submitted against the users repository. + """ + return pulumi.get(self, "pr_status") + + @property + @pulumi.getter(name="prURL") + def pr_url(self) -> str: + """ + The URL to the Pull Request submitted against the users repository. + """ + return pulumi.get(self, "pr_url") + + @property + @pulumi.getter(name="pullNumber") + def pull_number(self) -> int: + """ + The number associated with the submitted pull request. + """ + return pulumi.get(self, "pull_number") + + @property + @pulumi.getter + def acr(self) -> Optional['outputs.ACRResponse']: + """ + Information on the azure container registry + """ + return pulumi.get(self, "acr") + + @property + @pulumi.getter(name="aksResourceId") + def aks_resource_id(self) -> Optional[str]: + """ + The Azure Kubernetes Cluster Resource the application will be deployed to. + """ + return pulumi.get(self, "aks_resource_id") + + @property + @pulumi.getter(name="branchName") + def branch_name(self) -> Optional[str]: + """ + Repository Branch Name + """ + return pulumi.get(self, "branch_name") + + @property + @pulumi.getter(name="deploymentProperties") + def deployment_properties(self) -> Optional['outputs.DeploymentPropertiesResponse']: + return pulumi.get(self, "deployment_properties") + + @property + @pulumi.getter(name="dockerBuildContext") + def docker_build_context(self) -> Optional[str]: + """ + Path to Dockerfile Build Context within the repository. + """ + return pulumi.get(self, "docker_build_context") + + @property + @pulumi.getter + def dockerfile(self) -> Optional[str]: + """ + Path to the Dockerfile within the repository. + """ + return pulumi.get(self, "dockerfile") + + @property + @pulumi.getter(name="lastWorkflowRun") + def last_workflow_run(self) -> Optional['outputs.WorkflowRunResponse']: + return pulumi.get(self, "last_workflow_run") + + @property + @pulumi.getter + def namespace(self) -> Optional[str]: + """ + Kubernetes namespace the application is deployed to. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter(name="oidcCredentials") + def oidc_credentials(self) -> Optional['outputs.GitHubWorkflowProfileResponseOidcCredentials']: + """ + The fields needed for OIDC with GitHub. + """ + return pulumi.get(self, "oidc_credentials") + + @property + @pulumi.getter(name="repositoryName") + def repository_name(self) -> Optional[str]: + """ + Repository Name + """ + return pulumi.get(self, "repository_name") + + @property + @pulumi.getter(name="repositoryOwner") + def repository_owner(self) -> Optional[str]: + """ + Repository Owner + """ + return pulumi.get(self, "repository_owner") + + @pulumi.output_type class GitHubWorkflowProfileResponseOidcCredentials(dict): """ diff --git a/sdk/python/pulumi_azure_native/devhub/v20221011preview/_inputs.py b/sdk/python/pulumi_azure_native/devhub/v20221011preview/_inputs.py index 6d275a53bc41..4f76545e07f9 100644 --- a/sdk/python/pulumi_azure_native/devhub/v20221011preview/_inputs.py +++ b/sdk/python/pulumi_azure_native/devhub/v20221011preview/_inputs.py @@ -14,6 +14,7 @@ 'ACRArgs', 'DeploymentPropertiesArgs', 'GitHubWorkflowProfileOidcCredentialsArgs', + 'GitHubWorkflowProfileArgs', 'WorkflowRunArgs', ] @@ -212,6 +213,182 @@ def azure_tenant_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "azure_tenant_id", value) +@pulumi.input_type +class GitHubWorkflowProfileArgs: + def __init__(__self__, *, + acr: Optional[pulumi.Input['ACRArgs']] = None, + aks_resource_id: Optional[pulumi.Input[str]] = None, + branch_name: Optional[pulumi.Input[str]] = None, + deployment_properties: Optional[pulumi.Input['DeploymentPropertiesArgs']] = None, + docker_build_context: Optional[pulumi.Input[str]] = None, + dockerfile: Optional[pulumi.Input[str]] = None, + last_workflow_run: Optional[pulumi.Input['WorkflowRunArgs']] = None, + namespace: Optional[pulumi.Input[str]] = None, + oidc_credentials: Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']] = None, + repository_name: Optional[pulumi.Input[str]] = None, + repository_owner: Optional[pulumi.Input[str]] = None): + """ + GitHub Workflow Profile + :param pulumi.Input['ACRArgs'] acr: Information on the azure container registry + :param pulumi.Input[str] aks_resource_id: The Azure Kubernetes Cluster Resource the application will be deployed to. + :param pulumi.Input[str] branch_name: Repository Branch Name + :param pulumi.Input[str] docker_build_context: Path to Dockerfile Build Context within the repository. + :param pulumi.Input[str] dockerfile: Path to the Dockerfile within the repository. + :param pulumi.Input[str] namespace: Kubernetes namespace the application is deployed to. + :param pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs'] oidc_credentials: The fields needed for OIDC with GitHub. + :param pulumi.Input[str] repository_name: Repository Name + :param pulumi.Input[str] repository_owner: Repository Owner + """ + if acr is not None: + pulumi.set(__self__, "acr", acr) + if aks_resource_id is not None: + pulumi.set(__self__, "aks_resource_id", aks_resource_id) + if branch_name is not None: + pulumi.set(__self__, "branch_name", branch_name) + if deployment_properties is not None: + pulumi.set(__self__, "deployment_properties", deployment_properties) + if docker_build_context is not None: + pulumi.set(__self__, "docker_build_context", docker_build_context) + if dockerfile is not None: + pulumi.set(__self__, "dockerfile", dockerfile) + if last_workflow_run is not None: + pulumi.set(__self__, "last_workflow_run", last_workflow_run) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if oidc_credentials is not None: + pulumi.set(__self__, "oidc_credentials", oidc_credentials) + if repository_name is not None: + pulumi.set(__self__, "repository_name", repository_name) + if repository_owner is not None: + pulumi.set(__self__, "repository_owner", repository_owner) + + @property + @pulumi.getter + def acr(self) -> Optional[pulumi.Input['ACRArgs']]: + """ + Information on the azure container registry + """ + return pulumi.get(self, "acr") + + @acr.setter + def acr(self, value: Optional[pulumi.Input['ACRArgs']]): + pulumi.set(self, "acr", value) + + @property + @pulumi.getter(name="aksResourceId") + def aks_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + The Azure Kubernetes Cluster Resource the application will be deployed to. + """ + return pulumi.get(self, "aks_resource_id") + + @aks_resource_id.setter + def aks_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aks_resource_id", value) + + @property + @pulumi.getter(name="branchName") + def branch_name(self) -> Optional[pulumi.Input[str]]: + """ + Repository Branch Name + """ + return pulumi.get(self, "branch_name") + + @branch_name.setter + def branch_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "branch_name", value) + + @property + @pulumi.getter(name="deploymentProperties") + def deployment_properties(self) -> Optional[pulumi.Input['DeploymentPropertiesArgs']]: + return pulumi.get(self, "deployment_properties") + + @deployment_properties.setter + def deployment_properties(self, value: Optional[pulumi.Input['DeploymentPropertiesArgs']]): + pulumi.set(self, "deployment_properties", value) + + @property + @pulumi.getter(name="dockerBuildContext") + def docker_build_context(self) -> Optional[pulumi.Input[str]]: + """ + Path to Dockerfile Build Context within the repository. + """ + return pulumi.get(self, "docker_build_context") + + @docker_build_context.setter + def docker_build_context(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "docker_build_context", value) + + @property + @pulumi.getter + def dockerfile(self) -> Optional[pulumi.Input[str]]: + """ + Path to the Dockerfile within the repository. + """ + return pulumi.get(self, "dockerfile") + + @dockerfile.setter + def dockerfile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dockerfile", value) + + @property + @pulumi.getter(name="lastWorkflowRun") + def last_workflow_run(self) -> Optional[pulumi.Input['WorkflowRunArgs']]: + return pulumi.get(self, "last_workflow_run") + + @last_workflow_run.setter + def last_workflow_run(self, value: Optional[pulumi.Input['WorkflowRunArgs']]): + pulumi.set(self, "last_workflow_run", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + Kubernetes namespace the application is deployed to. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="oidcCredentials") + def oidc_credentials(self) -> Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']]: + """ + The fields needed for OIDC with GitHub. + """ + return pulumi.get(self, "oidc_credentials") + + @oidc_credentials.setter + def oidc_credentials(self, value: Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']]): + pulumi.set(self, "oidc_credentials", value) + + @property + @pulumi.getter(name="repositoryName") + def repository_name(self) -> Optional[pulumi.Input[str]]: + """ + Repository Name + """ + return pulumi.get(self, "repository_name") + + @repository_name.setter + def repository_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "repository_name", value) + + @property + @pulumi.getter(name="repositoryOwner") + def repository_owner(self) -> Optional[pulumi.Input[str]]: + """ + Repository Owner + """ + return pulumi.get(self, "repository_owner") + + @repository_owner.setter + def repository_owner(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "repository_owner", value) + + @pulumi.input_type class WorkflowRunArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/devhub/v20221011preview/get_workflow.py b/sdk/python/pulumi_azure_native/devhub/v20221011preview/get_workflow.py index a5e3a596450d..ed0549e50ab4 100644 --- a/sdk/python/pulumi_azure_native/devhub/v20221011preview/get_workflow.py +++ b/sdk/python/pulumi_azure_native/devhub/v20221011preview/get_workflow.py @@ -22,34 +22,13 @@ class GetWorkflowResult: """ Resource representation of a workflow """ - def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_status=None, branch_name=None, builder_version=None, deployment_properties=None, docker_build_context=None, dockerfile=None, dockerfile_generation_mode=None, dockerfile_output_directory=None, generation_language=None, id=None, image_name=None, image_tag=None, language_version=None, last_workflow_run=None, location=None, manifest_generation_mode=None, manifest_output_directory=None, manifest_type=None, name=None, namespace=None, oidc_credentials=None, port=None, pr_status=None, pr_url=None, pull_number=None, repository_name=None, repository_owner=None, system_data=None, tags=None, type=None): - if acr and not isinstance(acr, dict): - raise TypeError("Expected argument 'acr' to be a dict") - pulumi.set(__self__, "acr", acr) - if aks_resource_id and not isinstance(aks_resource_id, str): - raise TypeError("Expected argument 'aks_resource_id' to be a str") - pulumi.set(__self__, "aks_resource_id", aks_resource_id) + def __init__(__self__, app_name=None, builder_version=None, dockerfile_generation_mode=None, dockerfile_output_directory=None, generation_language=None, github_workflow_profile=None, id=None, image_name=None, image_tag=None, language_version=None, location=None, manifest_generation_mode=None, manifest_output_directory=None, manifest_type=None, name=None, namespace=None, port=None, system_data=None, tags=None, type=None): if app_name and not isinstance(app_name, str): raise TypeError("Expected argument 'app_name' to be a str") pulumi.set(__self__, "app_name", app_name) - if auth_status and not isinstance(auth_status, str): - raise TypeError("Expected argument 'auth_status' to be a str") - pulumi.set(__self__, "auth_status", auth_status) - if branch_name and not isinstance(branch_name, str): - raise TypeError("Expected argument 'branch_name' to be a str") - pulumi.set(__self__, "branch_name", branch_name) if builder_version and not isinstance(builder_version, str): raise TypeError("Expected argument 'builder_version' to be a str") pulumi.set(__self__, "builder_version", builder_version) - if deployment_properties and not isinstance(deployment_properties, dict): - raise TypeError("Expected argument 'deployment_properties' to be a dict") - pulumi.set(__self__, "deployment_properties", deployment_properties) - if docker_build_context and not isinstance(docker_build_context, str): - raise TypeError("Expected argument 'docker_build_context' to be a str") - pulumi.set(__self__, "docker_build_context", docker_build_context) - if dockerfile and not isinstance(dockerfile, str): - raise TypeError("Expected argument 'dockerfile' to be a str") - pulumi.set(__self__, "dockerfile", dockerfile) if dockerfile_generation_mode and not isinstance(dockerfile_generation_mode, str): raise TypeError("Expected argument 'dockerfile_generation_mode' to be a str") pulumi.set(__self__, "dockerfile_generation_mode", dockerfile_generation_mode) @@ -59,6 +38,9 @@ def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_statu if generation_language and not isinstance(generation_language, str): raise TypeError("Expected argument 'generation_language' to be a str") pulumi.set(__self__, "generation_language", generation_language) + if github_workflow_profile and not isinstance(github_workflow_profile, dict): + raise TypeError("Expected argument 'github_workflow_profile' to be a dict") + pulumi.set(__self__, "github_workflow_profile", github_workflow_profile) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -71,9 +53,6 @@ def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_statu if language_version and not isinstance(language_version, str): raise TypeError("Expected argument 'language_version' to be a str") pulumi.set(__self__, "language_version", language_version) - if last_workflow_run and not isinstance(last_workflow_run, dict): - raise TypeError("Expected argument 'last_workflow_run' to be a dict") - pulumi.set(__self__, "last_workflow_run", last_workflow_run) if location and not isinstance(location, str): raise TypeError("Expected argument 'location' to be a str") pulumi.set(__self__, "location", location) @@ -92,27 +71,9 @@ def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_statu if namespace and not isinstance(namespace, str): raise TypeError("Expected argument 'namespace' to be a str") pulumi.set(__self__, "namespace", namespace) - if oidc_credentials and not isinstance(oidc_credentials, dict): - raise TypeError("Expected argument 'oidc_credentials' to be a dict") - pulumi.set(__self__, "oidc_credentials", oidc_credentials) if port and not isinstance(port, str): raise TypeError("Expected argument 'port' to be a str") pulumi.set(__self__, "port", port) - if pr_status and not isinstance(pr_status, str): - raise TypeError("Expected argument 'pr_status' to be a str") - pulumi.set(__self__, "pr_status", pr_status) - if pr_url and not isinstance(pr_url, str): - raise TypeError("Expected argument 'pr_url' to be a str") - pulumi.set(__self__, "pr_url", pr_url) - if pull_number and not isinstance(pull_number, int): - raise TypeError("Expected argument 'pull_number' to be a int") - pulumi.set(__self__, "pull_number", pull_number) - if repository_name and not isinstance(repository_name, str): - raise TypeError("Expected argument 'repository_name' to be a str") - pulumi.set(__self__, "repository_name", repository_name) - if repository_owner and not isinstance(repository_owner, str): - raise TypeError("Expected argument 'repository_owner' to be a str") - pulumi.set(__self__, "repository_owner", repository_owner) 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) @@ -123,22 +84,6 @@ def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_statu raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) - @property - @pulumi.getter - def acr(self) -> Optional['outputs.ACRResponse']: - """ - Information on the azure container registry - """ - return pulumi.get(self, "acr") - - @property - @pulumi.getter(name="aksResourceId") - def aks_resource_id(self) -> Optional[str]: - """ - The Azure Kubernetes Cluster Resource the application will be deployed to. - """ - return pulumi.get(self, "aks_resource_id") - @property @pulumi.getter(name="appName") def app_name(self) -> Optional[str]: @@ -147,22 +92,6 @@ def app_name(self) -> Optional[str]: """ return pulumi.get(self, "app_name") - @property - @pulumi.getter(name="authStatus") - def auth_status(self) -> str: - """ - Determines the authorization status of requests. - """ - return pulumi.get(self, "auth_status") - - @property - @pulumi.getter(name="branchName") - def branch_name(self) -> Optional[str]: - """ - Repository Branch Name - """ - return pulumi.get(self, "branch_name") - @property @pulumi.getter(name="builderVersion") def builder_version(self) -> Optional[str]: @@ -171,27 +100,6 @@ def builder_version(self) -> Optional[str]: """ return pulumi.get(self, "builder_version") - @property - @pulumi.getter(name="deploymentProperties") - def deployment_properties(self) -> Optional['outputs.DeploymentPropertiesResponse']: - return pulumi.get(self, "deployment_properties") - - @property - @pulumi.getter(name="dockerBuildContext") - def docker_build_context(self) -> Optional[str]: - """ - Path to Dockerfile Build Context within the repository. - """ - return pulumi.get(self, "docker_build_context") - - @property - @pulumi.getter - def dockerfile(self) -> Optional[str]: - """ - Path to the Dockerfile within the repository. - """ - return pulumi.get(self, "dockerfile") - @property @pulumi.getter(name="dockerfileGenerationMode") def dockerfile_generation_mode(self) -> Optional[str]: @@ -216,6 +124,14 @@ def generation_language(self) -> Optional[str]: """ return pulumi.get(self, "generation_language") + @property + @pulumi.getter(name="githubWorkflowProfile") + def github_workflow_profile(self) -> Optional['outputs.GitHubWorkflowProfileResponse']: + """ + Profile of a github workflow. + """ + return pulumi.get(self, "github_workflow_profile") + @property @pulumi.getter def id(self) -> str: @@ -248,11 +164,6 @@ def language_version(self) -> Optional[str]: """ return pulumi.get(self, "language_version") - @property - @pulumi.getter(name="lastWorkflowRun") - def last_workflow_run(self) -> Optional['outputs.WorkflowRunResponse']: - return pulumi.get(self, "last_workflow_run") - @property @pulumi.getter def location(self) -> str: @@ -297,18 +208,10 @@ def name(self) -> str: @pulumi.getter def namespace(self) -> Optional[str]: """ - Kubernetes namespace the application is deployed to. + The namespace to deploy the application to. """ return pulumi.get(self, "namespace") - @property - @pulumi.getter(name="oidcCredentials") - def oidc_credentials(self) -> Optional['outputs.GitHubWorkflowProfileResponseOidcCredentials']: - """ - The fields needed for OIDC with GitHub. - """ - return pulumi.get(self, "oidc_credentials") - @property @pulumi.getter def port(self) -> Optional[str]: @@ -317,46 +220,6 @@ def port(self) -> Optional[str]: """ return pulumi.get(self, "port") - @property - @pulumi.getter(name="prStatus") - def pr_status(self) -> str: - """ - The status of the Pull Request submitted against the users repository. - """ - return pulumi.get(self, "pr_status") - - @property - @pulumi.getter(name="prURL") - def pr_url(self) -> str: - """ - The URL to the Pull Request submitted against the users repository. - """ - return pulumi.get(self, "pr_url") - - @property - @pulumi.getter(name="pullNumber") - def pull_number(self) -> int: - """ - The number associated with the submitted pull request. - """ - return pulumi.get(self, "pull_number") - - @property - @pulumi.getter(name="repositoryName") - def repository_name(self) -> Optional[str]: - """ - Repository Name - """ - return pulumi.get(self, "repository_name") - - @property - @pulumi.getter(name="repositoryOwner") - def repository_owner(self) -> Optional[str]: - """ - Repository Owner - """ - return pulumi.get(self, "repository_owner") - @property @pulumi.getter(name="systemData") def system_data(self) -> 'outputs.SystemDataResponse': @@ -388,36 +251,23 @@ def __await__(self): if False: yield self return GetWorkflowResult( - acr=self.acr, - aks_resource_id=self.aks_resource_id, app_name=self.app_name, - auth_status=self.auth_status, - branch_name=self.branch_name, builder_version=self.builder_version, - deployment_properties=self.deployment_properties, - docker_build_context=self.docker_build_context, - dockerfile=self.dockerfile, dockerfile_generation_mode=self.dockerfile_generation_mode, dockerfile_output_directory=self.dockerfile_output_directory, generation_language=self.generation_language, + github_workflow_profile=self.github_workflow_profile, id=self.id, image_name=self.image_name, image_tag=self.image_tag, language_version=self.language_version, - last_workflow_run=self.last_workflow_run, location=self.location, manifest_generation_mode=self.manifest_generation_mode, manifest_output_directory=self.manifest_output_directory, manifest_type=self.manifest_type, name=self.name, namespace=self.namespace, - oidc_credentials=self.oidc_credentials, port=self.port, - pr_status=self.pr_status, - pr_url=self.pr_url, - pull_number=self.pull_number, - repository_name=self.repository_name, - repository_owner=self.repository_owner, system_data=self.system_data, tags=self.tags, type=self.type) @@ -440,36 +290,23 @@ def get_workflow(resource_group_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:devhub/v20221011preview:getWorkflow', __args__, opts=opts, typ=GetWorkflowResult).value return AwaitableGetWorkflowResult( - acr=pulumi.get(__ret__, 'acr'), - aks_resource_id=pulumi.get(__ret__, 'aks_resource_id'), app_name=pulumi.get(__ret__, 'app_name'), - auth_status=pulumi.get(__ret__, 'auth_status'), - branch_name=pulumi.get(__ret__, 'branch_name'), builder_version=pulumi.get(__ret__, 'builder_version'), - deployment_properties=pulumi.get(__ret__, 'deployment_properties'), - docker_build_context=pulumi.get(__ret__, 'docker_build_context'), - dockerfile=pulumi.get(__ret__, 'dockerfile'), dockerfile_generation_mode=pulumi.get(__ret__, 'dockerfile_generation_mode'), dockerfile_output_directory=pulumi.get(__ret__, 'dockerfile_output_directory'), generation_language=pulumi.get(__ret__, 'generation_language'), + github_workflow_profile=pulumi.get(__ret__, 'github_workflow_profile'), id=pulumi.get(__ret__, 'id'), image_name=pulumi.get(__ret__, 'image_name'), image_tag=pulumi.get(__ret__, 'image_tag'), language_version=pulumi.get(__ret__, 'language_version'), - last_workflow_run=pulumi.get(__ret__, 'last_workflow_run'), location=pulumi.get(__ret__, 'location'), manifest_generation_mode=pulumi.get(__ret__, 'manifest_generation_mode'), manifest_output_directory=pulumi.get(__ret__, 'manifest_output_directory'), manifest_type=pulumi.get(__ret__, 'manifest_type'), name=pulumi.get(__ret__, 'name'), namespace=pulumi.get(__ret__, 'namespace'), - oidc_credentials=pulumi.get(__ret__, 'oidc_credentials'), port=pulumi.get(__ret__, 'port'), - pr_status=pulumi.get(__ret__, 'pr_status'), - pr_url=pulumi.get(__ret__, 'pr_url'), - pull_number=pulumi.get(__ret__, 'pull_number'), - repository_name=pulumi.get(__ret__, 'repository_name'), - repository_owner=pulumi.get(__ret__, 'repository_owner'), system_data=pulumi.get(__ret__, 'system_data'), tags=pulumi.get(__ret__, 'tags'), type=pulumi.get(__ret__, 'type')) diff --git a/sdk/python/pulumi_azure_native/devhub/v20221011preview/outputs.py b/sdk/python/pulumi_azure_native/devhub/v20221011preview/outputs.py index f14292c295f9..317eae72e25d 100644 --- a/sdk/python/pulumi_azure_native/devhub/v20221011preview/outputs.py +++ b/sdk/python/pulumi_azure_native/devhub/v20221011preview/outputs.py @@ -8,11 +8,13 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs from ._enums import * __all__ = [ 'ACRResponse', 'DeploymentPropertiesResponse', + 'GitHubWorkflowProfileResponse', 'GitHubWorkflowProfileResponseOidcCredentials', 'SystemDataResponse', 'WorkflowRunResponse', @@ -186,6 +188,224 @@ def overrides(self) -> Optional[Mapping[str, str]]: return pulumi.get(self, "overrides") +@pulumi.output_type +class GitHubWorkflowProfileResponse(dict): + """ + GitHub Workflow Profile + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authStatus": + suggest = "auth_status" + elif key == "prStatus": + suggest = "pr_status" + elif key == "prURL": + suggest = "pr_url" + elif key == "pullNumber": + suggest = "pull_number" + elif key == "aksResourceId": + suggest = "aks_resource_id" + elif key == "branchName": + suggest = "branch_name" + elif key == "deploymentProperties": + suggest = "deployment_properties" + elif key == "dockerBuildContext": + suggest = "docker_build_context" + elif key == "lastWorkflowRun": + suggest = "last_workflow_run" + elif key == "oidcCredentials": + suggest = "oidc_credentials" + elif key == "repositoryName": + suggest = "repository_name" + elif key == "repositoryOwner": + suggest = "repository_owner" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GitHubWorkflowProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GitHubWorkflowProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GitHubWorkflowProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auth_status: str, + pr_status: str, + pr_url: str, + pull_number: int, + acr: Optional['outputs.ACRResponse'] = None, + aks_resource_id: Optional[str] = None, + branch_name: Optional[str] = None, + deployment_properties: Optional['outputs.DeploymentPropertiesResponse'] = None, + docker_build_context: Optional[str] = None, + dockerfile: Optional[str] = None, + last_workflow_run: Optional['outputs.WorkflowRunResponse'] = None, + namespace: Optional[str] = None, + oidc_credentials: Optional['outputs.GitHubWorkflowProfileResponseOidcCredentials'] = None, + repository_name: Optional[str] = None, + repository_owner: Optional[str] = None): + """ + GitHub Workflow Profile + :param str auth_status: Determines the authorization status of requests. + :param str pr_status: The status of the Pull Request submitted against the users repository. + :param str pr_url: The URL to the Pull Request submitted against the users repository. + :param int pull_number: The number associated with the submitted pull request. + :param 'ACRResponse' acr: Information on the azure container registry + :param str aks_resource_id: The Azure Kubernetes Cluster Resource the application will be deployed to. + :param str branch_name: Repository Branch Name + :param str docker_build_context: Path to Dockerfile Build Context within the repository. + :param str dockerfile: Path to the Dockerfile within the repository. + :param str namespace: Kubernetes namespace the application is deployed to. + :param 'GitHubWorkflowProfileResponseOidcCredentials' oidc_credentials: The fields needed for OIDC with GitHub. + :param str repository_name: Repository Name + :param str repository_owner: Repository Owner + """ + pulumi.set(__self__, "auth_status", auth_status) + pulumi.set(__self__, "pr_status", pr_status) + pulumi.set(__self__, "pr_url", pr_url) + pulumi.set(__self__, "pull_number", pull_number) + if acr is not None: + pulumi.set(__self__, "acr", acr) + if aks_resource_id is not None: + pulumi.set(__self__, "aks_resource_id", aks_resource_id) + if branch_name is not None: + pulumi.set(__self__, "branch_name", branch_name) + if deployment_properties is not None: + pulumi.set(__self__, "deployment_properties", deployment_properties) + if docker_build_context is not None: + pulumi.set(__self__, "docker_build_context", docker_build_context) + if dockerfile is not None: + pulumi.set(__self__, "dockerfile", dockerfile) + if last_workflow_run is not None: + pulumi.set(__self__, "last_workflow_run", last_workflow_run) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if oidc_credentials is not None: + pulumi.set(__self__, "oidc_credentials", oidc_credentials) + if repository_name is not None: + pulumi.set(__self__, "repository_name", repository_name) + if repository_owner is not None: + pulumi.set(__self__, "repository_owner", repository_owner) + + @property + @pulumi.getter(name="authStatus") + def auth_status(self) -> str: + """ + Determines the authorization status of requests. + """ + return pulumi.get(self, "auth_status") + + @property + @pulumi.getter(name="prStatus") + def pr_status(self) -> str: + """ + The status of the Pull Request submitted against the users repository. + """ + return pulumi.get(self, "pr_status") + + @property + @pulumi.getter(name="prURL") + def pr_url(self) -> str: + """ + The URL to the Pull Request submitted against the users repository. + """ + return pulumi.get(self, "pr_url") + + @property + @pulumi.getter(name="pullNumber") + def pull_number(self) -> int: + """ + The number associated with the submitted pull request. + """ + return pulumi.get(self, "pull_number") + + @property + @pulumi.getter + def acr(self) -> Optional['outputs.ACRResponse']: + """ + Information on the azure container registry + """ + return pulumi.get(self, "acr") + + @property + @pulumi.getter(name="aksResourceId") + def aks_resource_id(self) -> Optional[str]: + """ + The Azure Kubernetes Cluster Resource the application will be deployed to. + """ + return pulumi.get(self, "aks_resource_id") + + @property + @pulumi.getter(name="branchName") + def branch_name(self) -> Optional[str]: + """ + Repository Branch Name + """ + return pulumi.get(self, "branch_name") + + @property + @pulumi.getter(name="deploymentProperties") + def deployment_properties(self) -> Optional['outputs.DeploymentPropertiesResponse']: + return pulumi.get(self, "deployment_properties") + + @property + @pulumi.getter(name="dockerBuildContext") + def docker_build_context(self) -> Optional[str]: + """ + Path to Dockerfile Build Context within the repository. + """ + return pulumi.get(self, "docker_build_context") + + @property + @pulumi.getter + def dockerfile(self) -> Optional[str]: + """ + Path to the Dockerfile within the repository. + """ + return pulumi.get(self, "dockerfile") + + @property + @pulumi.getter(name="lastWorkflowRun") + def last_workflow_run(self) -> Optional['outputs.WorkflowRunResponse']: + return pulumi.get(self, "last_workflow_run") + + @property + @pulumi.getter + def namespace(self) -> Optional[str]: + """ + Kubernetes namespace the application is deployed to. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter(name="oidcCredentials") + def oidc_credentials(self) -> Optional['outputs.GitHubWorkflowProfileResponseOidcCredentials']: + """ + The fields needed for OIDC with GitHub. + """ + return pulumi.get(self, "oidc_credentials") + + @property + @pulumi.getter(name="repositoryName") + def repository_name(self) -> Optional[str]: + """ + Repository Name + """ + return pulumi.get(self, "repository_name") + + @property + @pulumi.getter(name="repositoryOwner") + def repository_owner(self) -> Optional[str]: + """ + Repository Owner + """ + return pulumi.get(self, "repository_owner") + + @pulumi.output_type class GitHubWorkflowProfileResponseOidcCredentials(dict): """ diff --git a/sdk/python/pulumi_azure_native/devhub/v20221011preview/workflow.py b/sdk/python/pulumi_azure_native/devhub/v20221011preview/workflow.py index 741179034999..ec57f67be9de 100644 --- a/sdk/python/pulumi_azure_native/devhub/v20221011preview/workflow.py +++ b/sdk/python/pulumi_azure_native/devhub/v20221011preview/workflow.py @@ -18,45 +18,32 @@ class WorkflowArgs: def __init__(__self__, *, resource_group_name: pulumi.Input[str], - acr: Optional[pulumi.Input['ACRArgs']] = None, - aks_resource_id: Optional[pulumi.Input[str]] = None, app_name: Optional[pulumi.Input[str]] = None, - branch_name: Optional[pulumi.Input[str]] = None, builder_version: Optional[pulumi.Input[str]] = None, - deployment_properties: Optional[pulumi.Input['DeploymentPropertiesArgs']] = None, - docker_build_context: Optional[pulumi.Input[str]] = None, - dockerfile: Optional[pulumi.Input[str]] = None, dockerfile_generation_mode: Optional[pulumi.Input[Union[str, 'DockerfileGenerationMode']]] = None, dockerfile_output_directory: Optional[pulumi.Input[str]] = None, generation_language: Optional[pulumi.Input[Union[str, 'GenerationLanguage']]] = None, + github_workflow_profile: Optional[pulumi.Input['GitHubWorkflowProfileArgs']] = None, image_name: Optional[pulumi.Input[str]] = None, image_tag: Optional[pulumi.Input[str]] = None, language_version: Optional[pulumi.Input[str]] = None, - last_workflow_run: Optional[pulumi.Input['WorkflowRunArgs']] = None, location: Optional[pulumi.Input[str]] = None, manifest_generation_mode: Optional[pulumi.Input[Union[str, 'ManifestGenerationMode']]] = None, manifest_output_directory: Optional[pulumi.Input[str]] = None, manifest_type: Optional[pulumi.Input[Union[str, 'GenerationManifestType']]] = None, namespace: Optional[pulumi.Input[str]] = None, - oidc_credentials: Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']] = None, port: Optional[pulumi.Input[str]] = None, - repository_name: Optional[pulumi.Input[str]] = None, - repository_owner: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, workflow_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Workflow resource. :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input['ACRArgs'] acr: Information on the azure container registry - :param pulumi.Input[str] aks_resource_id: The Azure Kubernetes Cluster Resource the application will be deployed to. :param pulumi.Input[str] app_name: The name of the app. - :param pulumi.Input[str] branch_name: Repository Branch Name :param pulumi.Input[str] builder_version: The version of the language image used for building the code in the generated dockerfile. - :param pulumi.Input[str] docker_build_context: Path to Dockerfile Build Context within the repository. - :param pulumi.Input[str] dockerfile: Path to the Dockerfile within the repository. :param pulumi.Input[Union[str, 'DockerfileGenerationMode']] dockerfile_generation_mode: The mode of generation to be used for generating Dockerfiles. :param pulumi.Input[str] dockerfile_output_directory: The directory to output the generated Dockerfile to. :param pulumi.Input[Union[str, 'GenerationLanguage']] generation_language: The programming language used. + :param pulumi.Input['GitHubWorkflowProfileArgs'] github_workflow_profile: Profile of a github workflow. :param pulumi.Input[str] image_name: The name of the image to be generated. :param pulumi.Input[str] image_tag: The tag to apply to the generated image. :param pulumi.Input[str] language_version: The version of the language image used for execution in the generated dockerfile. @@ -64,45 +51,30 @@ def __init__(__self__, *, :param pulumi.Input[Union[str, 'ManifestGenerationMode']] manifest_generation_mode: The mode of generation to be used for generating Manifest. :param pulumi.Input[str] manifest_output_directory: The directory to output the generated manifests to. :param pulumi.Input[Union[str, 'GenerationManifestType']] manifest_type: Determines the type of manifests to be generated. - :param pulumi.Input[str] namespace: Kubernetes namespace the application is deployed to. - :param pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs'] oidc_credentials: The fields needed for OIDC with GitHub. + :param pulumi.Input[str] namespace: The namespace to deploy the application to. :param pulumi.Input[str] port: The port the application is exposed on. - :param pulumi.Input[str] repository_name: Repository Name - :param pulumi.Input[str] repository_owner: Repository Owner :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. :param pulumi.Input[str] workflow_name: The name of the workflow resource. """ pulumi.set(__self__, "resource_group_name", resource_group_name) - if acr is not None: - pulumi.set(__self__, "acr", acr) - if aks_resource_id is not None: - pulumi.set(__self__, "aks_resource_id", aks_resource_id) if app_name is not None: pulumi.set(__self__, "app_name", app_name) - if branch_name is not None: - pulumi.set(__self__, "branch_name", branch_name) if builder_version is not None: pulumi.set(__self__, "builder_version", builder_version) - if deployment_properties is not None: - pulumi.set(__self__, "deployment_properties", deployment_properties) - if docker_build_context is not None: - pulumi.set(__self__, "docker_build_context", docker_build_context) - if dockerfile is not None: - pulumi.set(__self__, "dockerfile", dockerfile) if dockerfile_generation_mode is not None: pulumi.set(__self__, "dockerfile_generation_mode", dockerfile_generation_mode) if dockerfile_output_directory is not None: pulumi.set(__self__, "dockerfile_output_directory", dockerfile_output_directory) if generation_language is not None: pulumi.set(__self__, "generation_language", generation_language) + if github_workflow_profile is not None: + pulumi.set(__self__, "github_workflow_profile", github_workflow_profile) if image_name is not None: pulumi.set(__self__, "image_name", image_name) if image_tag is not None: pulumi.set(__self__, "image_tag", image_tag) if language_version is not None: pulumi.set(__self__, "language_version", language_version) - if last_workflow_run is not None: - pulumi.set(__self__, "last_workflow_run", last_workflow_run) if location is not None: pulumi.set(__self__, "location", location) if manifest_generation_mode is not None: @@ -113,14 +85,8 @@ def __init__(__self__, *, pulumi.set(__self__, "manifest_type", manifest_type) if namespace is not None: pulumi.set(__self__, "namespace", namespace) - if oidc_credentials is not None: - pulumi.set(__self__, "oidc_credentials", oidc_credentials) if port is not None: pulumi.set(__self__, "port", port) - if repository_name is not None: - pulumi.set(__self__, "repository_name", repository_name) - if repository_owner is not None: - pulumi.set(__self__, "repository_owner", repository_owner) if tags is not None: pulumi.set(__self__, "tags", tags) if workflow_name is not None: @@ -138,30 +104,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter - def acr(self) -> Optional[pulumi.Input['ACRArgs']]: - """ - Information on the azure container registry - """ - return pulumi.get(self, "acr") - - @acr.setter - def acr(self, value: Optional[pulumi.Input['ACRArgs']]): - pulumi.set(self, "acr", value) - - @property - @pulumi.getter(name="aksResourceId") - def aks_resource_id(self) -> Optional[pulumi.Input[str]]: - """ - The Azure Kubernetes Cluster Resource the application will be deployed to. - """ - return pulumi.get(self, "aks_resource_id") - - @aks_resource_id.setter - def aks_resource_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "aks_resource_id", value) - @property @pulumi.getter(name="appName") def app_name(self) -> Optional[pulumi.Input[str]]: @@ -174,18 +116,6 @@ def app_name(self) -> Optional[pulumi.Input[str]]: def app_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "app_name", value) - @property - @pulumi.getter(name="branchName") - def branch_name(self) -> Optional[pulumi.Input[str]]: - """ - Repository Branch Name - """ - return pulumi.get(self, "branch_name") - - @branch_name.setter - def branch_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "branch_name", value) - @property @pulumi.getter(name="builderVersion") def builder_version(self) -> Optional[pulumi.Input[str]]: @@ -198,39 +128,6 @@ def builder_version(self) -> Optional[pulumi.Input[str]]: def builder_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "builder_version", value) - @property - @pulumi.getter(name="deploymentProperties") - def deployment_properties(self) -> Optional[pulumi.Input['DeploymentPropertiesArgs']]: - return pulumi.get(self, "deployment_properties") - - @deployment_properties.setter - def deployment_properties(self, value: Optional[pulumi.Input['DeploymentPropertiesArgs']]): - pulumi.set(self, "deployment_properties", value) - - @property - @pulumi.getter(name="dockerBuildContext") - def docker_build_context(self) -> Optional[pulumi.Input[str]]: - """ - Path to Dockerfile Build Context within the repository. - """ - return pulumi.get(self, "docker_build_context") - - @docker_build_context.setter - def docker_build_context(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "docker_build_context", value) - - @property - @pulumi.getter - def dockerfile(self) -> Optional[pulumi.Input[str]]: - """ - Path to the Dockerfile within the repository. - """ - return pulumi.get(self, "dockerfile") - - @dockerfile.setter - def dockerfile(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "dockerfile", value) - @property @pulumi.getter(name="dockerfileGenerationMode") def dockerfile_generation_mode(self) -> Optional[pulumi.Input[Union[str, 'DockerfileGenerationMode']]]: @@ -267,6 +164,18 @@ def generation_language(self) -> Optional[pulumi.Input[Union[str, 'GenerationLan def generation_language(self, value: Optional[pulumi.Input[Union[str, 'GenerationLanguage']]]): pulumi.set(self, "generation_language", value) + @property + @pulumi.getter(name="githubWorkflowProfile") + def github_workflow_profile(self) -> Optional[pulumi.Input['GitHubWorkflowProfileArgs']]: + """ + Profile of a github workflow. + """ + return pulumi.get(self, "github_workflow_profile") + + @github_workflow_profile.setter + def github_workflow_profile(self, value: Optional[pulumi.Input['GitHubWorkflowProfileArgs']]): + pulumi.set(self, "github_workflow_profile", value) + @property @pulumi.getter(name="imageName") def image_name(self) -> Optional[pulumi.Input[str]]: @@ -303,15 +212,6 @@ def language_version(self) -> Optional[pulumi.Input[str]]: def language_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "language_version", value) - @property - @pulumi.getter(name="lastWorkflowRun") - def last_workflow_run(self) -> Optional[pulumi.Input['WorkflowRunArgs']]: - return pulumi.get(self, "last_workflow_run") - - @last_workflow_run.setter - def last_workflow_run(self, value: Optional[pulumi.Input['WorkflowRunArgs']]): - pulumi.set(self, "last_workflow_run", value) - @property @pulumi.getter def location(self) -> Optional[pulumi.Input[str]]: @@ -364,7 +264,7 @@ def manifest_type(self, value: Optional[pulumi.Input[Union[str, 'GenerationManif @pulumi.getter def namespace(self) -> Optional[pulumi.Input[str]]: """ - Kubernetes namespace the application is deployed to. + The namespace to deploy the application to. """ return pulumi.get(self, "namespace") @@ -372,18 +272,6 @@ def namespace(self) -> Optional[pulumi.Input[str]]: def namespace(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "namespace", value) - @property - @pulumi.getter(name="oidcCredentials") - def oidc_credentials(self) -> Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']]: - """ - The fields needed for OIDC with GitHub. - """ - return pulumi.get(self, "oidc_credentials") - - @oidc_credentials.setter - def oidc_credentials(self, value: Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']]): - pulumi.set(self, "oidc_credentials", value) - @property @pulumi.getter def port(self) -> Optional[pulumi.Input[str]]: @@ -396,30 +284,6 @@ def port(self) -> Optional[pulumi.Input[str]]: def port(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "port", value) - @property - @pulumi.getter(name="repositoryName") - def repository_name(self) -> Optional[pulumi.Input[str]]: - """ - Repository Name - """ - return pulumi.get(self, "repository_name") - - @repository_name.setter - def repository_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "repository_name", value) - - @property - @pulumi.getter(name="repositoryOwner") - def repository_owner(self) -> Optional[pulumi.Input[str]]: - """ - Repository Owner - """ - return pulumi.get(self, "repository_owner") - - @repository_owner.setter - def repository_owner(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "repository_owner", value) - @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -450,30 +314,21 @@ class Workflow(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - acr: Optional[pulumi.Input[pulumi.InputType['ACRArgs']]] = None, - aks_resource_id: Optional[pulumi.Input[str]] = None, app_name: Optional[pulumi.Input[str]] = None, - branch_name: Optional[pulumi.Input[str]] = None, builder_version: Optional[pulumi.Input[str]] = None, - deployment_properties: Optional[pulumi.Input[pulumi.InputType['DeploymentPropertiesArgs']]] = None, - docker_build_context: Optional[pulumi.Input[str]] = None, - dockerfile: Optional[pulumi.Input[str]] = None, dockerfile_generation_mode: Optional[pulumi.Input[Union[str, 'DockerfileGenerationMode']]] = None, dockerfile_output_directory: Optional[pulumi.Input[str]] = None, generation_language: Optional[pulumi.Input[Union[str, 'GenerationLanguage']]] = None, + github_workflow_profile: Optional[pulumi.Input[pulumi.InputType['GitHubWorkflowProfileArgs']]] = None, image_name: Optional[pulumi.Input[str]] = None, image_tag: Optional[pulumi.Input[str]] = None, language_version: Optional[pulumi.Input[str]] = None, - last_workflow_run: Optional[pulumi.Input[pulumi.InputType['WorkflowRunArgs']]] = None, location: Optional[pulumi.Input[str]] = None, manifest_generation_mode: Optional[pulumi.Input[Union[str, 'ManifestGenerationMode']]] = None, manifest_output_directory: Optional[pulumi.Input[str]] = None, manifest_type: Optional[pulumi.Input[Union[str, 'GenerationManifestType']]] = None, namespace: Optional[pulumi.Input[str]] = None, - oidc_credentials: Optional[pulumi.Input[pulumi.InputType['GitHubWorkflowProfileOidcCredentialsArgs']]] = None, port: Optional[pulumi.Input[str]] = None, - repository_name: Optional[pulumi.Input[str]] = None, - repository_owner: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, workflow_name: Optional[pulumi.Input[str]] = None, @@ -483,16 +338,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['ACRArgs']] acr: Information on the azure container registry - :param pulumi.Input[str] aks_resource_id: The Azure Kubernetes Cluster Resource the application will be deployed to. :param pulumi.Input[str] app_name: The name of the app. - :param pulumi.Input[str] branch_name: Repository Branch Name :param pulumi.Input[str] builder_version: The version of the language image used for building the code in the generated dockerfile. - :param pulumi.Input[str] docker_build_context: Path to Dockerfile Build Context within the repository. - :param pulumi.Input[str] dockerfile: Path to the Dockerfile within the repository. :param pulumi.Input[Union[str, 'DockerfileGenerationMode']] dockerfile_generation_mode: The mode of generation to be used for generating Dockerfiles. :param pulumi.Input[str] dockerfile_output_directory: The directory to output the generated Dockerfile to. :param pulumi.Input[Union[str, 'GenerationLanguage']] generation_language: The programming language used. + :param pulumi.Input[pulumi.InputType['GitHubWorkflowProfileArgs']] github_workflow_profile: Profile of a github workflow. :param pulumi.Input[str] image_name: The name of the image to be generated. :param pulumi.Input[str] image_tag: The tag to apply to the generated image. :param pulumi.Input[str] language_version: The version of the language image used for execution in the generated dockerfile. @@ -500,11 +351,8 @@ def __init__(__self__, :param pulumi.Input[Union[str, 'ManifestGenerationMode']] manifest_generation_mode: The mode of generation to be used for generating Manifest. :param pulumi.Input[str] manifest_output_directory: The directory to output the generated manifests to. :param pulumi.Input[Union[str, 'GenerationManifestType']] manifest_type: Determines the type of manifests to be generated. - :param pulumi.Input[str] namespace: Kubernetes namespace the application is deployed to. - :param pulumi.Input[pulumi.InputType['GitHubWorkflowProfileOidcCredentialsArgs']] oidc_credentials: The fields needed for OIDC with GitHub. + :param pulumi.Input[str] namespace: The namespace to deploy the application to. :param pulumi.Input[str] port: The port the application is exposed on. - :param pulumi.Input[str] repository_name: Repository Name - :param pulumi.Input[str] repository_owner: Repository Owner :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. :param pulumi.Input[str] workflow_name: The name of the workflow resource. @@ -533,30 +381,21 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - acr: Optional[pulumi.Input[pulumi.InputType['ACRArgs']]] = None, - aks_resource_id: Optional[pulumi.Input[str]] = None, app_name: Optional[pulumi.Input[str]] = None, - branch_name: Optional[pulumi.Input[str]] = None, builder_version: Optional[pulumi.Input[str]] = None, - deployment_properties: Optional[pulumi.Input[pulumi.InputType['DeploymentPropertiesArgs']]] = None, - docker_build_context: Optional[pulumi.Input[str]] = None, - dockerfile: Optional[pulumi.Input[str]] = None, dockerfile_generation_mode: Optional[pulumi.Input[Union[str, 'DockerfileGenerationMode']]] = None, dockerfile_output_directory: Optional[pulumi.Input[str]] = None, generation_language: Optional[pulumi.Input[Union[str, 'GenerationLanguage']]] = None, + github_workflow_profile: Optional[pulumi.Input[pulumi.InputType['GitHubWorkflowProfileArgs']]] = None, image_name: Optional[pulumi.Input[str]] = None, image_tag: Optional[pulumi.Input[str]] = None, language_version: Optional[pulumi.Input[str]] = None, - last_workflow_run: Optional[pulumi.Input[pulumi.InputType['WorkflowRunArgs']]] = None, location: Optional[pulumi.Input[str]] = None, manifest_generation_mode: Optional[pulumi.Input[Union[str, 'ManifestGenerationMode']]] = None, manifest_output_directory: Optional[pulumi.Input[str]] = None, manifest_type: Optional[pulumi.Input[Union[str, 'GenerationManifestType']]] = None, namespace: Optional[pulumi.Input[str]] = None, - oidc_credentials: Optional[pulumi.Input[pulumi.InputType['GitHubWorkflowProfileOidcCredentialsArgs']]] = None, port: Optional[pulumi.Input[str]] = None, - repository_name: Optional[pulumi.Input[str]] = None, - repository_owner: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, workflow_name: Optional[pulumi.Input[str]] = None, @@ -569,40 +408,27 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = WorkflowArgs.__new__(WorkflowArgs) - __props__.__dict__["acr"] = acr - __props__.__dict__["aks_resource_id"] = aks_resource_id __props__.__dict__["app_name"] = app_name - __props__.__dict__["branch_name"] = branch_name __props__.__dict__["builder_version"] = builder_version - __props__.__dict__["deployment_properties"] = deployment_properties - __props__.__dict__["docker_build_context"] = docker_build_context - __props__.__dict__["dockerfile"] = dockerfile __props__.__dict__["dockerfile_generation_mode"] = dockerfile_generation_mode __props__.__dict__["dockerfile_output_directory"] = dockerfile_output_directory __props__.__dict__["generation_language"] = generation_language + __props__.__dict__["github_workflow_profile"] = github_workflow_profile __props__.__dict__["image_name"] = image_name __props__.__dict__["image_tag"] = image_tag __props__.__dict__["language_version"] = language_version - __props__.__dict__["last_workflow_run"] = last_workflow_run __props__.__dict__["location"] = location __props__.__dict__["manifest_generation_mode"] = manifest_generation_mode __props__.__dict__["manifest_output_directory"] = manifest_output_directory __props__.__dict__["manifest_type"] = manifest_type __props__.__dict__["namespace"] = namespace - __props__.__dict__["oidc_credentials"] = oidc_credentials __props__.__dict__["port"] = port - __props__.__dict__["repository_name"] = repository_name - __props__.__dict__["repository_owner"] = repository_owner if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["tags"] = tags __props__.__dict__["workflow_name"] = workflow_name - __props__.__dict__["auth_status"] = None __props__.__dict__["name"] = None - __props__.__dict__["pr_status"] = None - __props__.__dict__["pr_url"] = None - __props__.__dict__["pull_number"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devhub:Workflow"), pulumi.Alias(type_="azure-native:devhub/v20220401preview:Workflow"), pulumi.Alias(type_="azure-native:devhub/v20230801:Workflow")]) @@ -629,56 +455,27 @@ def get(resource_name: str, __props__ = WorkflowArgs.__new__(WorkflowArgs) - __props__.__dict__["acr"] = None - __props__.__dict__["aks_resource_id"] = None __props__.__dict__["app_name"] = None - __props__.__dict__["auth_status"] = None - __props__.__dict__["branch_name"] = None __props__.__dict__["builder_version"] = None - __props__.__dict__["deployment_properties"] = None - __props__.__dict__["docker_build_context"] = None - __props__.__dict__["dockerfile"] = None __props__.__dict__["dockerfile_generation_mode"] = None __props__.__dict__["dockerfile_output_directory"] = None __props__.__dict__["generation_language"] = None + __props__.__dict__["github_workflow_profile"] = None __props__.__dict__["image_name"] = None __props__.__dict__["image_tag"] = None __props__.__dict__["language_version"] = None - __props__.__dict__["last_workflow_run"] = None __props__.__dict__["location"] = None __props__.__dict__["manifest_generation_mode"] = None __props__.__dict__["manifest_output_directory"] = None __props__.__dict__["manifest_type"] = None __props__.__dict__["name"] = None __props__.__dict__["namespace"] = None - __props__.__dict__["oidc_credentials"] = None __props__.__dict__["port"] = None - __props__.__dict__["pr_status"] = None - __props__.__dict__["pr_url"] = None - __props__.__dict__["pull_number"] = None - __props__.__dict__["repository_name"] = None - __props__.__dict__["repository_owner"] = None __props__.__dict__["system_data"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None return Workflow(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter - def acr(self) -> pulumi.Output[Optional['outputs.ACRResponse']]: - """ - Information on the azure container registry - """ - return pulumi.get(self, "acr") - - @property - @pulumi.getter(name="aksResourceId") - def aks_resource_id(self) -> pulumi.Output[Optional[str]]: - """ - The Azure Kubernetes Cluster Resource the application will be deployed to. - """ - return pulumi.get(self, "aks_resource_id") - @property @pulumi.getter(name="appName") def app_name(self) -> pulumi.Output[Optional[str]]: @@ -687,22 +484,6 @@ def app_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "app_name") - @property - @pulumi.getter(name="authStatus") - def auth_status(self) -> pulumi.Output[str]: - """ - Determines the authorization status of requests. - """ - return pulumi.get(self, "auth_status") - - @property - @pulumi.getter(name="branchName") - def branch_name(self) -> pulumi.Output[Optional[str]]: - """ - Repository Branch Name - """ - return pulumi.get(self, "branch_name") - @property @pulumi.getter(name="builderVersion") def builder_version(self) -> pulumi.Output[Optional[str]]: @@ -711,27 +492,6 @@ def builder_version(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "builder_version") - @property - @pulumi.getter(name="deploymentProperties") - def deployment_properties(self) -> pulumi.Output[Optional['outputs.DeploymentPropertiesResponse']]: - return pulumi.get(self, "deployment_properties") - - @property - @pulumi.getter(name="dockerBuildContext") - def docker_build_context(self) -> pulumi.Output[Optional[str]]: - """ - Path to Dockerfile Build Context within the repository. - """ - return pulumi.get(self, "docker_build_context") - - @property - @pulumi.getter - def dockerfile(self) -> pulumi.Output[Optional[str]]: - """ - Path to the Dockerfile within the repository. - """ - return pulumi.get(self, "dockerfile") - @property @pulumi.getter(name="dockerfileGenerationMode") def dockerfile_generation_mode(self) -> pulumi.Output[Optional[str]]: @@ -756,6 +516,14 @@ def generation_language(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "generation_language") + @property + @pulumi.getter(name="githubWorkflowProfile") + def github_workflow_profile(self) -> pulumi.Output[Optional['outputs.GitHubWorkflowProfileResponse']]: + """ + Profile of a github workflow. + """ + return pulumi.get(self, "github_workflow_profile") + @property @pulumi.getter(name="imageName") def image_name(self) -> pulumi.Output[Optional[str]]: @@ -780,11 +548,6 @@ def language_version(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "language_version") - @property - @pulumi.getter(name="lastWorkflowRun") - def last_workflow_run(self) -> pulumi.Output[Optional['outputs.WorkflowRunResponse']]: - return pulumi.get(self, "last_workflow_run") - @property @pulumi.getter def location(self) -> pulumi.Output[str]: @@ -829,18 +592,10 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def namespace(self) -> pulumi.Output[Optional[str]]: """ - Kubernetes namespace the application is deployed to. + The namespace to deploy the application to. """ return pulumi.get(self, "namespace") - @property - @pulumi.getter(name="oidcCredentials") - def oidc_credentials(self) -> pulumi.Output[Optional['outputs.GitHubWorkflowProfileResponseOidcCredentials']]: - """ - The fields needed for OIDC with GitHub. - """ - return pulumi.get(self, "oidc_credentials") - @property @pulumi.getter def port(self) -> pulumi.Output[Optional[str]]: @@ -849,46 +604,6 @@ def port(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "port") - @property - @pulumi.getter(name="prStatus") - def pr_status(self) -> pulumi.Output[str]: - """ - The status of the Pull Request submitted against the users repository. - """ - return pulumi.get(self, "pr_status") - - @property - @pulumi.getter(name="prURL") - def pr_url(self) -> pulumi.Output[str]: - """ - The URL to the Pull Request submitted against the users repository. - """ - return pulumi.get(self, "pr_url") - - @property - @pulumi.getter(name="pullNumber") - def pull_number(self) -> pulumi.Output[int]: - """ - The number associated with the submitted pull request. - """ - return pulumi.get(self, "pull_number") - - @property - @pulumi.getter(name="repositoryName") - def repository_name(self) -> pulumi.Output[Optional[str]]: - """ - Repository Name - """ - return pulumi.get(self, "repository_name") - - @property - @pulumi.getter(name="repositoryOwner") - def repository_owner(self) -> pulumi.Output[Optional[str]]: - """ - Repository Owner - """ - return pulumi.get(self, "repository_owner") - @property @pulumi.getter(name="systemData") def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: diff --git a/sdk/python/pulumi_azure_native/devhub/v20230801/_inputs.py b/sdk/python/pulumi_azure_native/devhub/v20230801/_inputs.py index 6d275a53bc41..4f76545e07f9 100644 --- a/sdk/python/pulumi_azure_native/devhub/v20230801/_inputs.py +++ b/sdk/python/pulumi_azure_native/devhub/v20230801/_inputs.py @@ -14,6 +14,7 @@ 'ACRArgs', 'DeploymentPropertiesArgs', 'GitHubWorkflowProfileOidcCredentialsArgs', + 'GitHubWorkflowProfileArgs', 'WorkflowRunArgs', ] @@ -212,6 +213,182 @@ def azure_tenant_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "azure_tenant_id", value) +@pulumi.input_type +class GitHubWorkflowProfileArgs: + def __init__(__self__, *, + acr: Optional[pulumi.Input['ACRArgs']] = None, + aks_resource_id: Optional[pulumi.Input[str]] = None, + branch_name: Optional[pulumi.Input[str]] = None, + deployment_properties: Optional[pulumi.Input['DeploymentPropertiesArgs']] = None, + docker_build_context: Optional[pulumi.Input[str]] = None, + dockerfile: Optional[pulumi.Input[str]] = None, + last_workflow_run: Optional[pulumi.Input['WorkflowRunArgs']] = None, + namespace: Optional[pulumi.Input[str]] = None, + oidc_credentials: Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']] = None, + repository_name: Optional[pulumi.Input[str]] = None, + repository_owner: Optional[pulumi.Input[str]] = None): + """ + GitHub Workflow Profile + :param pulumi.Input['ACRArgs'] acr: Information on the azure container registry + :param pulumi.Input[str] aks_resource_id: The Azure Kubernetes Cluster Resource the application will be deployed to. + :param pulumi.Input[str] branch_name: Repository Branch Name + :param pulumi.Input[str] docker_build_context: Path to Dockerfile Build Context within the repository. + :param pulumi.Input[str] dockerfile: Path to the Dockerfile within the repository. + :param pulumi.Input[str] namespace: Kubernetes namespace the application is deployed to. + :param pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs'] oidc_credentials: The fields needed for OIDC with GitHub. + :param pulumi.Input[str] repository_name: Repository Name + :param pulumi.Input[str] repository_owner: Repository Owner + """ + if acr is not None: + pulumi.set(__self__, "acr", acr) + if aks_resource_id is not None: + pulumi.set(__self__, "aks_resource_id", aks_resource_id) + if branch_name is not None: + pulumi.set(__self__, "branch_name", branch_name) + if deployment_properties is not None: + pulumi.set(__self__, "deployment_properties", deployment_properties) + if docker_build_context is not None: + pulumi.set(__self__, "docker_build_context", docker_build_context) + if dockerfile is not None: + pulumi.set(__self__, "dockerfile", dockerfile) + if last_workflow_run is not None: + pulumi.set(__self__, "last_workflow_run", last_workflow_run) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if oidc_credentials is not None: + pulumi.set(__self__, "oidc_credentials", oidc_credentials) + if repository_name is not None: + pulumi.set(__self__, "repository_name", repository_name) + if repository_owner is not None: + pulumi.set(__self__, "repository_owner", repository_owner) + + @property + @pulumi.getter + def acr(self) -> Optional[pulumi.Input['ACRArgs']]: + """ + Information on the azure container registry + """ + return pulumi.get(self, "acr") + + @acr.setter + def acr(self, value: Optional[pulumi.Input['ACRArgs']]): + pulumi.set(self, "acr", value) + + @property + @pulumi.getter(name="aksResourceId") + def aks_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + The Azure Kubernetes Cluster Resource the application will be deployed to. + """ + return pulumi.get(self, "aks_resource_id") + + @aks_resource_id.setter + def aks_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aks_resource_id", value) + + @property + @pulumi.getter(name="branchName") + def branch_name(self) -> Optional[pulumi.Input[str]]: + """ + Repository Branch Name + """ + return pulumi.get(self, "branch_name") + + @branch_name.setter + def branch_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "branch_name", value) + + @property + @pulumi.getter(name="deploymentProperties") + def deployment_properties(self) -> Optional[pulumi.Input['DeploymentPropertiesArgs']]: + return pulumi.get(self, "deployment_properties") + + @deployment_properties.setter + def deployment_properties(self, value: Optional[pulumi.Input['DeploymentPropertiesArgs']]): + pulumi.set(self, "deployment_properties", value) + + @property + @pulumi.getter(name="dockerBuildContext") + def docker_build_context(self) -> Optional[pulumi.Input[str]]: + """ + Path to Dockerfile Build Context within the repository. + """ + return pulumi.get(self, "docker_build_context") + + @docker_build_context.setter + def docker_build_context(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "docker_build_context", value) + + @property + @pulumi.getter + def dockerfile(self) -> Optional[pulumi.Input[str]]: + """ + Path to the Dockerfile within the repository. + """ + return pulumi.get(self, "dockerfile") + + @dockerfile.setter + def dockerfile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dockerfile", value) + + @property + @pulumi.getter(name="lastWorkflowRun") + def last_workflow_run(self) -> Optional[pulumi.Input['WorkflowRunArgs']]: + return pulumi.get(self, "last_workflow_run") + + @last_workflow_run.setter + def last_workflow_run(self, value: Optional[pulumi.Input['WorkflowRunArgs']]): + pulumi.set(self, "last_workflow_run", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + Kubernetes namespace the application is deployed to. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="oidcCredentials") + def oidc_credentials(self) -> Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']]: + """ + The fields needed for OIDC with GitHub. + """ + return pulumi.get(self, "oidc_credentials") + + @oidc_credentials.setter + def oidc_credentials(self, value: Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']]): + pulumi.set(self, "oidc_credentials", value) + + @property + @pulumi.getter(name="repositoryName") + def repository_name(self) -> Optional[pulumi.Input[str]]: + """ + Repository Name + """ + return pulumi.get(self, "repository_name") + + @repository_name.setter + def repository_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "repository_name", value) + + @property + @pulumi.getter(name="repositoryOwner") + def repository_owner(self) -> Optional[pulumi.Input[str]]: + """ + Repository Owner + """ + return pulumi.get(self, "repository_owner") + + @repository_owner.setter + def repository_owner(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "repository_owner", value) + + @pulumi.input_type class WorkflowRunArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/devhub/v20230801/get_workflow.py b/sdk/python/pulumi_azure_native/devhub/v20230801/get_workflow.py index ecd969ad94a3..6e7fb918e818 100644 --- a/sdk/python/pulumi_azure_native/devhub/v20230801/get_workflow.py +++ b/sdk/python/pulumi_azure_native/devhub/v20230801/get_workflow.py @@ -22,34 +22,13 @@ class GetWorkflowResult: """ Resource representation of a workflow """ - def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_status=None, branch_name=None, builder_version=None, deployment_properties=None, docker_build_context=None, dockerfile=None, dockerfile_generation_mode=None, dockerfile_output_directory=None, generation_language=None, id=None, image_name=None, image_tag=None, language_version=None, last_workflow_run=None, location=None, manifest_generation_mode=None, manifest_output_directory=None, manifest_type=None, name=None, namespace=None, oidc_credentials=None, port=None, pr_status=None, pr_url=None, pull_number=None, repository_name=None, repository_owner=None, system_data=None, tags=None, type=None): - if acr and not isinstance(acr, dict): - raise TypeError("Expected argument 'acr' to be a dict") - pulumi.set(__self__, "acr", acr) - if aks_resource_id and not isinstance(aks_resource_id, str): - raise TypeError("Expected argument 'aks_resource_id' to be a str") - pulumi.set(__self__, "aks_resource_id", aks_resource_id) + def __init__(__self__, app_name=None, builder_version=None, dockerfile_generation_mode=None, dockerfile_output_directory=None, generation_language=None, github_workflow_profile=None, id=None, image_name=None, image_tag=None, language_version=None, location=None, manifest_generation_mode=None, manifest_output_directory=None, manifest_type=None, name=None, namespace=None, port=None, system_data=None, tags=None, type=None): if app_name and not isinstance(app_name, str): raise TypeError("Expected argument 'app_name' to be a str") pulumi.set(__self__, "app_name", app_name) - if auth_status and not isinstance(auth_status, str): - raise TypeError("Expected argument 'auth_status' to be a str") - pulumi.set(__self__, "auth_status", auth_status) - if branch_name and not isinstance(branch_name, str): - raise TypeError("Expected argument 'branch_name' to be a str") - pulumi.set(__self__, "branch_name", branch_name) if builder_version and not isinstance(builder_version, str): raise TypeError("Expected argument 'builder_version' to be a str") pulumi.set(__self__, "builder_version", builder_version) - if deployment_properties and not isinstance(deployment_properties, dict): - raise TypeError("Expected argument 'deployment_properties' to be a dict") - pulumi.set(__self__, "deployment_properties", deployment_properties) - if docker_build_context and not isinstance(docker_build_context, str): - raise TypeError("Expected argument 'docker_build_context' to be a str") - pulumi.set(__self__, "docker_build_context", docker_build_context) - if dockerfile and not isinstance(dockerfile, str): - raise TypeError("Expected argument 'dockerfile' to be a str") - pulumi.set(__self__, "dockerfile", dockerfile) if dockerfile_generation_mode and not isinstance(dockerfile_generation_mode, str): raise TypeError("Expected argument 'dockerfile_generation_mode' to be a str") pulumi.set(__self__, "dockerfile_generation_mode", dockerfile_generation_mode) @@ -59,6 +38,9 @@ def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_statu if generation_language and not isinstance(generation_language, str): raise TypeError("Expected argument 'generation_language' to be a str") pulumi.set(__self__, "generation_language", generation_language) + if github_workflow_profile and not isinstance(github_workflow_profile, dict): + raise TypeError("Expected argument 'github_workflow_profile' to be a dict") + pulumi.set(__self__, "github_workflow_profile", github_workflow_profile) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -71,9 +53,6 @@ def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_statu if language_version and not isinstance(language_version, str): raise TypeError("Expected argument 'language_version' to be a str") pulumi.set(__self__, "language_version", language_version) - if last_workflow_run and not isinstance(last_workflow_run, dict): - raise TypeError("Expected argument 'last_workflow_run' to be a dict") - pulumi.set(__self__, "last_workflow_run", last_workflow_run) if location and not isinstance(location, str): raise TypeError("Expected argument 'location' to be a str") pulumi.set(__self__, "location", location) @@ -92,27 +71,9 @@ def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_statu if namespace and not isinstance(namespace, str): raise TypeError("Expected argument 'namespace' to be a str") pulumi.set(__self__, "namespace", namespace) - if oidc_credentials and not isinstance(oidc_credentials, dict): - raise TypeError("Expected argument 'oidc_credentials' to be a dict") - pulumi.set(__self__, "oidc_credentials", oidc_credentials) if port and not isinstance(port, str): raise TypeError("Expected argument 'port' to be a str") pulumi.set(__self__, "port", port) - if pr_status and not isinstance(pr_status, str): - raise TypeError("Expected argument 'pr_status' to be a str") - pulumi.set(__self__, "pr_status", pr_status) - if pr_url and not isinstance(pr_url, str): - raise TypeError("Expected argument 'pr_url' to be a str") - pulumi.set(__self__, "pr_url", pr_url) - if pull_number and not isinstance(pull_number, int): - raise TypeError("Expected argument 'pull_number' to be a int") - pulumi.set(__self__, "pull_number", pull_number) - if repository_name and not isinstance(repository_name, str): - raise TypeError("Expected argument 'repository_name' to be a str") - pulumi.set(__self__, "repository_name", repository_name) - if repository_owner and not isinstance(repository_owner, str): - raise TypeError("Expected argument 'repository_owner' to be a str") - pulumi.set(__self__, "repository_owner", repository_owner) 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) @@ -123,22 +84,6 @@ def __init__(__self__, acr=None, aks_resource_id=None, app_name=None, auth_statu raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) - @property - @pulumi.getter - def acr(self) -> Optional['outputs.ACRResponse']: - """ - Information on the azure container registry - """ - return pulumi.get(self, "acr") - - @property - @pulumi.getter(name="aksResourceId") - def aks_resource_id(self) -> Optional[str]: - """ - The Azure Kubernetes Cluster Resource the application will be deployed to. - """ - return pulumi.get(self, "aks_resource_id") - @property @pulumi.getter(name="appName") def app_name(self) -> Optional[str]: @@ -147,22 +92,6 @@ def app_name(self) -> Optional[str]: """ return pulumi.get(self, "app_name") - @property - @pulumi.getter(name="authStatus") - def auth_status(self) -> str: - """ - Determines the authorization status of requests. - """ - return pulumi.get(self, "auth_status") - - @property - @pulumi.getter(name="branchName") - def branch_name(self) -> Optional[str]: - """ - Repository Branch Name - """ - return pulumi.get(self, "branch_name") - @property @pulumi.getter(name="builderVersion") def builder_version(self) -> Optional[str]: @@ -171,27 +100,6 @@ def builder_version(self) -> Optional[str]: """ return pulumi.get(self, "builder_version") - @property - @pulumi.getter(name="deploymentProperties") - def deployment_properties(self) -> Optional['outputs.DeploymentPropertiesResponse']: - return pulumi.get(self, "deployment_properties") - - @property - @pulumi.getter(name="dockerBuildContext") - def docker_build_context(self) -> Optional[str]: - """ - Path to Dockerfile Build Context within the repository. - """ - return pulumi.get(self, "docker_build_context") - - @property - @pulumi.getter - def dockerfile(self) -> Optional[str]: - """ - Path to the Dockerfile within the repository. - """ - return pulumi.get(self, "dockerfile") - @property @pulumi.getter(name="dockerfileGenerationMode") def dockerfile_generation_mode(self) -> Optional[str]: @@ -216,6 +124,14 @@ def generation_language(self) -> Optional[str]: """ return pulumi.get(self, "generation_language") + @property + @pulumi.getter(name="githubWorkflowProfile") + def github_workflow_profile(self) -> Optional['outputs.GitHubWorkflowProfileResponse']: + """ + Profile of a github workflow. + """ + return pulumi.get(self, "github_workflow_profile") + @property @pulumi.getter def id(self) -> str: @@ -248,11 +164,6 @@ def language_version(self) -> Optional[str]: """ return pulumi.get(self, "language_version") - @property - @pulumi.getter(name="lastWorkflowRun") - def last_workflow_run(self) -> Optional['outputs.WorkflowRunResponse']: - return pulumi.get(self, "last_workflow_run") - @property @pulumi.getter def location(self) -> str: @@ -297,18 +208,10 @@ def name(self) -> str: @pulumi.getter def namespace(self) -> Optional[str]: """ - Kubernetes namespace the application is deployed to. + The namespace to deploy the application to. """ return pulumi.get(self, "namespace") - @property - @pulumi.getter(name="oidcCredentials") - def oidc_credentials(self) -> Optional['outputs.GitHubWorkflowProfileResponseOidcCredentials']: - """ - The fields needed for OIDC with GitHub. - """ - return pulumi.get(self, "oidc_credentials") - @property @pulumi.getter def port(self) -> Optional[str]: @@ -317,46 +220,6 @@ def port(self) -> Optional[str]: """ return pulumi.get(self, "port") - @property - @pulumi.getter(name="prStatus") - def pr_status(self) -> str: - """ - The status of the Pull Request submitted against the users repository. - """ - return pulumi.get(self, "pr_status") - - @property - @pulumi.getter(name="prURL") - def pr_url(self) -> str: - """ - The URL to the Pull Request submitted against the users repository. - """ - return pulumi.get(self, "pr_url") - - @property - @pulumi.getter(name="pullNumber") - def pull_number(self) -> int: - """ - The number associated with the submitted pull request. - """ - return pulumi.get(self, "pull_number") - - @property - @pulumi.getter(name="repositoryName") - def repository_name(self) -> Optional[str]: - """ - Repository Name - """ - return pulumi.get(self, "repository_name") - - @property - @pulumi.getter(name="repositoryOwner") - def repository_owner(self) -> Optional[str]: - """ - Repository Owner - """ - return pulumi.get(self, "repository_owner") - @property @pulumi.getter(name="systemData") def system_data(self) -> 'outputs.SystemDataResponse': @@ -388,36 +251,23 @@ def __await__(self): if False: yield self return GetWorkflowResult( - acr=self.acr, - aks_resource_id=self.aks_resource_id, app_name=self.app_name, - auth_status=self.auth_status, - branch_name=self.branch_name, builder_version=self.builder_version, - deployment_properties=self.deployment_properties, - docker_build_context=self.docker_build_context, - dockerfile=self.dockerfile, dockerfile_generation_mode=self.dockerfile_generation_mode, dockerfile_output_directory=self.dockerfile_output_directory, generation_language=self.generation_language, + github_workflow_profile=self.github_workflow_profile, id=self.id, image_name=self.image_name, image_tag=self.image_tag, language_version=self.language_version, - last_workflow_run=self.last_workflow_run, location=self.location, manifest_generation_mode=self.manifest_generation_mode, manifest_output_directory=self.manifest_output_directory, manifest_type=self.manifest_type, name=self.name, namespace=self.namespace, - oidc_credentials=self.oidc_credentials, port=self.port, - pr_status=self.pr_status, - pr_url=self.pr_url, - pull_number=self.pull_number, - repository_name=self.repository_name, - repository_owner=self.repository_owner, system_data=self.system_data, tags=self.tags, type=self.type) @@ -440,36 +290,23 @@ def get_workflow(resource_group_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:devhub/v20230801:getWorkflow', __args__, opts=opts, typ=GetWorkflowResult).value return AwaitableGetWorkflowResult( - acr=pulumi.get(__ret__, 'acr'), - aks_resource_id=pulumi.get(__ret__, 'aks_resource_id'), app_name=pulumi.get(__ret__, 'app_name'), - auth_status=pulumi.get(__ret__, 'auth_status'), - branch_name=pulumi.get(__ret__, 'branch_name'), builder_version=pulumi.get(__ret__, 'builder_version'), - deployment_properties=pulumi.get(__ret__, 'deployment_properties'), - docker_build_context=pulumi.get(__ret__, 'docker_build_context'), - dockerfile=pulumi.get(__ret__, 'dockerfile'), dockerfile_generation_mode=pulumi.get(__ret__, 'dockerfile_generation_mode'), dockerfile_output_directory=pulumi.get(__ret__, 'dockerfile_output_directory'), generation_language=pulumi.get(__ret__, 'generation_language'), + github_workflow_profile=pulumi.get(__ret__, 'github_workflow_profile'), id=pulumi.get(__ret__, 'id'), image_name=pulumi.get(__ret__, 'image_name'), image_tag=pulumi.get(__ret__, 'image_tag'), language_version=pulumi.get(__ret__, 'language_version'), - last_workflow_run=pulumi.get(__ret__, 'last_workflow_run'), location=pulumi.get(__ret__, 'location'), manifest_generation_mode=pulumi.get(__ret__, 'manifest_generation_mode'), manifest_output_directory=pulumi.get(__ret__, 'manifest_output_directory'), manifest_type=pulumi.get(__ret__, 'manifest_type'), name=pulumi.get(__ret__, 'name'), namespace=pulumi.get(__ret__, 'namespace'), - oidc_credentials=pulumi.get(__ret__, 'oidc_credentials'), port=pulumi.get(__ret__, 'port'), - pr_status=pulumi.get(__ret__, 'pr_status'), - pr_url=pulumi.get(__ret__, 'pr_url'), - pull_number=pulumi.get(__ret__, 'pull_number'), - repository_name=pulumi.get(__ret__, 'repository_name'), - repository_owner=pulumi.get(__ret__, 'repository_owner'), system_data=pulumi.get(__ret__, 'system_data'), tags=pulumi.get(__ret__, 'tags'), type=pulumi.get(__ret__, 'type')) diff --git a/sdk/python/pulumi_azure_native/devhub/v20230801/outputs.py b/sdk/python/pulumi_azure_native/devhub/v20230801/outputs.py index f14292c295f9..317eae72e25d 100644 --- a/sdk/python/pulumi_azure_native/devhub/v20230801/outputs.py +++ b/sdk/python/pulumi_azure_native/devhub/v20230801/outputs.py @@ -8,11 +8,13 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs from ._enums import * __all__ = [ 'ACRResponse', 'DeploymentPropertiesResponse', + 'GitHubWorkflowProfileResponse', 'GitHubWorkflowProfileResponseOidcCredentials', 'SystemDataResponse', 'WorkflowRunResponse', @@ -186,6 +188,224 @@ def overrides(self) -> Optional[Mapping[str, str]]: return pulumi.get(self, "overrides") +@pulumi.output_type +class GitHubWorkflowProfileResponse(dict): + """ + GitHub Workflow Profile + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authStatus": + suggest = "auth_status" + elif key == "prStatus": + suggest = "pr_status" + elif key == "prURL": + suggest = "pr_url" + elif key == "pullNumber": + suggest = "pull_number" + elif key == "aksResourceId": + suggest = "aks_resource_id" + elif key == "branchName": + suggest = "branch_name" + elif key == "deploymentProperties": + suggest = "deployment_properties" + elif key == "dockerBuildContext": + suggest = "docker_build_context" + elif key == "lastWorkflowRun": + suggest = "last_workflow_run" + elif key == "oidcCredentials": + suggest = "oidc_credentials" + elif key == "repositoryName": + suggest = "repository_name" + elif key == "repositoryOwner": + suggest = "repository_owner" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GitHubWorkflowProfileResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GitHubWorkflowProfileResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GitHubWorkflowProfileResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auth_status: str, + pr_status: str, + pr_url: str, + pull_number: int, + acr: Optional['outputs.ACRResponse'] = None, + aks_resource_id: Optional[str] = None, + branch_name: Optional[str] = None, + deployment_properties: Optional['outputs.DeploymentPropertiesResponse'] = None, + docker_build_context: Optional[str] = None, + dockerfile: Optional[str] = None, + last_workflow_run: Optional['outputs.WorkflowRunResponse'] = None, + namespace: Optional[str] = None, + oidc_credentials: Optional['outputs.GitHubWorkflowProfileResponseOidcCredentials'] = None, + repository_name: Optional[str] = None, + repository_owner: Optional[str] = None): + """ + GitHub Workflow Profile + :param str auth_status: Determines the authorization status of requests. + :param str pr_status: The status of the Pull Request submitted against the users repository. + :param str pr_url: The URL to the Pull Request submitted against the users repository. + :param int pull_number: The number associated with the submitted pull request. + :param 'ACRResponse' acr: Information on the azure container registry + :param str aks_resource_id: The Azure Kubernetes Cluster Resource the application will be deployed to. + :param str branch_name: Repository Branch Name + :param str docker_build_context: Path to Dockerfile Build Context within the repository. + :param str dockerfile: Path to the Dockerfile within the repository. + :param str namespace: Kubernetes namespace the application is deployed to. + :param 'GitHubWorkflowProfileResponseOidcCredentials' oidc_credentials: The fields needed for OIDC with GitHub. + :param str repository_name: Repository Name + :param str repository_owner: Repository Owner + """ + pulumi.set(__self__, "auth_status", auth_status) + pulumi.set(__self__, "pr_status", pr_status) + pulumi.set(__self__, "pr_url", pr_url) + pulumi.set(__self__, "pull_number", pull_number) + if acr is not None: + pulumi.set(__self__, "acr", acr) + if aks_resource_id is not None: + pulumi.set(__self__, "aks_resource_id", aks_resource_id) + if branch_name is not None: + pulumi.set(__self__, "branch_name", branch_name) + if deployment_properties is not None: + pulumi.set(__self__, "deployment_properties", deployment_properties) + if docker_build_context is not None: + pulumi.set(__self__, "docker_build_context", docker_build_context) + if dockerfile is not None: + pulumi.set(__self__, "dockerfile", dockerfile) + if last_workflow_run is not None: + pulumi.set(__self__, "last_workflow_run", last_workflow_run) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if oidc_credentials is not None: + pulumi.set(__self__, "oidc_credentials", oidc_credentials) + if repository_name is not None: + pulumi.set(__self__, "repository_name", repository_name) + if repository_owner is not None: + pulumi.set(__self__, "repository_owner", repository_owner) + + @property + @pulumi.getter(name="authStatus") + def auth_status(self) -> str: + """ + Determines the authorization status of requests. + """ + return pulumi.get(self, "auth_status") + + @property + @pulumi.getter(name="prStatus") + def pr_status(self) -> str: + """ + The status of the Pull Request submitted against the users repository. + """ + return pulumi.get(self, "pr_status") + + @property + @pulumi.getter(name="prURL") + def pr_url(self) -> str: + """ + The URL to the Pull Request submitted against the users repository. + """ + return pulumi.get(self, "pr_url") + + @property + @pulumi.getter(name="pullNumber") + def pull_number(self) -> int: + """ + The number associated with the submitted pull request. + """ + return pulumi.get(self, "pull_number") + + @property + @pulumi.getter + def acr(self) -> Optional['outputs.ACRResponse']: + """ + Information on the azure container registry + """ + return pulumi.get(self, "acr") + + @property + @pulumi.getter(name="aksResourceId") + def aks_resource_id(self) -> Optional[str]: + """ + The Azure Kubernetes Cluster Resource the application will be deployed to. + """ + return pulumi.get(self, "aks_resource_id") + + @property + @pulumi.getter(name="branchName") + def branch_name(self) -> Optional[str]: + """ + Repository Branch Name + """ + return pulumi.get(self, "branch_name") + + @property + @pulumi.getter(name="deploymentProperties") + def deployment_properties(self) -> Optional['outputs.DeploymentPropertiesResponse']: + return pulumi.get(self, "deployment_properties") + + @property + @pulumi.getter(name="dockerBuildContext") + def docker_build_context(self) -> Optional[str]: + """ + Path to Dockerfile Build Context within the repository. + """ + return pulumi.get(self, "docker_build_context") + + @property + @pulumi.getter + def dockerfile(self) -> Optional[str]: + """ + Path to the Dockerfile within the repository. + """ + return pulumi.get(self, "dockerfile") + + @property + @pulumi.getter(name="lastWorkflowRun") + def last_workflow_run(self) -> Optional['outputs.WorkflowRunResponse']: + return pulumi.get(self, "last_workflow_run") + + @property + @pulumi.getter + def namespace(self) -> Optional[str]: + """ + Kubernetes namespace the application is deployed to. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter(name="oidcCredentials") + def oidc_credentials(self) -> Optional['outputs.GitHubWorkflowProfileResponseOidcCredentials']: + """ + The fields needed for OIDC with GitHub. + """ + return pulumi.get(self, "oidc_credentials") + + @property + @pulumi.getter(name="repositoryName") + def repository_name(self) -> Optional[str]: + """ + Repository Name + """ + return pulumi.get(self, "repository_name") + + @property + @pulumi.getter(name="repositoryOwner") + def repository_owner(self) -> Optional[str]: + """ + Repository Owner + """ + return pulumi.get(self, "repository_owner") + + @pulumi.output_type class GitHubWorkflowProfileResponseOidcCredentials(dict): """ diff --git a/sdk/python/pulumi_azure_native/devhub/v20230801/workflow.py b/sdk/python/pulumi_azure_native/devhub/v20230801/workflow.py index 85c80691a38e..64ca12a48e23 100644 --- a/sdk/python/pulumi_azure_native/devhub/v20230801/workflow.py +++ b/sdk/python/pulumi_azure_native/devhub/v20230801/workflow.py @@ -18,45 +18,32 @@ class WorkflowArgs: def __init__(__self__, *, resource_group_name: pulumi.Input[str], - acr: Optional[pulumi.Input['ACRArgs']] = None, - aks_resource_id: Optional[pulumi.Input[str]] = None, app_name: Optional[pulumi.Input[str]] = None, - branch_name: Optional[pulumi.Input[str]] = None, builder_version: Optional[pulumi.Input[str]] = None, - deployment_properties: Optional[pulumi.Input['DeploymentPropertiesArgs']] = None, - docker_build_context: Optional[pulumi.Input[str]] = None, - dockerfile: Optional[pulumi.Input[str]] = None, dockerfile_generation_mode: Optional[pulumi.Input[Union[str, 'DockerfileGenerationMode']]] = None, dockerfile_output_directory: Optional[pulumi.Input[str]] = None, generation_language: Optional[pulumi.Input[Union[str, 'GenerationLanguage']]] = None, + github_workflow_profile: Optional[pulumi.Input['GitHubWorkflowProfileArgs']] = None, image_name: Optional[pulumi.Input[str]] = None, image_tag: Optional[pulumi.Input[str]] = None, language_version: Optional[pulumi.Input[str]] = None, - last_workflow_run: Optional[pulumi.Input['WorkflowRunArgs']] = None, location: Optional[pulumi.Input[str]] = None, manifest_generation_mode: Optional[pulumi.Input[Union[str, 'ManifestGenerationMode']]] = None, manifest_output_directory: Optional[pulumi.Input[str]] = None, manifest_type: Optional[pulumi.Input[Union[str, 'GenerationManifestType']]] = None, namespace: Optional[pulumi.Input[str]] = None, - oidc_credentials: Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']] = None, port: Optional[pulumi.Input[str]] = None, - repository_name: Optional[pulumi.Input[str]] = None, - repository_owner: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, workflow_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Workflow resource. :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input['ACRArgs'] acr: Information on the azure container registry - :param pulumi.Input[str] aks_resource_id: The Azure Kubernetes Cluster Resource the application will be deployed to. :param pulumi.Input[str] app_name: The name of the app. - :param pulumi.Input[str] branch_name: Repository Branch Name :param pulumi.Input[str] builder_version: The version of the language image used for building the code in the generated dockerfile. - :param pulumi.Input[str] docker_build_context: Path to Dockerfile Build Context within the repository. - :param pulumi.Input[str] dockerfile: Path to the Dockerfile within the repository. :param pulumi.Input[Union[str, 'DockerfileGenerationMode']] dockerfile_generation_mode: The mode of generation to be used for generating Dockerfiles. :param pulumi.Input[str] dockerfile_output_directory: The directory to output the generated Dockerfile to. :param pulumi.Input[Union[str, 'GenerationLanguage']] generation_language: The programming language used. + :param pulumi.Input['GitHubWorkflowProfileArgs'] github_workflow_profile: Profile of a github workflow. :param pulumi.Input[str] image_name: The name of the image to be generated. :param pulumi.Input[str] image_tag: The tag to apply to the generated image. :param pulumi.Input[str] language_version: The version of the language image used for execution in the generated dockerfile. @@ -64,45 +51,30 @@ def __init__(__self__, *, :param pulumi.Input[Union[str, 'ManifestGenerationMode']] manifest_generation_mode: The mode of generation to be used for generating Manifest. :param pulumi.Input[str] manifest_output_directory: The directory to output the generated manifests to. :param pulumi.Input[Union[str, 'GenerationManifestType']] manifest_type: Determines the type of manifests to be generated. - :param pulumi.Input[str] namespace: Kubernetes namespace the application is deployed to. - :param pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs'] oidc_credentials: The fields needed for OIDC with GitHub. + :param pulumi.Input[str] namespace: The namespace to deploy the application to. :param pulumi.Input[str] port: The port the application is exposed on. - :param pulumi.Input[str] repository_name: Repository Name - :param pulumi.Input[str] repository_owner: Repository Owner :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. :param pulumi.Input[str] workflow_name: The name of the workflow resource. """ pulumi.set(__self__, "resource_group_name", resource_group_name) - if acr is not None: - pulumi.set(__self__, "acr", acr) - if aks_resource_id is not None: - pulumi.set(__self__, "aks_resource_id", aks_resource_id) if app_name is not None: pulumi.set(__self__, "app_name", app_name) - if branch_name is not None: - pulumi.set(__self__, "branch_name", branch_name) if builder_version is not None: pulumi.set(__self__, "builder_version", builder_version) - if deployment_properties is not None: - pulumi.set(__self__, "deployment_properties", deployment_properties) - if docker_build_context is not None: - pulumi.set(__self__, "docker_build_context", docker_build_context) - if dockerfile is not None: - pulumi.set(__self__, "dockerfile", dockerfile) if dockerfile_generation_mode is not None: pulumi.set(__self__, "dockerfile_generation_mode", dockerfile_generation_mode) if dockerfile_output_directory is not None: pulumi.set(__self__, "dockerfile_output_directory", dockerfile_output_directory) if generation_language is not None: pulumi.set(__self__, "generation_language", generation_language) + if github_workflow_profile is not None: + pulumi.set(__self__, "github_workflow_profile", github_workflow_profile) if image_name is not None: pulumi.set(__self__, "image_name", image_name) if image_tag is not None: pulumi.set(__self__, "image_tag", image_tag) if language_version is not None: pulumi.set(__self__, "language_version", language_version) - if last_workflow_run is not None: - pulumi.set(__self__, "last_workflow_run", last_workflow_run) if location is not None: pulumi.set(__self__, "location", location) if manifest_generation_mode is not None: @@ -113,14 +85,8 @@ def __init__(__self__, *, pulumi.set(__self__, "manifest_type", manifest_type) if namespace is not None: pulumi.set(__self__, "namespace", namespace) - if oidc_credentials is not None: - pulumi.set(__self__, "oidc_credentials", oidc_credentials) if port is not None: pulumi.set(__self__, "port", port) - if repository_name is not None: - pulumi.set(__self__, "repository_name", repository_name) - if repository_owner is not None: - pulumi.set(__self__, "repository_owner", repository_owner) if tags is not None: pulumi.set(__self__, "tags", tags) if workflow_name is not None: @@ -138,30 +104,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter - def acr(self) -> Optional[pulumi.Input['ACRArgs']]: - """ - Information on the azure container registry - """ - return pulumi.get(self, "acr") - - @acr.setter - def acr(self, value: Optional[pulumi.Input['ACRArgs']]): - pulumi.set(self, "acr", value) - - @property - @pulumi.getter(name="aksResourceId") - def aks_resource_id(self) -> Optional[pulumi.Input[str]]: - """ - The Azure Kubernetes Cluster Resource the application will be deployed to. - """ - return pulumi.get(self, "aks_resource_id") - - @aks_resource_id.setter - def aks_resource_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "aks_resource_id", value) - @property @pulumi.getter(name="appName") def app_name(self) -> Optional[pulumi.Input[str]]: @@ -174,18 +116,6 @@ def app_name(self) -> Optional[pulumi.Input[str]]: def app_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "app_name", value) - @property - @pulumi.getter(name="branchName") - def branch_name(self) -> Optional[pulumi.Input[str]]: - """ - Repository Branch Name - """ - return pulumi.get(self, "branch_name") - - @branch_name.setter - def branch_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "branch_name", value) - @property @pulumi.getter(name="builderVersion") def builder_version(self) -> Optional[pulumi.Input[str]]: @@ -198,39 +128,6 @@ def builder_version(self) -> Optional[pulumi.Input[str]]: def builder_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "builder_version", value) - @property - @pulumi.getter(name="deploymentProperties") - def deployment_properties(self) -> Optional[pulumi.Input['DeploymentPropertiesArgs']]: - return pulumi.get(self, "deployment_properties") - - @deployment_properties.setter - def deployment_properties(self, value: Optional[pulumi.Input['DeploymentPropertiesArgs']]): - pulumi.set(self, "deployment_properties", value) - - @property - @pulumi.getter(name="dockerBuildContext") - def docker_build_context(self) -> Optional[pulumi.Input[str]]: - """ - Path to Dockerfile Build Context within the repository. - """ - return pulumi.get(self, "docker_build_context") - - @docker_build_context.setter - def docker_build_context(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "docker_build_context", value) - - @property - @pulumi.getter - def dockerfile(self) -> Optional[pulumi.Input[str]]: - """ - Path to the Dockerfile within the repository. - """ - return pulumi.get(self, "dockerfile") - - @dockerfile.setter - def dockerfile(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "dockerfile", value) - @property @pulumi.getter(name="dockerfileGenerationMode") def dockerfile_generation_mode(self) -> Optional[pulumi.Input[Union[str, 'DockerfileGenerationMode']]]: @@ -267,6 +164,18 @@ def generation_language(self) -> Optional[pulumi.Input[Union[str, 'GenerationLan def generation_language(self, value: Optional[pulumi.Input[Union[str, 'GenerationLanguage']]]): pulumi.set(self, "generation_language", value) + @property + @pulumi.getter(name="githubWorkflowProfile") + def github_workflow_profile(self) -> Optional[pulumi.Input['GitHubWorkflowProfileArgs']]: + """ + Profile of a github workflow. + """ + return pulumi.get(self, "github_workflow_profile") + + @github_workflow_profile.setter + def github_workflow_profile(self, value: Optional[pulumi.Input['GitHubWorkflowProfileArgs']]): + pulumi.set(self, "github_workflow_profile", value) + @property @pulumi.getter(name="imageName") def image_name(self) -> Optional[pulumi.Input[str]]: @@ -303,15 +212,6 @@ def language_version(self) -> Optional[pulumi.Input[str]]: def language_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "language_version", value) - @property - @pulumi.getter(name="lastWorkflowRun") - def last_workflow_run(self) -> Optional[pulumi.Input['WorkflowRunArgs']]: - return pulumi.get(self, "last_workflow_run") - - @last_workflow_run.setter - def last_workflow_run(self, value: Optional[pulumi.Input['WorkflowRunArgs']]): - pulumi.set(self, "last_workflow_run", value) - @property @pulumi.getter def location(self) -> Optional[pulumi.Input[str]]: @@ -364,7 +264,7 @@ def manifest_type(self, value: Optional[pulumi.Input[Union[str, 'GenerationManif @pulumi.getter def namespace(self) -> Optional[pulumi.Input[str]]: """ - Kubernetes namespace the application is deployed to. + The namespace to deploy the application to. """ return pulumi.get(self, "namespace") @@ -372,18 +272,6 @@ def namespace(self) -> Optional[pulumi.Input[str]]: def namespace(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "namespace", value) - @property - @pulumi.getter(name="oidcCredentials") - def oidc_credentials(self) -> Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']]: - """ - The fields needed for OIDC with GitHub. - """ - return pulumi.get(self, "oidc_credentials") - - @oidc_credentials.setter - def oidc_credentials(self, value: Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']]): - pulumi.set(self, "oidc_credentials", value) - @property @pulumi.getter def port(self) -> Optional[pulumi.Input[str]]: @@ -396,30 +284,6 @@ def port(self) -> Optional[pulumi.Input[str]]: def port(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "port", value) - @property - @pulumi.getter(name="repositoryName") - def repository_name(self) -> Optional[pulumi.Input[str]]: - """ - Repository Name - """ - return pulumi.get(self, "repository_name") - - @repository_name.setter - def repository_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "repository_name", value) - - @property - @pulumi.getter(name="repositoryOwner") - def repository_owner(self) -> Optional[pulumi.Input[str]]: - """ - Repository Owner - """ - return pulumi.get(self, "repository_owner") - - @repository_owner.setter - def repository_owner(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "repository_owner", value) - @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -450,30 +314,21 @@ class Workflow(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - acr: Optional[pulumi.Input[pulumi.InputType['ACRArgs']]] = None, - aks_resource_id: Optional[pulumi.Input[str]] = None, app_name: Optional[pulumi.Input[str]] = None, - branch_name: Optional[pulumi.Input[str]] = None, builder_version: Optional[pulumi.Input[str]] = None, - deployment_properties: Optional[pulumi.Input[pulumi.InputType['DeploymentPropertiesArgs']]] = None, - docker_build_context: Optional[pulumi.Input[str]] = None, - dockerfile: Optional[pulumi.Input[str]] = None, dockerfile_generation_mode: Optional[pulumi.Input[Union[str, 'DockerfileGenerationMode']]] = None, dockerfile_output_directory: Optional[pulumi.Input[str]] = None, generation_language: Optional[pulumi.Input[Union[str, 'GenerationLanguage']]] = None, + github_workflow_profile: Optional[pulumi.Input[pulumi.InputType['GitHubWorkflowProfileArgs']]] = None, image_name: Optional[pulumi.Input[str]] = None, image_tag: Optional[pulumi.Input[str]] = None, language_version: Optional[pulumi.Input[str]] = None, - last_workflow_run: Optional[pulumi.Input[pulumi.InputType['WorkflowRunArgs']]] = None, location: Optional[pulumi.Input[str]] = None, manifest_generation_mode: Optional[pulumi.Input[Union[str, 'ManifestGenerationMode']]] = None, manifest_output_directory: Optional[pulumi.Input[str]] = None, manifest_type: Optional[pulumi.Input[Union[str, 'GenerationManifestType']]] = None, namespace: Optional[pulumi.Input[str]] = None, - oidc_credentials: Optional[pulumi.Input[pulumi.InputType['GitHubWorkflowProfileOidcCredentialsArgs']]] = None, port: Optional[pulumi.Input[str]] = None, - repository_name: Optional[pulumi.Input[str]] = None, - repository_owner: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, workflow_name: Optional[pulumi.Input[str]] = None, @@ -483,16 +338,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['ACRArgs']] acr: Information on the azure container registry - :param pulumi.Input[str] aks_resource_id: The Azure Kubernetes Cluster Resource the application will be deployed to. :param pulumi.Input[str] app_name: The name of the app. - :param pulumi.Input[str] branch_name: Repository Branch Name :param pulumi.Input[str] builder_version: The version of the language image used for building the code in the generated dockerfile. - :param pulumi.Input[str] docker_build_context: Path to Dockerfile Build Context within the repository. - :param pulumi.Input[str] dockerfile: Path to the Dockerfile within the repository. :param pulumi.Input[Union[str, 'DockerfileGenerationMode']] dockerfile_generation_mode: The mode of generation to be used for generating Dockerfiles. :param pulumi.Input[str] dockerfile_output_directory: The directory to output the generated Dockerfile to. :param pulumi.Input[Union[str, 'GenerationLanguage']] generation_language: The programming language used. + :param pulumi.Input[pulumi.InputType['GitHubWorkflowProfileArgs']] github_workflow_profile: Profile of a github workflow. :param pulumi.Input[str] image_name: The name of the image to be generated. :param pulumi.Input[str] image_tag: The tag to apply to the generated image. :param pulumi.Input[str] language_version: The version of the language image used for execution in the generated dockerfile. @@ -500,11 +351,8 @@ def __init__(__self__, :param pulumi.Input[Union[str, 'ManifestGenerationMode']] manifest_generation_mode: The mode of generation to be used for generating Manifest. :param pulumi.Input[str] manifest_output_directory: The directory to output the generated manifests to. :param pulumi.Input[Union[str, 'GenerationManifestType']] manifest_type: Determines the type of manifests to be generated. - :param pulumi.Input[str] namespace: Kubernetes namespace the application is deployed to. - :param pulumi.Input[pulumi.InputType['GitHubWorkflowProfileOidcCredentialsArgs']] oidc_credentials: The fields needed for OIDC with GitHub. + :param pulumi.Input[str] namespace: The namespace to deploy the application to. :param pulumi.Input[str] port: The port the application is exposed on. - :param pulumi.Input[str] repository_name: Repository Name - :param pulumi.Input[str] repository_owner: Repository Owner :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. :param pulumi.Input[str] workflow_name: The name of the workflow resource. @@ -533,30 +381,21 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - acr: Optional[pulumi.Input[pulumi.InputType['ACRArgs']]] = None, - aks_resource_id: Optional[pulumi.Input[str]] = None, app_name: Optional[pulumi.Input[str]] = None, - branch_name: Optional[pulumi.Input[str]] = None, builder_version: Optional[pulumi.Input[str]] = None, - deployment_properties: Optional[pulumi.Input[pulumi.InputType['DeploymentPropertiesArgs']]] = None, - docker_build_context: Optional[pulumi.Input[str]] = None, - dockerfile: Optional[pulumi.Input[str]] = None, dockerfile_generation_mode: Optional[pulumi.Input[Union[str, 'DockerfileGenerationMode']]] = None, dockerfile_output_directory: Optional[pulumi.Input[str]] = None, generation_language: Optional[pulumi.Input[Union[str, 'GenerationLanguage']]] = None, + github_workflow_profile: Optional[pulumi.Input[pulumi.InputType['GitHubWorkflowProfileArgs']]] = None, image_name: Optional[pulumi.Input[str]] = None, image_tag: Optional[pulumi.Input[str]] = None, language_version: Optional[pulumi.Input[str]] = None, - last_workflow_run: Optional[pulumi.Input[pulumi.InputType['WorkflowRunArgs']]] = None, location: Optional[pulumi.Input[str]] = None, manifest_generation_mode: Optional[pulumi.Input[Union[str, 'ManifestGenerationMode']]] = None, manifest_output_directory: Optional[pulumi.Input[str]] = None, manifest_type: Optional[pulumi.Input[Union[str, 'GenerationManifestType']]] = None, namespace: Optional[pulumi.Input[str]] = None, - oidc_credentials: Optional[pulumi.Input[pulumi.InputType['GitHubWorkflowProfileOidcCredentialsArgs']]] = None, port: Optional[pulumi.Input[str]] = None, - repository_name: Optional[pulumi.Input[str]] = None, - repository_owner: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, workflow_name: Optional[pulumi.Input[str]] = None, @@ -569,40 +408,27 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = WorkflowArgs.__new__(WorkflowArgs) - __props__.__dict__["acr"] = acr - __props__.__dict__["aks_resource_id"] = aks_resource_id __props__.__dict__["app_name"] = app_name - __props__.__dict__["branch_name"] = branch_name __props__.__dict__["builder_version"] = builder_version - __props__.__dict__["deployment_properties"] = deployment_properties - __props__.__dict__["docker_build_context"] = docker_build_context - __props__.__dict__["dockerfile"] = dockerfile __props__.__dict__["dockerfile_generation_mode"] = dockerfile_generation_mode __props__.__dict__["dockerfile_output_directory"] = dockerfile_output_directory __props__.__dict__["generation_language"] = generation_language + __props__.__dict__["github_workflow_profile"] = github_workflow_profile __props__.__dict__["image_name"] = image_name __props__.__dict__["image_tag"] = image_tag __props__.__dict__["language_version"] = language_version - __props__.__dict__["last_workflow_run"] = last_workflow_run __props__.__dict__["location"] = location __props__.__dict__["manifest_generation_mode"] = manifest_generation_mode __props__.__dict__["manifest_output_directory"] = manifest_output_directory __props__.__dict__["manifest_type"] = manifest_type __props__.__dict__["namespace"] = namespace - __props__.__dict__["oidc_credentials"] = oidc_credentials __props__.__dict__["port"] = port - __props__.__dict__["repository_name"] = repository_name - __props__.__dict__["repository_owner"] = repository_owner if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["tags"] = tags __props__.__dict__["workflow_name"] = workflow_name - __props__.__dict__["auth_status"] = None __props__.__dict__["name"] = None - __props__.__dict__["pr_status"] = None - __props__.__dict__["pr_url"] = None - __props__.__dict__["pull_number"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devhub:Workflow"), pulumi.Alias(type_="azure-native:devhub/v20220401preview:Workflow"), pulumi.Alias(type_="azure-native:devhub/v20221011preview:Workflow")]) @@ -629,56 +455,27 @@ def get(resource_name: str, __props__ = WorkflowArgs.__new__(WorkflowArgs) - __props__.__dict__["acr"] = None - __props__.__dict__["aks_resource_id"] = None __props__.__dict__["app_name"] = None - __props__.__dict__["auth_status"] = None - __props__.__dict__["branch_name"] = None __props__.__dict__["builder_version"] = None - __props__.__dict__["deployment_properties"] = None - __props__.__dict__["docker_build_context"] = None - __props__.__dict__["dockerfile"] = None __props__.__dict__["dockerfile_generation_mode"] = None __props__.__dict__["dockerfile_output_directory"] = None __props__.__dict__["generation_language"] = None + __props__.__dict__["github_workflow_profile"] = None __props__.__dict__["image_name"] = None __props__.__dict__["image_tag"] = None __props__.__dict__["language_version"] = None - __props__.__dict__["last_workflow_run"] = None __props__.__dict__["location"] = None __props__.__dict__["manifest_generation_mode"] = None __props__.__dict__["manifest_output_directory"] = None __props__.__dict__["manifest_type"] = None __props__.__dict__["name"] = None __props__.__dict__["namespace"] = None - __props__.__dict__["oidc_credentials"] = None __props__.__dict__["port"] = None - __props__.__dict__["pr_status"] = None - __props__.__dict__["pr_url"] = None - __props__.__dict__["pull_number"] = None - __props__.__dict__["repository_name"] = None - __props__.__dict__["repository_owner"] = None __props__.__dict__["system_data"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None return Workflow(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter - def acr(self) -> pulumi.Output[Optional['outputs.ACRResponse']]: - """ - Information on the azure container registry - """ - return pulumi.get(self, "acr") - - @property - @pulumi.getter(name="aksResourceId") - def aks_resource_id(self) -> pulumi.Output[Optional[str]]: - """ - The Azure Kubernetes Cluster Resource the application will be deployed to. - """ - return pulumi.get(self, "aks_resource_id") - @property @pulumi.getter(name="appName") def app_name(self) -> pulumi.Output[Optional[str]]: @@ -687,22 +484,6 @@ def app_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "app_name") - @property - @pulumi.getter(name="authStatus") - def auth_status(self) -> pulumi.Output[str]: - """ - Determines the authorization status of requests. - """ - return pulumi.get(self, "auth_status") - - @property - @pulumi.getter(name="branchName") - def branch_name(self) -> pulumi.Output[Optional[str]]: - """ - Repository Branch Name - """ - return pulumi.get(self, "branch_name") - @property @pulumi.getter(name="builderVersion") def builder_version(self) -> pulumi.Output[Optional[str]]: @@ -711,27 +492,6 @@ def builder_version(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "builder_version") - @property - @pulumi.getter(name="deploymentProperties") - def deployment_properties(self) -> pulumi.Output[Optional['outputs.DeploymentPropertiesResponse']]: - return pulumi.get(self, "deployment_properties") - - @property - @pulumi.getter(name="dockerBuildContext") - def docker_build_context(self) -> pulumi.Output[Optional[str]]: - """ - Path to Dockerfile Build Context within the repository. - """ - return pulumi.get(self, "docker_build_context") - - @property - @pulumi.getter - def dockerfile(self) -> pulumi.Output[Optional[str]]: - """ - Path to the Dockerfile within the repository. - """ - return pulumi.get(self, "dockerfile") - @property @pulumi.getter(name="dockerfileGenerationMode") def dockerfile_generation_mode(self) -> pulumi.Output[Optional[str]]: @@ -756,6 +516,14 @@ def generation_language(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "generation_language") + @property + @pulumi.getter(name="githubWorkflowProfile") + def github_workflow_profile(self) -> pulumi.Output[Optional['outputs.GitHubWorkflowProfileResponse']]: + """ + Profile of a github workflow. + """ + return pulumi.get(self, "github_workflow_profile") + @property @pulumi.getter(name="imageName") def image_name(self) -> pulumi.Output[Optional[str]]: @@ -780,11 +548,6 @@ def language_version(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "language_version") - @property - @pulumi.getter(name="lastWorkflowRun") - def last_workflow_run(self) -> pulumi.Output[Optional['outputs.WorkflowRunResponse']]: - return pulumi.get(self, "last_workflow_run") - @property @pulumi.getter def location(self) -> pulumi.Output[str]: @@ -829,18 +592,10 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def namespace(self) -> pulumi.Output[Optional[str]]: """ - Kubernetes namespace the application is deployed to. + The namespace to deploy the application to. """ return pulumi.get(self, "namespace") - @property - @pulumi.getter(name="oidcCredentials") - def oidc_credentials(self) -> pulumi.Output[Optional['outputs.GitHubWorkflowProfileResponseOidcCredentials']]: - """ - The fields needed for OIDC with GitHub. - """ - return pulumi.get(self, "oidc_credentials") - @property @pulumi.getter def port(self) -> pulumi.Output[Optional[str]]: @@ -849,46 +604,6 @@ def port(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "port") - @property - @pulumi.getter(name="prStatus") - def pr_status(self) -> pulumi.Output[str]: - """ - The status of the Pull Request submitted against the users repository. - """ - return pulumi.get(self, "pr_status") - - @property - @pulumi.getter(name="prURL") - def pr_url(self) -> pulumi.Output[str]: - """ - The URL to the Pull Request submitted against the users repository. - """ - return pulumi.get(self, "pr_url") - - @property - @pulumi.getter(name="pullNumber") - def pull_number(self) -> pulumi.Output[int]: - """ - The number associated with the submitted pull request. - """ - return pulumi.get(self, "pull_number") - - @property - @pulumi.getter(name="repositoryName") - def repository_name(self) -> pulumi.Output[Optional[str]]: - """ - Repository Name - """ - return pulumi.get(self, "repository_name") - - @property - @pulumi.getter(name="repositoryOwner") - def repository_owner(self) -> pulumi.Output[Optional[str]]: - """ - Repository Owner - """ - return pulumi.get(self, "repository_owner") - @property @pulumi.getter(name="systemData") def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: diff --git a/sdk/python/pulumi_azure_native/devhub/workflow.py b/sdk/python/pulumi_azure_native/devhub/workflow.py index 9ca6e34c9cf9..b21ec53a8cd9 100644 --- a/sdk/python/pulumi_azure_native/devhub/workflow.py +++ b/sdk/python/pulumi_azure_native/devhub/workflow.py @@ -18,45 +18,32 @@ class WorkflowArgs: def __init__(__self__, *, resource_group_name: pulumi.Input[str], - acr: Optional[pulumi.Input['ACRArgs']] = None, - aks_resource_id: Optional[pulumi.Input[str]] = None, app_name: Optional[pulumi.Input[str]] = None, - branch_name: Optional[pulumi.Input[str]] = None, builder_version: Optional[pulumi.Input[str]] = None, - deployment_properties: Optional[pulumi.Input['DeploymentPropertiesArgs']] = None, - docker_build_context: Optional[pulumi.Input[str]] = None, - dockerfile: Optional[pulumi.Input[str]] = None, dockerfile_generation_mode: Optional[pulumi.Input[Union[str, 'DockerfileGenerationMode']]] = None, dockerfile_output_directory: Optional[pulumi.Input[str]] = None, generation_language: Optional[pulumi.Input[Union[str, 'GenerationLanguage']]] = None, + github_workflow_profile: Optional[pulumi.Input['GitHubWorkflowProfileArgs']] = None, image_name: Optional[pulumi.Input[str]] = None, image_tag: Optional[pulumi.Input[str]] = None, language_version: Optional[pulumi.Input[str]] = None, - last_workflow_run: Optional[pulumi.Input['WorkflowRunArgs']] = None, location: Optional[pulumi.Input[str]] = None, manifest_generation_mode: Optional[pulumi.Input[Union[str, 'ManifestGenerationMode']]] = None, manifest_output_directory: Optional[pulumi.Input[str]] = None, manifest_type: Optional[pulumi.Input[Union[str, 'GenerationManifestType']]] = None, namespace: Optional[pulumi.Input[str]] = None, - oidc_credentials: Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']] = None, port: Optional[pulumi.Input[str]] = None, - repository_name: Optional[pulumi.Input[str]] = None, - repository_owner: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, workflow_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Workflow resource. :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input['ACRArgs'] acr: Information on the azure container registry - :param pulumi.Input[str] aks_resource_id: The Azure Kubernetes Cluster Resource the application will be deployed to. :param pulumi.Input[str] app_name: The name of the app. - :param pulumi.Input[str] branch_name: Repository Branch Name :param pulumi.Input[str] builder_version: The version of the language image used for building the code in the generated dockerfile. - :param pulumi.Input[str] docker_build_context: Path to Dockerfile Build Context within the repository. - :param pulumi.Input[str] dockerfile: Path to the Dockerfile within the repository. :param pulumi.Input[Union[str, 'DockerfileGenerationMode']] dockerfile_generation_mode: The mode of generation to be used for generating Dockerfiles. :param pulumi.Input[str] dockerfile_output_directory: The directory to output the generated Dockerfile to. :param pulumi.Input[Union[str, 'GenerationLanguage']] generation_language: The programming language used. + :param pulumi.Input['GitHubWorkflowProfileArgs'] github_workflow_profile: Profile of a github workflow. :param pulumi.Input[str] image_name: The name of the image to be generated. :param pulumi.Input[str] image_tag: The tag to apply to the generated image. :param pulumi.Input[str] language_version: The version of the language image used for execution in the generated dockerfile. @@ -64,45 +51,30 @@ def __init__(__self__, *, :param pulumi.Input[Union[str, 'ManifestGenerationMode']] manifest_generation_mode: The mode of generation to be used for generating Manifest. :param pulumi.Input[str] manifest_output_directory: The directory to output the generated manifests to. :param pulumi.Input[Union[str, 'GenerationManifestType']] manifest_type: Determines the type of manifests to be generated. - :param pulumi.Input[str] namespace: Kubernetes namespace the application is deployed to. - :param pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs'] oidc_credentials: The fields needed for OIDC with GitHub. + :param pulumi.Input[str] namespace: The namespace to deploy the application to. :param pulumi.Input[str] port: The port the application is exposed on. - :param pulumi.Input[str] repository_name: Repository Name - :param pulumi.Input[str] repository_owner: Repository Owner :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. :param pulumi.Input[str] workflow_name: The name of the workflow resource. """ pulumi.set(__self__, "resource_group_name", resource_group_name) - if acr is not None: - pulumi.set(__self__, "acr", acr) - if aks_resource_id is not None: - pulumi.set(__self__, "aks_resource_id", aks_resource_id) if app_name is not None: pulumi.set(__self__, "app_name", app_name) - if branch_name is not None: - pulumi.set(__self__, "branch_name", branch_name) if builder_version is not None: pulumi.set(__self__, "builder_version", builder_version) - if deployment_properties is not None: - pulumi.set(__self__, "deployment_properties", deployment_properties) - if docker_build_context is not None: - pulumi.set(__self__, "docker_build_context", docker_build_context) - if dockerfile is not None: - pulumi.set(__self__, "dockerfile", dockerfile) if dockerfile_generation_mode is not None: pulumi.set(__self__, "dockerfile_generation_mode", dockerfile_generation_mode) if dockerfile_output_directory is not None: pulumi.set(__self__, "dockerfile_output_directory", dockerfile_output_directory) if generation_language is not None: pulumi.set(__self__, "generation_language", generation_language) + if github_workflow_profile is not None: + pulumi.set(__self__, "github_workflow_profile", github_workflow_profile) if image_name is not None: pulumi.set(__self__, "image_name", image_name) if image_tag is not None: pulumi.set(__self__, "image_tag", image_tag) if language_version is not None: pulumi.set(__self__, "language_version", language_version) - if last_workflow_run is not None: - pulumi.set(__self__, "last_workflow_run", last_workflow_run) if location is not None: pulumi.set(__self__, "location", location) if manifest_generation_mode is not None: @@ -113,14 +85,8 @@ def __init__(__self__, *, pulumi.set(__self__, "manifest_type", manifest_type) if namespace is not None: pulumi.set(__self__, "namespace", namespace) - if oidc_credentials is not None: - pulumi.set(__self__, "oidc_credentials", oidc_credentials) if port is not None: pulumi.set(__self__, "port", port) - if repository_name is not None: - pulumi.set(__self__, "repository_name", repository_name) - if repository_owner is not None: - pulumi.set(__self__, "repository_owner", repository_owner) if tags is not None: pulumi.set(__self__, "tags", tags) if workflow_name is not None: @@ -138,30 +104,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter - def acr(self) -> Optional[pulumi.Input['ACRArgs']]: - """ - Information on the azure container registry - """ - return pulumi.get(self, "acr") - - @acr.setter - def acr(self, value: Optional[pulumi.Input['ACRArgs']]): - pulumi.set(self, "acr", value) - - @property - @pulumi.getter(name="aksResourceId") - def aks_resource_id(self) -> Optional[pulumi.Input[str]]: - """ - The Azure Kubernetes Cluster Resource the application will be deployed to. - """ - return pulumi.get(self, "aks_resource_id") - - @aks_resource_id.setter - def aks_resource_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "aks_resource_id", value) - @property @pulumi.getter(name="appName") def app_name(self) -> Optional[pulumi.Input[str]]: @@ -174,18 +116,6 @@ def app_name(self) -> Optional[pulumi.Input[str]]: def app_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "app_name", value) - @property - @pulumi.getter(name="branchName") - def branch_name(self) -> Optional[pulumi.Input[str]]: - """ - Repository Branch Name - """ - return pulumi.get(self, "branch_name") - - @branch_name.setter - def branch_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "branch_name", value) - @property @pulumi.getter(name="builderVersion") def builder_version(self) -> Optional[pulumi.Input[str]]: @@ -198,39 +128,6 @@ def builder_version(self) -> Optional[pulumi.Input[str]]: def builder_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "builder_version", value) - @property - @pulumi.getter(name="deploymentProperties") - def deployment_properties(self) -> Optional[pulumi.Input['DeploymentPropertiesArgs']]: - return pulumi.get(self, "deployment_properties") - - @deployment_properties.setter - def deployment_properties(self, value: Optional[pulumi.Input['DeploymentPropertiesArgs']]): - pulumi.set(self, "deployment_properties", value) - - @property - @pulumi.getter(name="dockerBuildContext") - def docker_build_context(self) -> Optional[pulumi.Input[str]]: - """ - Path to Dockerfile Build Context within the repository. - """ - return pulumi.get(self, "docker_build_context") - - @docker_build_context.setter - def docker_build_context(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "docker_build_context", value) - - @property - @pulumi.getter - def dockerfile(self) -> Optional[pulumi.Input[str]]: - """ - Path to the Dockerfile within the repository. - """ - return pulumi.get(self, "dockerfile") - - @dockerfile.setter - def dockerfile(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "dockerfile", value) - @property @pulumi.getter(name="dockerfileGenerationMode") def dockerfile_generation_mode(self) -> Optional[pulumi.Input[Union[str, 'DockerfileGenerationMode']]]: @@ -267,6 +164,18 @@ def generation_language(self) -> Optional[pulumi.Input[Union[str, 'GenerationLan def generation_language(self, value: Optional[pulumi.Input[Union[str, 'GenerationLanguage']]]): pulumi.set(self, "generation_language", value) + @property + @pulumi.getter(name="githubWorkflowProfile") + def github_workflow_profile(self) -> Optional[pulumi.Input['GitHubWorkflowProfileArgs']]: + """ + Profile of a github workflow. + """ + return pulumi.get(self, "github_workflow_profile") + + @github_workflow_profile.setter + def github_workflow_profile(self, value: Optional[pulumi.Input['GitHubWorkflowProfileArgs']]): + pulumi.set(self, "github_workflow_profile", value) + @property @pulumi.getter(name="imageName") def image_name(self) -> Optional[pulumi.Input[str]]: @@ -303,15 +212,6 @@ def language_version(self) -> Optional[pulumi.Input[str]]: def language_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "language_version", value) - @property - @pulumi.getter(name="lastWorkflowRun") - def last_workflow_run(self) -> Optional[pulumi.Input['WorkflowRunArgs']]: - return pulumi.get(self, "last_workflow_run") - - @last_workflow_run.setter - def last_workflow_run(self, value: Optional[pulumi.Input['WorkflowRunArgs']]): - pulumi.set(self, "last_workflow_run", value) - @property @pulumi.getter def location(self) -> Optional[pulumi.Input[str]]: @@ -364,7 +264,7 @@ def manifest_type(self, value: Optional[pulumi.Input[Union[str, 'GenerationManif @pulumi.getter def namespace(self) -> Optional[pulumi.Input[str]]: """ - Kubernetes namespace the application is deployed to. + The namespace to deploy the application to. """ return pulumi.get(self, "namespace") @@ -372,18 +272,6 @@ def namespace(self) -> Optional[pulumi.Input[str]]: def namespace(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "namespace", value) - @property - @pulumi.getter(name="oidcCredentials") - def oidc_credentials(self) -> Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']]: - """ - The fields needed for OIDC with GitHub. - """ - return pulumi.get(self, "oidc_credentials") - - @oidc_credentials.setter - def oidc_credentials(self, value: Optional[pulumi.Input['GitHubWorkflowProfileOidcCredentialsArgs']]): - pulumi.set(self, "oidc_credentials", value) - @property @pulumi.getter def port(self) -> Optional[pulumi.Input[str]]: @@ -396,30 +284,6 @@ def port(self) -> Optional[pulumi.Input[str]]: def port(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "port", value) - @property - @pulumi.getter(name="repositoryName") - def repository_name(self) -> Optional[pulumi.Input[str]]: - """ - Repository Name - """ - return pulumi.get(self, "repository_name") - - @repository_name.setter - def repository_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "repository_name", value) - - @property - @pulumi.getter(name="repositoryOwner") - def repository_owner(self) -> Optional[pulumi.Input[str]]: - """ - Repository Owner - """ - return pulumi.get(self, "repository_owner") - - @repository_owner.setter - def repository_owner(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "repository_owner", value) - @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -450,30 +314,21 @@ class Workflow(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - acr: Optional[pulumi.Input[pulumi.InputType['ACRArgs']]] = None, - aks_resource_id: Optional[pulumi.Input[str]] = None, app_name: Optional[pulumi.Input[str]] = None, - branch_name: Optional[pulumi.Input[str]] = None, builder_version: Optional[pulumi.Input[str]] = None, - deployment_properties: Optional[pulumi.Input[pulumi.InputType['DeploymentPropertiesArgs']]] = None, - docker_build_context: Optional[pulumi.Input[str]] = None, - dockerfile: Optional[pulumi.Input[str]] = None, dockerfile_generation_mode: Optional[pulumi.Input[Union[str, 'DockerfileGenerationMode']]] = None, dockerfile_output_directory: Optional[pulumi.Input[str]] = None, generation_language: Optional[pulumi.Input[Union[str, 'GenerationLanguage']]] = None, + github_workflow_profile: Optional[pulumi.Input[pulumi.InputType['GitHubWorkflowProfileArgs']]] = None, image_name: Optional[pulumi.Input[str]] = None, image_tag: Optional[pulumi.Input[str]] = None, language_version: Optional[pulumi.Input[str]] = None, - last_workflow_run: Optional[pulumi.Input[pulumi.InputType['WorkflowRunArgs']]] = None, location: Optional[pulumi.Input[str]] = None, manifest_generation_mode: Optional[pulumi.Input[Union[str, 'ManifestGenerationMode']]] = None, manifest_output_directory: Optional[pulumi.Input[str]] = None, manifest_type: Optional[pulumi.Input[Union[str, 'GenerationManifestType']]] = None, namespace: Optional[pulumi.Input[str]] = None, - oidc_credentials: Optional[pulumi.Input[pulumi.InputType['GitHubWorkflowProfileOidcCredentialsArgs']]] = None, port: Optional[pulumi.Input[str]] = None, - repository_name: Optional[pulumi.Input[str]] = None, - repository_owner: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, workflow_name: Optional[pulumi.Input[str]] = None, @@ -486,16 +341,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['ACRArgs']] acr: Information on the azure container registry - :param pulumi.Input[str] aks_resource_id: The Azure Kubernetes Cluster Resource the application will be deployed to. :param pulumi.Input[str] app_name: The name of the app. - :param pulumi.Input[str] branch_name: Repository Branch Name :param pulumi.Input[str] builder_version: The version of the language image used for building the code in the generated dockerfile. - :param pulumi.Input[str] docker_build_context: Path to Dockerfile Build Context within the repository. - :param pulumi.Input[str] dockerfile: Path to the Dockerfile within the repository. :param pulumi.Input[Union[str, 'DockerfileGenerationMode']] dockerfile_generation_mode: The mode of generation to be used for generating Dockerfiles. :param pulumi.Input[str] dockerfile_output_directory: The directory to output the generated Dockerfile to. :param pulumi.Input[Union[str, 'GenerationLanguage']] generation_language: The programming language used. + :param pulumi.Input[pulumi.InputType['GitHubWorkflowProfileArgs']] github_workflow_profile: Profile of a github workflow. :param pulumi.Input[str] image_name: The name of the image to be generated. :param pulumi.Input[str] image_tag: The tag to apply to the generated image. :param pulumi.Input[str] language_version: The version of the language image used for execution in the generated dockerfile. @@ -503,11 +354,8 @@ def __init__(__self__, :param pulumi.Input[Union[str, 'ManifestGenerationMode']] manifest_generation_mode: The mode of generation to be used for generating Manifest. :param pulumi.Input[str] manifest_output_directory: The directory to output the generated manifests to. :param pulumi.Input[Union[str, 'GenerationManifestType']] manifest_type: Determines the type of manifests to be generated. - :param pulumi.Input[str] namespace: Kubernetes namespace the application is deployed to. - :param pulumi.Input[pulumi.InputType['GitHubWorkflowProfileOidcCredentialsArgs']] oidc_credentials: The fields needed for OIDC with GitHub. + :param pulumi.Input[str] namespace: The namespace to deploy the application to. :param pulumi.Input[str] port: The port the application is exposed on. - :param pulumi.Input[str] repository_name: Repository Name - :param pulumi.Input[str] repository_owner: Repository Owner :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. :param pulumi.Input[str] workflow_name: The name of the workflow resource. @@ -539,30 +387,21 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - acr: Optional[pulumi.Input[pulumi.InputType['ACRArgs']]] = None, - aks_resource_id: Optional[pulumi.Input[str]] = None, app_name: Optional[pulumi.Input[str]] = None, - branch_name: Optional[pulumi.Input[str]] = None, builder_version: Optional[pulumi.Input[str]] = None, - deployment_properties: Optional[pulumi.Input[pulumi.InputType['DeploymentPropertiesArgs']]] = None, - docker_build_context: Optional[pulumi.Input[str]] = None, - dockerfile: Optional[pulumi.Input[str]] = None, dockerfile_generation_mode: Optional[pulumi.Input[Union[str, 'DockerfileGenerationMode']]] = None, dockerfile_output_directory: Optional[pulumi.Input[str]] = None, generation_language: Optional[pulumi.Input[Union[str, 'GenerationLanguage']]] = None, + github_workflow_profile: Optional[pulumi.Input[pulumi.InputType['GitHubWorkflowProfileArgs']]] = None, image_name: Optional[pulumi.Input[str]] = None, image_tag: Optional[pulumi.Input[str]] = None, language_version: Optional[pulumi.Input[str]] = None, - last_workflow_run: Optional[pulumi.Input[pulumi.InputType['WorkflowRunArgs']]] = None, location: Optional[pulumi.Input[str]] = None, manifest_generation_mode: Optional[pulumi.Input[Union[str, 'ManifestGenerationMode']]] = None, manifest_output_directory: Optional[pulumi.Input[str]] = None, manifest_type: Optional[pulumi.Input[Union[str, 'GenerationManifestType']]] = None, namespace: Optional[pulumi.Input[str]] = None, - oidc_credentials: Optional[pulumi.Input[pulumi.InputType['GitHubWorkflowProfileOidcCredentialsArgs']]] = None, port: Optional[pulumi.Input[str]] = None, - repository_name: Optional[pulumi.Input[str]] = None, - repository_owner: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, workflow_name: Optional[pulumi.Input[str]] = None, @@ -575,40 +414,27 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = WorkflowArgs.__new__(WorkflowArgs) - __props__.__dict__["acr"] = acr - __props__.__dict__["aks_resource_id"] = aks_resource_id __props__.__dict__["app_name"] = app_name - __props__.__dict__["branch_name"] = branch_name __props__.__dict__["builder_version"] = builder_version - __props__.__dict__["deployment_properties"] = deployment_properties - __props__.__dict__["docker_build_context"] = docker_build_context - __props__.__dict__["dockerfile"] = dockerfile __props__.__dict__["dockerfile_generation_mode"] = dockerfile_generation_mode __props__.__dict__["dockerfile_output_directory"] = dockerfile_output_directory __props__.__dict__["generation_language"] = generation_language + __props__.__dict__["github_workflow_profile"] = github_workflow_profile __props__.__dict__["image_name"] = image_name __props__.__dict__["image_tag"] = image_tag __props__.__dict__["language_version"] = language_version - __props__.__dict__["last_workflow_run"] = last_workflow_run __props__.__dict__["location"] = location __props__.__dict__["manifest_generation_mode"] = manifest_generation_mode __props__.__dict__["manifest_output_directory"] = manifest_output_directory __props__.__dict__["manifest_type"] = manifest_type __props__.__dict__["namespace"] = namespace - __props__.__dict__["oidc_credentials"] = oidc_credentials __props__.__dict__["port"] = port - __props__.__dict__["repository_name"] = repository_name - __props__.__dict__["repository_owner"] = repository_owner if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["tags"] = tags __props__.__dict__["workflow_name"] = workflow_name - __props__.__dict__["auth_status"] = None __props__.__dict__["name"] = None - __props__.__dict__["pr_status"] = None - __props__.__dict__["pr_url"] = None - __props__.__dict__["pull_number"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:devhub/v20220401preview:Workflow"), pulumi.Alias(type_="azure-native:devhub/v20221011preview:Workflow"), pulumi.Alias(type_="azure-native:devhub/v20230801:Workflow")]) @@ -635,56 +461,27 @@ def get(resource_name: str, __props__ = WorkflowArgs.__new__(WorkflowArgs) - __props__.__dict__["acr"] = None - __props__.__dict__["aks_resource_id"] = None __props__.__dict__["app_name"] = None - __props__.__dict__["auth_status"] = None - __props__.__dict__["branch_name"] = None __props__.__dict__["builder_version"] = None - __props__.__dict__["deployment_properties"] = None - __props__.__dict__["docker_build_context"] = None - __props__.__dict__["dockerfile"] = None __props__.__dict__["dockerfile_generation_mode"] = None __props__.__dict__["dockerfile_output_directory"] = None __props__.__dict__["generation_language"] = None + __props__.__dict__["github_workflow_profile"] = None __props__.__dict__["image_name"] = None __props__.__dict__["image_tag"] = None __props__.__dict__["language_version"] = None - __props__.__dict__["last_workflow_run"] = None __props__.__dict__["location"] = None __props__.__dict__["manifest_generation_mode"] = None __props__.__dict__["manifest_output_directory"] = None __props__.__dict__["manifest_type"] = None __props__.__dict__["name"] = None __props__.__dict__["namespace"] = None - __props__.__dict__["oidc_credentials"] = None __props__.__dict__["port"] = None - __props__.__dict__["pr_status"] = None - __props__.__dict__["pr_url"] = None - __props__.__dict__["pull_number"] = None - __props__.__dict__["repository_name"] = None - __props__.__dict__["repository_owner"] = None __props__.__dict__["system_data"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None return Workflow(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter - def acr(self) -> pulumi.Output[Optional['outputs.ACRResponse']]: - """ - Information on the azure container registry - """ - return pulumi.get(self, "acr") - - @property - @pulumi.getter(name="aksResourceId") - def aks_resource_id(self) -> pulumi.Output[Optional[str]]: - """ - The Azure Kubernetes Cluster Resource the application will be deployed to. - """ - return pulumi.get(self, "aks_resource_id") - @property @pulumi.getter(name="appName") def app_name(self) -> pulumi.Output[Optional[str]]: @@ -693,22 +490,6 @@ def app_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "app_name") - @property - @pulumi.getter(name="authStatus") - def auth_status(self) -> pulumi.Output[str]: - """ - Determines the authorization status of requests. - """ - return pulumi.get(self, "auth_status") - - @property - @pulumi.getter(name="branchName") - def branch_name(self) -> pulumi.Output[Optional[str]]: - """ - Repository Branch Name - """ - return pulumi.get(self, "branch_name") - @property @pulumi.getter(name="builderVersion") def builder_version(self) -> pulumi.Output[Optional[str]]: @@ -717,27 +498,6 @@ def builder_version(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "builder_version") - @property - @pulumi.getter(name="deploymentProperties") - def deployment_properties(self) -> pulumi.Output[Optional['outputs.DeploymentPropertiesResponse']]: - return pulumi.get(self, "deployment_properties") - - @property - @pulumi.getter(name="dockerBuildContext") - def docker_build_context(self) -> pulumi.Output[Optional[str]]: - """ - Path to Dockerfile Build Context within the repository. - """ - return pulumi.get(self, "docker_build_context") - - @property - @pulumi.getter - def dockerfile(self) -> pulumi.Output[Optional[str]]: - """ - Path to the Dockerfile within the repository. - """ - return pulumi.get(self, "dockerfile") - @property @pulumi.getter(name="dockerfileGenerationMode") def dockerfile_generation_mode(self) -> pulumi.Output[Optional[str]]: @@ -762,6 +522,14 @@ def generation_language(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "generation_language") + @property + @pulumi.getter(name="githubWorkflowProfile") + def github_workflow_profile(self) -> pulumi.Output[Optional['outputs.GitHubWorkflowProfileResponse']]: + """ + Profile of a github workflow. + """ + return pulumi.get(self, "github_workflow_profile") + @property @pulumi.getter(name="imageName") def image_name(self) -> pulumi.Output[Optional[str]]: @@ -786,11 +554,6 @@ def language_version(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "language_version") - @property - @pulumi.getter(name="lastWorkflowRun") - def last_workflow_run(self) -> pulumi.Output[Optional['outputs.WorkflowRunResponse']]: - return pulumi.get(self, "last_workflow_run") - @property @pulumi.getter def location(self) -> pulumi.Output[str]: @@ -835,18 +598,10 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def namespace(self) -> pulumi.Output[Optional[str]]: """ - Kubernetes namespace the application is deployed to. + The namespace to deploy the application to. """ return pulumi.get(self, "namespace") - @property - @pulumi.getter(name="oidcCredentials") - def oidc_credentials(self) -> pulumi.Output[Optional['outputs.GitHubWorkflowProfileResponseOidcCredentials']]: - """ - The fields needed for OIDC with GitHub. - """ - return pulumi.get(self, "oidc_credentials") - @property @pulumi.getter def port(self) -> pulumi.Output[Optional[str]]: @@ -855,46 +610,6 @@ def port(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "port") - @property - @pulumi.getter(name="prStatus") - def pr_status(self) -> pulumi.Output[str]: - """ - The status of the Pull Request submitted against the users repository. - """ - return pulumi.get(self, "pr_status") - - @property - @pulumi.getter(name="prURL") - def pr_url(self) -> pulumi.Output[str]: - """ - The URL to the Pull Request submitted against the users repository. - """ - return pulumi.get(self, "pr_url") - - @property - @pulumi.getter(name="pullNumber") - def pull_number(self) -> pulumi.Output[int]: - """ - The number associated with the submitted pull request. - """ - return pulumi.get(self, "pull_number") - - @property - @pulumi.getter(name="repositoryName") - def repository_name(self) -> pulumi.Output[Optional[str]]: - """ - Repository Name - """ - return pulumi.get(self, "repository_name") - - @property - @pulumi.getter(name="repositoryOwner") - def repository_owner(self) -> pulumi.Output[Optional[str]]: - """ - Repository Owner - """ - return pulumi.get(self, "repository_owner") - @property @pulumi.getter(name="systemData") def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: diff --git a/sdk/python/pulumi_azure_native/education/get_lab.py b/sdk/python/pulumi_azure_native/education/get_lab.py index 1cc5890bc9f4..d51c257c1128 100644 --- a/sdk/python/pulumi_azure_native/education/get_lab.py +++ b/sdk/python/pulumi_azure_native/education/get_lab.py @@ -22,7 +22,7 @@ class GetLabResult: """ Lab details. """ - def __init__(__self__, budget_per_student=None, currency=None, description=None, display_name=None, effective_date=None, expiration_date=None, id=None, invitation_code=None, max_student_count=None, name=None, status=None, system_data=None, type=None, value=None): + def __init__(__self__, budget_per_student=None, currency=None, description=None, display_name=None, effective_date=None, expiration_date=None, id=None, invitation_code=None, max_student_count=None, name=None, status=None, system_data=None, total_budget=None, type=None, value=None): if budget_per_student and not isinstance(budget_per_student, dict): raise TypeError("Expected argument 'budget_per_student' to be a dict") pulumi.set(__self__, "budget_per_student", budget_per_student) @@ -59,6 +59,9 @@ def __init__(__self__, budget_per_student=None, currency=None, description=None, 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 total_budget and not isinstance(total_budget, dict): + raise TypeError("Expected argument 'total_budget' to be a dict") + pulumi.set(__self__, "total_budget", total_budget) if type and not isinstance(type, str): raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) @@ -162,6 +165,14 @@ def system_data(self) -> 'outputs.SystemDataResponse': """ return pulumi.get(self, "system_data") + @property + @pulumi.getter(name="totalBudget") + def total_budget(self) -> 'outputs.AmountResponse': + """ + Total budget + """ + return pulumi.get(self, "total_budget") + @property @pulumi.getter def type(self) -> str: @@ -197,6 +208,7 @@ def __await__(self): name=self.name, status=self.status, system_data=self.system_data, + total_budget=self.total_budget, type=self.type, value=self.value) @@ -237,6 +249,7 @@ def get_lab(billing_account_name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), status=pulumi.get(__ret__, 'status'), system_data=pulumi.get(__ret__, 'system_data'), + total_budget=pulumi.get(__ret__, 'total_budget'), type=pulumi.get(__ret__, 'type'), value=pulumi.get(__ret__, 'value')) diff --git a/sdk/python/pulumi_azure_native/education/lab.py b/sdk/python/pulumi_azure_native/education/lab.py index ee47463fda8f..bf419df6a711 100644 --- a/sdk/python/pulumi_azure_native/education/lab.py +++ b/sdk/python/pulumi_azure_native/education/lab.py @@ -261,6 +261,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["status"] = None __props__.__dict__["system_data"] = None + __props__.__dict__["total_budget"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:education/v20211201preview:Lab")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -297,6 +298,7 @@ def get(resource_name: str, __props__.__dict__["name"] = None __props__.__dict__["status"] = None __props__.__dict__["system_data"] = None + __props__.__dict__["total_budget"] = None __props__.__dict__["type"] = None __props__.__dict__["value"] = None return Lab(resource_name, opts=opts, __props__=__props__) @@ -389,6 +391,14 @@ def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: """ return pulumi.get(self, "system_data") + @property + @pulumi.getter(name="totalBudget") + def total_budget(self) -> pulumi.Output['outputs.AmountResponse']: + """ + Total budget + """ + return pulumi.get(self, "total_budget") + @property @pulumi.getter def type(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure_native/education/v20211201preview/get_lab.py b/sdk/python/pulumi_azure_native/education/v20211201preview/get_lab.py index d0a48cb6d241..ba3128c2dec3 100644 --- a/sdk/python/pulumi_azure_native/education/v20211201preview/get_lab.py +++ b/sdk/python/pulumi_azure_native/education/v20211201preview/get_lab.py @@ -22,7 +22,7 @@ class GetLabResult: """ Lab details. """ - def __init__(__self__, budget_per_student=None, currency=None, description=None, display_name=None, effective_date=None, expiration_date=None, id=None, invitation_code=None, max_student_count=None, name=None, status=None, system_data=None, type=None, value=None): + def __init__(__self__, budget_per_student=None, currency=None, description=None, display_name=None, effective_date=None, expiration_date=None, id=None, invitation_code=None, max_student_count=None, name=None, status=None, system_data=None, total_budget=None, type=None, value=None): if budget_per_student and not isinstance(budget_per_student, dict): raise TypeError("Expected argument 'budget_per_student' to be a dict") pulumi.set(__self__, "budget_per_student", budget_per_student) @@ -59,6 +59,9 @@ def __init__(__self__, budget_per_student=None, currency=None, description=None, 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 total_budget and not isinstance(total_budget, dict): + raise TypeError("Expected argument 'total_budget' to be a dict") + pulumi.set(__self__, "total_budget", total_budget) if type and not isinstance(type, str): raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) @@ -162,6 +165,14 @@ def system_data(self) -> 'outputs.SystemDataResponse': """ return pulumi.get(self, "system_data") + @property + @pulumi.getter(name="totalBudget") + def total_budget(self) -> 'outputs.AmountResponse': + """ + Total budget + """ + return pulumi.get(self, "total_budget") + @property @pulumi.getter def type(self) -> str: @@ -197,6 +208,7 @@ def __await__(self): name=self.name, status=self.status, system_data=self.system_data, + total_budget=self.total_budget, type=self.type, value=self.value) @@ -236,6 +248,7 @@ def get_lab(billing_account_name: Optional[str] = None, name=pulumi.get(__ret__, 'name'), status=pulumi.get(__ret__, 'status'), system_data=pulumi.get(__ret__, 'system_data'), + total_budget=pulumi.get(__ret__, 'total_budget'), type=pulumi.get(__ret__, 'type'), value=pulumi.get(__ret__, 'value')) diff --git a/sdk/python/pulumi_azure_native/education/v20211201preview/lab.py b/sdk/python/pulumi_azure_native/education/v20211201preview/lab.py index 0a18e08fa524..36505ae20ab4 100644 --- a/sdk/python/pulumi_azure_native/education/v20211201preview/lab.py +++ b/sdk/python/pulumi_azure_native/education/v20211201preview/lab.py @@ -259,6 +259,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = None __props__.__dict__["status"] = None __props__.__dict__["system_data"] = None + __props__.__dict__["total_budget"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:education:Lab")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -295,6 +296,7 @@ def get(resource_name: str, __props__.__dict__["name"] = None __props__.__dict__["status"] = None __props__.__dict__["system_data"] = None + __props__.__dict__["total_budget"] = None __props__.__dict__["type"] = None __props__.__dict__["value"] = None return Lab(resource_name, opts=opts, __props__=__props__) @@ -387,6 +389,14 @@ def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']: """ return pulumi.get(self, "system_data") + @property + @pulumi.getter(name="totalBudget") + def total_budget(self) -> pulumi.Output['outputs.AmountResponse']: + """ + Total budget + """ + return pulumi.get(self, "total_budget") + @property @pulumi.getter def type(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_azure_native/insights/v20150501/_inputs.py b/sdk/python/pulumi_azure_native/insights/v20150501/_inputs.py index 19b1c3f898fb..ca2f19ce4228 100644 --- a/sdk/python/pulumi_azure_native/insights/v20150501/_inputs.py +++ b/sdk/python/pulumi_azure_native/insights/v20150501/_inputs.py @@ -14,6 +14,7 @@ 'ApplicationInsightsComponentAnalyticsItemPropertiesArgs', 'ApplicationInsightsComponentDataVolumeCapArgs', 'ApplicationInsightsComponentProactiveDetectionConfigurationRuleDefinitionsArgs', + 'WorkbookPropertiesArgs', ] @pulumi.input_type @@ -248,3 +249,151 @@ def supports_email_notifications(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "supports_email_notifications", value) +@pulumi.input_type +class WorkbookPropertiesArgs: + def __init__(__self__, *, + category: pulumi.Input[str], + name: pulumi.Input[str], + serialized_data: pulumi.Input[str], + shared_type_kind: Optional[pulumi.Input[Union[str, 'SharedTypeKind']]] = None, + user_id: pulumi.Input[str], + workbook_id: pulumi.Input[str], + source_resource_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + Properties that contain a workbook. + :param pulumi.Input[str] category: Workbook category, as defined by the user at creation time. + :param pulumi.Input[str] name: The user-defined name of the workbook. + :param pulumi.Input[str] serialized_data: Configuration of this particular workbook. Configuration data is a string containing valid JSON + :param pulumi.Input[Union[str, 'SharedTypeKind']] shared_type_kind: Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. + :param pulumi.Input[str] user_id: Unique user id of the specific user that owns this workbook. + :param pulumi.Input[str] workbook_id: Internally assigned unique id of the workbook definition. + :param pulumi.Input[str] source_resource_id: Optional resourceId for a source resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of 0 or more tags that are associated with this workbook definition + :param pulumi.Input[str] version: This instance's version of the data model. This can change as new features are added that can be marked workbook. + """ + pulumi.set(__self__, "category", category) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "serialized_data", serialized_data) + if shared_type_kind is None: + shared_type_kind = 'shared' + pulumi.set(__self__, "shared_type_kind", shared_type_kind) + pulumi.set(__self__, "user_id", user_id) + pulumi.set(__self__, "workbook_id", workbook_id) + if source_resource_id is not None: + pulumi.set(__self__, "source_resource_id", source_resource_id) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def category(self) -> pulumi.Input[str]: + """ + Workbook category, as defined by the user at creation time. + """ + return pulumi.get(self, "category") + + @category.setter + def category(self, value: pulumi.Input[str]): + pulumi.set(self, "category", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The user-defined name of the workbook. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="serializedData") + def serialized_data(self) -> pulumi.Input[str]: + """ + Configuration of this particular workbook. Configuration data is a string containing valid JSON + """ + return pulumi.get(self, "serialized_data") + + @serialized_data.setter + def serialized_data(self, value: pulumi.Input[str]): + pulumi.set(self, "serialized_data", value) + + @property + @pulumi.getter(name="sharedTypeKind") + def shared_type_kind(self) -> pulumi.Input[Union[str, 'SharedTypeKind']]: + """ + Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. + """ + return pulumi.get(self, "shared_type_kind") + + @shared_type_kind.setter + def shared_type_kind(self, value: pulumi.Input[Union[str, 'SharedTypeKind']]): + pulumi.set(self, "shared_type_kind", value) + + @property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Input[str]: + """ + Unique user id of the specific user that owns this workbook. + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: pulumi.Input[str]): + pulumi.set(self, "user_id", value) + + @property + @pulumi.getter(name="workbookId") + def workbook_id(self) -> pulumi.Input[str]: + """ + Internally assigned unique id of the workbook definition. + """ + return pulumi.get(self, "workbook_id") + + @workbook_id.setter + def workbook_id(self, value: pulumi.Input[str]): + pulumi.set(self, "workbook_id", value) + + @property + @pulumi.getter(name="sourceResourceId") + def source_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + Optional resourceId for a source resource. + """ + return pulumi.get(self, "source_resource_id") + + @source_resource_id.setter + def source_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_resource_id", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of 0 or more tags that are associated with this workbook definition + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + This instance's version of the data model. This can change as new features are added that can be marked workbook. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + diff --git a/sdk/python/pulumi_azure_native/insights/v20150501/get_workbook.py b/sdk/python/pulumi_azure_native/insights/v20150501/get_workbook.py index 4c9803bc630a..488f39defd13 100644 --- a/sdk/python/pulumi_azure_native/insights/v20150501/get_workbook.py +++ b/sdk/python/pulumi_azure_native/insights/v20150501/get_workbook.py @@ -8,6 +8,7 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs __all__ = [ 'GetWorkbookResult', @@ -21,10 +22,7 @@ class GetWorkbookResult: """ An Application Insights workbook definition. """ - def __init__(__self__, category=None, id=None, kind=None, location=None, name=None, serialized_data=None, shared_type_kind=None, source_resource_id=None, tags=None, time_modified=None, type=None, user_id=None, version=None, workbook_id=None): - if category and not isinstance(category, str): - raise TypeError("Expected argument 'category' to be a str") - pulumi.set(__self__, "category", category) + def __init__(__self__, id=None, kind=None, location=None, name=None, properties=None, tags=None, type=None): if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -37,41 +35,15 @@ def __init__(__self__, category=None, id=None, kind=None, location=None, name=No if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if serialized_data and not isinstance(serialized_data, str): - raise TypeError("Expected argument 'serialized_data' to be a str") - pulumi.set(__self__, "serialized_data", serialized_data) - if shared_type_kind and not isinstance(shared_type_kind, str): - raise TypeError("Expected argument 'shared_type_kind' to be a str") - pulumi.set(__self__, "shared_type_kind", shared_type_kind) - if source_resource_id and not isinstance(source_resource_id, str): - raise TypeError("Expected argument 'source_resource_id' to be a str") - pulumi.set(__self__, "source_resource_id", source_resource_id) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) if tags and not isinstance(tags, dict): raise TypeError("Expected argument 'tags' to be a dict") pulumi.set(__self__, "tags", tags) - if time_modified and not isinstance(time_modified, str): - raise TypeError("Expected argument 'time_modified' to be a str") - pulumi.set(__self__, "time_modified", time_modified) if type and not isinstance(type, str): raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) - if user_id and not isinstance(user_id, str): - raise TypeError("Expected argument 'user_id' to be a str") - pulumi.set(__self__, "user_id", user_id) - if version and not isinstance(version, str): - raise TypeError("Expected argument 'version' to be a str") - pulumi.set(__self__, "version", version) - if workbook_id and not isinstance(workbook_id, str): - raise TypeError("Expected argument 'workbook_id' to be a str") - pulumi.set(__self__, "workbook_id", workbook_id) - - @property - @pulumi.getter - def category(self) -> str: - """ - Workbook category, as defined by the user at creation time. - """ - return pulumi.get(self, "category") @property @pulumi.getter @@ -106,28 +78,12 @@ def name(self) -> str: return pulumi.get(self, "name") @property - @pulumi.getter(name="serializedData") - def serialized_data(self) -> str: - """ - Configuration of this particular workbook. Configuration data is a string containing valid JSON - """ - return pulumi.get(self, "serialized_data") - - @property - @pulumi.getter(name="sharedTypeKind") - def shared_type_kind(self) -> str: - """ - Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. - """ - return pulumi.get(self, "shared_type_kind") - - @property - @pulumi.getter(name="sourceResourceId") - def source_resource_id(self) -> Optional[str]: + @pulumi.getter + def properties(self) -> 'outputs.WorkbookPropertiesResponse': """ - Optional resourceId for a source resource. + Metadata describing a web test for an Azure resource. """ - return pulumi.get(self, "source_resource_id") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -137,14 +93,6 @@ def tags(self) -> Optional[Mapping[str, str]]: """ return pulumi.get(self, "tags") - @property - @pulumi.getter(name="timeModified") - def time_modified(self) -> str: - """ - Date and time in UTC of the last modification that was made to this workbook definition. - """ - return pulumi.get(self, "time_modified") - @property @pulumi.getter def type(self) -> str: @@ -153,30 +101,6 @@ def type(self) -> str: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="userId") - def user_id(self) -> str: - """ - Unique user id of the specific user that owns this workbook. - """ - return pulumi.get(self, "user_id") - - @property - @pulumi.getter - def version(self) -> Optional[str]: - """ - This instance's version of the data model. This can change as new features are added that can be marked workbook. - """ - return pulumi.get(self, "version") - - @property - @pulumi.getter(name="workbookId") - def workbook_id(self) -> str: - """ - Internally assigned unique id of the workbook definition. - """ - return pulumi.get(self, "workbook_id") - class AwaitableGetWorkbookResult(GetWorkbookResult): # pylint: disable=using-constant-test @@ -184,20 +108,13 @@ def __await__(self): if False: yield self return GetWorkbookResult( - category=self.category, id=self.id, kind=self.kind, location=self.location, name=self.name, - serialized_data=self.serialized_data, - shared_type_kind=self.shared_type_kind, - source_resource_id=self.source_resource_id, + properties=self.properties, tags=self.tags, - time_modified=self.time_modified, - type=self.type, - user_id=self.user_id, - version=self.version, - workbook_id=self.workbook_id) + type=self.type) def get_workbook(resource_group_name: Optional[str] = None, @@ -217,20 +134,13 @@ def get_workbook(resource_group_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:insights/v20150501:getWorkbook', __args__, opts=opts, typ=GetWorkbookResult).value return AwaitableGetWorkbookResult( - category=pulumi.get(__ret__, 'category'), id=pulumi.get(__ret__, 'id'), kind=pulumi.get(__ret__, 'kind'), location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), - serialized_data=pulumi.get(__ret__, 'serialized_data'), - shared_type_kind=pulumi.get(__ret__, 'shared_type_kind'), - source_resource_id=pulumi.get(__ret__, 'source_resource_id'), + properties=pulumi.get(__ret__, 'properties'), tags=pulumi.get(__ret__, 'tags'), - time_modified=pulumi.get(__ret__, 'time_modified'), - type=pulumi.get(__ret__, 'type'), - user_id=pulumi.get(__ret__, 'user_id'), - version=pulumi.get(__ret__, 'version'), - workbook_id=pulumi.get(__ret__, 'workbook_id')) + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_workbook) diff --git a/sdk/python/pulumi_azure_native/insights/v20150501/outputs.py b/sdk/python/pulumi_azure_native/insights/v20150501/outputs.py index 716e2fb064bb..900555087070 100644 --- a/sdk/python/pulumi_azure_native/insights/v20150501/outputs.py +++ b/sdk/python/pulumi_azure_native/insights/v20150501/outputs.py @@ -14,6 +14,7 @@ 'ApplicationInsightsComponentAnalyticsItemPropertiesResponse', 'ApplicationInsightsComponentDataVolumeCapResponse', 'ApplicationInsightsComponentProactiveDetectionConfigurationResponseRuleDefinitions', + 'WorkbookPropertiesResponse', ] @pulumi.output_type @@ -296,3 +297,156 @@ def supports_email_notifications(self) -> Optional[bool]: return pulumi.get(self, "supports_email_notifications") +@pulumi.output_type +class WorkbookPropertiesResponse(dict): + """ + Properties that contain a workbook. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "serializedData": + suggest = "serialized_data" + elif key == "sharedTypeKind": + suggest = "shared_type_kind" + elif key == "timeModified": + suggest = "time_modified" + elif key == "userId": + suggest = "user_id" + elif key == "workbookId": + suggest = "workbook_id" + elif key == "sourceResourceId": + suggest = "source_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in WorkbookPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + WorkbookPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + WorkbookPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + category: str, + name: str, + serialized_data: str, + shared_type_kind: Optional[str] = None, + time_modified: str, + user_id: str, + workbook_id: str, + source_resource_id: Optional[str] = None, + tags: Optional[Sequence[str]] = None, + version: Optional[str] = None): + """ + Properties that contain a workbook. + :param str category: Workbook category, as defined by the user at creation time. + :param str name: The user-defined name of the workbook. + :param str serialized_data: Configuration of this particular workbook. Configuration data is a string containing valid JSON + :param str shared_type_kind: Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. + :param str time_modified: Date and time in UTC of the last modification that was made to this workbook definition. + :param str user_id: Unique user id of the specific user that owns this workbook. + :param str workbook_id: Internally assigned unique id of the workbook definition. + :param str source_resource_id: Optional resourceId for a source resource. + :param Sequence[str] tags: A list of 0 or more tags that are associated with this workbook definition + :param str version: This instance's version of the data model. This can change as new features are added that can be marked workbook. + """ + pulumi.set(__self__, "category", category) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "serialized_data", serialized_data) + if shared_type_kind is None: + shared_type_kind = 'shared' + pulumi.set(__self__, "shared_type_kind", shared_type_kind) + pulumi.set(__self__, "time_modified", time_modified) + pulumi.set(__self__, "user_id", user_id) + pulumi.set(__self__, "workbook_id", workbook_id) + if source_resource_id is not None: + pulumi.set(__self__, "source_resource_id", source_resource_id) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def category(self) -> str: + """ + Workbook category, as defined by the user at creation time. + """ + return pulumi.get(self, "category") + + @property + @pulumi.getter + def name(self) -> str: + """ + The user-defined name of the workbook. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="serializedData") + def serialized_data(self) -> str: + """ + Configuration of this particular workbook. Configuration data is a string containing valid JSON + """ + return pulumi.get(self, "serialized_data") + + @property + @pulumi.getter(name="sharedTypeKind") + def shared_type_kind(self) -> str: + """ + Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. + """ + return pulumi.get(self, "shared_type_kind") + + @property + @pulumi.getter(name="timeModified") + def time_modified(self) -> str: + """ + Date and time in UTC of the last modification that was made to this workbook definition. + """ + return pulumi.get(self, "time_modified") + + @property + @pulumi.getter(name="userId") + def user_id(self) -> str: + """ + Unique user id of the specific user that owns this workbook. + """ + return pulumi.get(self, "user_id") + + @property + @pulumi.getter(name="workbookId") + def workbook_id(self) -> str: + """ + Internally assigned unique id of the workbook definition. + """ + return pulumi.get(self, "workbook_id") + + @property + @pulumi.getter(name="sourceResourceId") + def source_resource_id(self) -> Optional[str]: + """ + Optional resourceId for a source resource. + """ + return pulumi.get(self, "source_resource_id") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence[str]]: + """ + A list of 0 or more tags that are associated with this workbook definition + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def version(self) -> Optional[str]: + """ + This instance's version of the data model. This can change as new features are added that can be marked workbook. + """ + return pulumi.get(self, "version") + + diff --git a/sdk/python/pulumi_azure_native/insights/v20150501/workbook.py b/sdk/python/pulumi_azure_native/insights/v20150501/workbook.py index 0f07995f5401..12cb30ecf5eb 100644 --- a/sdk/python/pulumi_azure_native/insights/v20150501/workbook.py +++ b/sdk/python/pulumi_azure_native/insights/v20150501/workbook.py @@ -8,87 +8,41 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs from ._enums import * +from ._inputs import * __all__ = ['WorkbookArgs', 'Workbook'] @pulumi.input_type class WorkbookArgs: def __init__(__self__, *, - category: pulumi.Input[str], - name: pulumi.Input[str], resource_group_name: pulumi.Input[str], - serialized_data: pulumi.Input[str], - shared_type_kind: Optional[pulumi.Input[Union[str, 'SharedTypeKind']]] = None, - user_id: pulumi.Input[str], - workbook_id: pulumi.Input[str], kind: Optional[pulumi.Input[Union[str, 'SharedTypeKind']]] = None, location: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input['WorkbookPropertiesArgs']] = None, resource_name: Optional[pulumi.Input[str]] = None, - source_resource_id: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - version: Optional[pulumi.Input[str]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Workbook resource. - :param pulumi.Input[str] category: Workbook category, as defined by the user at creation time. - :param pulumi.Input[str] name: The user-defined name of the workbook. :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. - :param pulumi.Input[str] serialized_data: Configuration of this particular workbook. Configuration data is a string containing valid JSON - :param pulumi.Input[Union[str, 'SharedTypeKind']] shared_type_kind: Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. - :param pulumi.Input[str] user_id: Unique user id of the specific user that owns this workbook. - :param pulumi.Input[str] workbook_id: Internally assigned unique id of the workbook definition. :param pulumi.Input[Union[str, 'SharedTypeKind']] kind: The kind of workbook. Choices are user and shared. :param pulumi.Input[str] location: Resource location + :param pulumi.Input['WorkbookPropertiesArgs'] properties: Metadata describing a web test for an Azure resource. :param pulumi.Input[str] resource_name: The name of the Application Insights component resource. - :param pulumi.Input[str] source_resource_id: Optional resourceId for a source resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags - :param pulumi.Input[str] version: This instance's version of the data model. This can change as new features are added that can be marked workbook. """ - pulumi.set(__self__, "category", category) - pulumi.set(__self__, "name", name) pulumi.set(__self__, "resource_group_name", resource_group_name) - pulumi.set(__self__, "serialized_data", serialized_data) - if shared_type_kind is None: - shared_type_kind = 'shared' - pulumi.set(__self__, "shared_type_kind", shared_type_kind) - pulumi.set(__self__, "user_id", user_id) - pulumi.set(__self__, "workbook_id", workbook_id) if kind is not None: pulumi.set(__self__, "kind", kind) if location is not None: pulumi.set(__self__, "location", location) + if properties is not None: + pulumi.set(__self__, "properties", properties) if resource_name is not None: pulumi.set(__self__, "resource_name", resource_name) - if source_resource_id is not None: - pulumi.set(__self__, "source_resource_id", source_resource_id) if tags is not None: pulumi.set(__self__, "tags", tags) - if version is not None: - pulumi.set(__self__, "version", version) - - @property - @pulumi.getter - def category(self) -> pulumi.Input[str]: - """ - Workbook category, as defined by the user at creation time. - """ - return pulumi.get(self, "category") - - @category.setter - def category(self, value: pulumi.Input[str]): - pulumi.set(self, "category", value) - - @property - @pulumi.getter - def name(self) -> pulumi.Input[str]: - """ - The user-defined name of the workbook. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: pulumi.Input[str]): - pulumi.set(self, "name", value) @property @pulumi.getter(name="resourceGroupName") @@ -102,54 +56,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter(name="serializedData") - def serialized_data(self) -> pulumi.Input[str]: - """ - Configuration of this particular workbook. Configuration data is a string containing valid JSON - """ - return pulumi.get(self, "serialized_data") - - @serialized_data.setter - def serialized_data(self, value: pulumi.Input[str]): - pulumi.set(self, "serialized_data", value) - - @property - @pulumi.getter(name="sharedTypeKind") - def shared_type_kind(self) -> pulumi.Input[Union[str, 'SharedTypeKind']]: - """ - Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. - """ - return pulumi.get(self, "shared_type_kind") - - @shared_type_kind.setter - def shared_type_kind(self, value: pulumi.Input[Union[str, 'SharedTypeKind']]): - pulumi.set(self, "shared_type_kind", value) - - @property - @pulumi.getter(name="userId") - def user_id(self) -> pulumi.Input[str]: - """ - Unique user id of the specific user that owns this workbook. - """ - return pulumi.get(self, "user_id") - - @user_id.setter - def user_id(self, value: pulumi.Input[str]): - pulumi.set(self, "user_id", value) - - @property - @pulumi.getter(name="workbookId") - def workbook_id(self) -> pulumi.Input[str]: - """ - Internally assigned unique id of the workbook definition. - """ - return pulumi.get(self, "workbook_id") - - @workbook_id.setter - def workbook_id(self, value: pulumi.Input[str]): - pulumi.set(self, "workbook_id", value) - @property @pulumi.getter def kind(self) -> Optional[pulumi.Input[Union[str, 'SharedTypeKind']]]: @@ -174,6 +80,18 @@ def location(self) -> Optional[pulumi.Input[str]]: def location(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "location", value) + @property + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['WorkbookPropertiesArgs']]: + """ + Metadata describing a web test for an Azure resource. + """ + return pulumi.get(self, "properties") + + @properties.setter + def properties(self, value: Optional[pulumi.Input['WorkbookPropertiesArgs']]): + pulumi.set(self, "properties", value) + @property @pulumi.getter(name="resourceName") def resource_name(self) -> Optional[pulumi.Input[str]]: @@ -186,18 +104,6 @@ def resource_name(self) -> Optional[pulumi.Input[str]]: def resource_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "resource_name", value) - @property - @pulumi.getter(name="sourceResourceId") - def source_resource_id(self) -> Optional[pulumi.Input[str]]: - """ - Optional resourceId for a source resource. - """ - return pulumi.get(self, "source_resource_id") - - @source_resource_id.setter - def source_resource_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "source_resource_id", value) - @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: @@ -210,56 +116,30 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) - @property - @pulumi.getter - def version(self) -> Optional[pulumi.Input[str]]: - """ - This instance's version of the data model. This can change as new features are added that can be marked workbook. - """ - return pulumi.get(self, "version") - - @version.setter - def version(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "version", value) - class Workbook(pulumi.CustomResource): @overload def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - category: Optional[pulumi.Input[str]] = None, kind: Optional[pulumi.Input[Union[str, 'SharedTypeKind']]] = None, location: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['WorkbookPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, resource_name_: Optional[pulumi.Input[str]] = None, - serialized_data: Optional[pulumi.Input[str]] = None, - shared_type_kind: Optional[pulumi.Input[Union[str, 'SharedTypeKind']]] = None, - source_resource_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - user_id: Optional[pulumi.Input[str]] = None, - version: Optional[pulumi.Input[str]] = None, - workbook_id: Optional[pulumi.Input[str]] = None, __props__=None): """ An Application Insights workbook definition. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] category: Workbook category, as defined by the user at creation time. :param pulumi.Input[Union[str, 'SharedTypeKind']] kind: The kind of workbook. Choices are user and shared. :param pulumi.Input[str] location: Resource location - :param pulumi.Input[str] name: The user-defined name of the workbook. + :param pulumi.Input[pulumi.InputType['WorkbookPropertiesArgs']] properties: Metadata describing a web test for an Azure resource. :param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive. :param pulumi.Input[str] resource_name_: The name of the Application Insights component resource. - :param pulumi.Input[str] serialized_data: Configuration of this particular workbook. Configuration data is a string containing valid JSON - :param pulumi.Input[Union[str, 'SharedTypeKind']] shared_type_kind: Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. - :param pulumi.Input[str] source_resource_id: Optional resourceId for a source resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags - :param pulumi.Input[str] user_id: Unique user id of the specific user that owns this workbook. - :param pulumi.Input[str] version: This instance's version of the data model. This can change as new features are added that can be marked workbook. - :param pulumi.Input[str] workbook_id: Internally assigned unique id of the workbook definition. """ ... @overload @@ -285,19 +165,12 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - category: Optional[pulumi.Input[str]] = None, kind: Optional[pulumi.Input[Union[str, 'SharedTypeKind']]] = None, location: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['WorkbookPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, resource_name_: Optional[pulumi.Input[str]] = None, - serialized_data: Optional[pulumi.Input[str]] = None, - shared_type_kind: Optional[pulumi.Input[Union[str, 'SharedTypeKind']]] = None, - source_resource_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - user_id: Optional[pulumi.Input[str]] = None, - version: Optional[pulumi.Input[str]] = None, - workbook_id: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -307,36 +180,15 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = WorkbookArgs.__new__(WorkbookArgs) - if category is None and not opts.urn: - raise TypeError("Missing required property 'category'") - __props__.__dict__["category"] = category __props__.__dict__["kind"] = kind __props__.__dict__["location"] = location - if name is None and not opts.urn: - raise TypeError("Missing required property 'name'") - __props__.__dict__["name"] = name + __props__.__dict__["properties"] = properties if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["resource_name"] = resource_name_ - if serialized_data is None and not opts.urn: - raise TypeError("Missing required property 'serialized_data'") - __props__.__dict__["serialized_data"] = serialized_data - if shared_type_kind is None: - shared_type_kind = 'shared' - if shared_type_kind is None and not opts.urn: - raise TypeError("Missing required property 'shared_type_kind'") - __props__.__dict__["shared_type_kind"] = shared_type_kind - __props__.__dict__["source_resource_id"] = source_resource_id __props__.__dict__["tags"] = tags - if user_id is None and not opts.urn: - raise TypeError("Missing required property 'user_id'") - __props__.__dict__["user_id"] = user_id - __props__.__dict__["version"] = version - if workbook_id is None and not opts.urn: - raise TypeError("Missing required property 'workbook_id'") - __props__.__dict__["workbook_id"] = workbook_id - __props__.__dict__["time_modified"] = None + __props__.__dict__["name"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:insights:Workbook"), pulumi.Alias(type_="azure-native:insights/v20180617preview:Workbook"), pulumi.Alias(type_="azure-native:insights/v20201020:Workbook"), pulumi.Alias(type_="azure-native:insights/v20210308:Workbook"), pulumi.Alias(type_="azure-native:insights/v20210801:Workbook"), pulumi.Alias(type_="azure-native:insights/v20220401:Workbook"), pulumi.Alias(type_="azure-native:insights/v20230601:Workbook")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -362,29 +214,14 @@ def get(resource_name: str, __props__ = WorkbookArgs.__new__(WorkbookArgs) - __props__.__dict__["category"] = None __props__.__dict__["kind"] = None __props__.__dict__["location"] = None __props__.__dict__["name"] = None - __props__.__dict__["serialized_data"] = None - __props__.__dict__["shared_type_kind"] = None - __props__.__dict__["source_resource_id"] = None + __props__.__dict__["properties"] = None __props__.__dict__["tags"] = None - __props__.__dict__["time_modified"] = None __props__.__dict__["type"] = None - __props__.__dict__["user_id"] = None - __props__.__dict__["version"] = None - __props__.__dict__["workbook_id"] = None return Workbook(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter - def category(self) -> pulumi.Output[str]: - """ - Workbook category, as defined by the user at creation time. - """ - return pulumi.get(self, "category") - @property @pulumi.getter def kind(self) -> pulumi.Output[Optional[str]]: @@ -410,28 +247,12 @@ def name(self) -> pulumi.Output[str]: return pulumi.get(self, "name") @property - @pulumi.getter(name="serializedData") - def serialized_data(self) -> pulumi.Output[str]: - """ - Configuration of this particular workbook. Configuration data is a string containing valid JSON - """ - return pulumi.get(self, "serialized_data") - - @property - @pulumi.getter(name="sharedTypeKind") - def shared_type_kind(self) -> pulumi.Output[str]: - """ - Enum indicating if this workbook definition is owned by a specific user or is shared between all users with access to the Application Insights component. - """ - return pulumi.get(self, "shared_type_kind") - - @property - @pulumi.getter(name="sourceResourceId") - def source_resource_id(self) -> pulumi.Output[Optional[str]]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.WorkbookPropertiesResponse']: """ - Optional resourceId for a source resource. + Metadata describing a web test for an Azure resource. """ - return pulumi.get(self, "source_resource_id") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -441,14 +262,6 @@ def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: """ return pulumi.get(self, "tags") - @property - @pulumi.getter(name="timeModified") - def time_modified(self) -> pulumi.Output[str]: - """ - Date and time in UTC of the last modification that was made to this workbook definition. - """ - return pulumi.get(self, "time_modified") - @property @pulumi.getter def type(self) -> pulumi.Output[str]: @@ -457,27 +270,3 @@ def type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="userId") - def user_id(self) -> pulumi.Output[str]: - """ - Unique user id of the specific user that owns this workbook. - """ - return pulumi.get(self, "user_id") - - @property - @pulumi.getter - def version(self) -> pulumi.Output[Optional[str]]: - """ - This instance's version of the data model. This can change as new features are added that can be marked workbook. - """ - return pulumi.get(self, "version") - - @property - @pulumi.getter(name="workbookId") - def workbook_id(self) -> pulumi.Output[str]: - """ - Internally assigned unique id of the workbook definition. - """ - return pulumi.get(self, "workbook_id") - diff --git a/sdk/python/pulumi_azure_native/netapp/v20210401/backup_policy.py b/sdk/python/pulumi_azure_native/netapp/v20210401/backup_policy.py index a69d4dab863a..e491517f4818 100644 --- a/sdk/python/pulumi_azure_native/netapp/v20210401/backup_policy.py +++ b/sdk/python/pulumi_azure_native/netapp/v20210401/backup_policy.py @@ -308,10 +308,9 @@ def _internal_init(__self__, __props__.__dict__["volumes_assigned"] = volumes_assigned __props__.__dict__["weekly_backups_to_keep"] = weekly_backups_to_keep __props__.__dict__["yearly_backups_to_keep"] = yearly_backups_to_keep - __props__.__dict__["backup_policy_id"] = None __props__.__dict__["etag"] = None __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None + __props__.__dict__["properties"] = None __props__.__dict__["system_data"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:netapp:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20200501:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20200601:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20200701:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20200801:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20200901:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20201101:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20201201:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20210201:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20210401preview:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20210601:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20210801:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20211001:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20220101:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20220301:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20220501:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20220901:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20221101:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20221101preview:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20230501:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20230501preview:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20230701:BackupPolicy")]) @@ -338,47 +337,15 @@ def get(resource_name: str, __props__ = BackupPolicyArgs.__new__(BackupPolicyArgs) - __props__.__dict__["backup_policy_id"] = None - __props__.__dict__["daily_backups_to_keep"] = None - __props__.__dict__["enabled"] = None __props__.__dict__["etag"] = None __props__.__dict__["location"] = None - __props__.__dict__["monthly_backups_to_keep"] = None __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None + __props__.__dict__["properties"] = None __props__.__dict__["system_data"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None - __props__.__dict__["volume_backups"] = None - __props__.__dict__["volumes_assigned"] = None - __props__.__dict__["weekly_backups_to_keep"] = None - __props__.__dict__["yearly_backups_to_keep"] = None return BackupPolicy(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="backupPolicyId") - def backup_policy_id(self) -> pulumi.Output[str]: - """ - Backup Policy Resource ID - """ - return pulumi.get(self, "backup_policy_id") - - @property - @pulumi.getter(name="dailyBackupsToKeep") - def daily_backups_to_keep(self) -> pulumi.Output[Optional[int]]: - """ - Daily backups count to keep - """ - return pulumi.get(self, "daily_backups_to_keep") - - @property - @pulumi.getter - def enabled(self) -> pulumi.Output[Optional[bool]]: - """ - The property to decide policy is enabled or not - """ - return pulumi.get(self, "enabled") - @property @pulumi.getter def etag(self) -> pulumi.Output[str]: @@ -395,29 +362,21 @@ def location(self) -> pulumi.Output[str]: """ return pulumi.get(self, "location") - @property - @pulumi.getter(name="monthlyBackupsToKeep") - def monthly_backups_to_keep(self) -> pulumi.Output[Optional[int]]: - """ - Monthly backups count to keep - """ - return pulumi.get(self, "monthly_backups_to_keep") - @property @pulumi.getter def name(self) -> pulumi.Output[str]: """ - Name of backup policy + Resource name """ return pulumi.get(self, "name") @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.BackupPolicyPropertiesResponse']: """ - Azure lifecycle management + Backup policy Properties """ - return pulumi.get(self, "provisioning_state") + return pulumi.get(self, "properties") @property @pulumi.getter(name="systemData") @@ -443,35 +402,3 @@ def type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="volumeBackups") - def volume_backups(self) -> pulumi.Output[Optional[Sequence['outputs.VolumeBackupsResponse']]]: - """ - A list of volumes assigned to this policy - """ - return pulumi.get(self, "volume_backups") - - @property - @pulumi.getter(name="volumesAssigned") - def volumes_assigned(self) -> pulumi.Output[Optional[int]]: - """ - Volumes using current backup policy - """ - return pulumi.get(self, "volumes_assigned") - - @property - @pulumi.getter(name="weeklyBackupsToKeep") - def weekly_backups_to_keep(self) -> pulumi.Output[Optional[int]]: - """ - Weekly backups count to keep - """ - return pulumi.get(self, "weekly_backups_to_keep") - - @property - @pulumi.getter(name="yearlyBackupsToKeep") - def yearly_backups_to_keep(self) -> pulumi.Output[Optional[int]]: - """ - Yearly backups count to keep - """ - return pulumi.get(self, "yearly_backups_to_keep") - diff --git a/sdk/python/pulumi_azure_native/netapp/v20210401/get_backup_policy.py b/sdk/python/pulumi_azure_native/netapp/v20210401/get_backup_policy.py index f8cd442ac99b..63e2603423d7 100644 --- a/sdk/python/pulumi_azure_native/netapp/v20210401/get_backup_policy.py +++ b/sdk/python/pulumi_azure_native/netapp/v20210401/get_backup_policy.py @@ -22,16 +22,7 @@ class GetBackupPolicyResult: """ Backup policy information """ - def __init__(__self__, backup_policy_id=None, daily_backups_to_keep=None, enabled=None, etag=None, id=None, location=None, monthly_backups_to_keep=None, name=None, provisioning_state=None, system_data=None, tags=None, type=None, volume_backups=None, volumes_assigned=None, weekly_backups_to_keep=None, yearly_backups_to_keep=None): - if backup_policy_id and not isinstance(backup_policy_id, str): - raise TypeError("Expected argument 'backup_policy_id' to be a str") - pulumi.set(__self__, "backup_policy_id", backup_policy_id) - if daily_backups_to_keep and not isinstance(daily_backups_to_keep, int): - raise TypeError("Expected argument 'daily_backups_to_keep' to be a int") - pulumi.set(__self__, "daily_backups_to_keep", daily_backups_to_keep) - if enabled and not isinstance(enabled, bool): - raise TypeError("Expected argument 'enabled' to be a bool") - pulumi.set(__self__, "enabled", enabled) + def __init__(__self__, etag=None, id=None, location=None, name=None, properties=None, system_data=None, tags=None, type=None): if etag and not isinstance(etag, str): raise TypeError("Expected argument 'etag' to be a str") pulumi.set(__self__, "etag", etag) @@ -41,15 +32,12 @@ def __init__(__self__, backup_policy_id=None, daily_backups_to_keep=None, enable if location and not isinstance(location, str): raise TypeError("Expected argument 'location' to be a str") pulumi.set(__self__, "location", location) - if monthly_backups_to_keep and not isinstance(monthly_backups_to_keep, int): - raise TypeError("Expected argument 'monthly_backups_to_keep' to be a int") - pulumi.set(__self__, "monthly_backups_to_keep", monthly_backups_to_keep) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) + 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) @@ -59,42 +47,6 @@ def __init__(__self__, backup_policy_id=None, daily_backups_to_keep=None, enable if type and not isinstance(type, str): raise TypeError("Expected argument 'type' to be a str") pulumi.set(__self__, "type", type) - if volume_backups and not isinstance(volume_backups, list): - raise TypeError("Expected argument 'volume_backups' to be a list") - pulumi.set(__self__, "volume_backups", volume_backups) - if volumes_assigned and not isinstance(volumes_assigned, int): - raise TypeError("Expected argument 'volumes_assigned' to be a int") - pulumi.set(__self__, "volumes_assigned", volumes_assigned) - if weekly_backups_to_keep and not isinstance(weekly_backups_to_keep, int): - raise TypeError("Expected argument 'weekly_backups_to_keep' to be a int") - pulumi.set(__self__, "weekly_backups_to_keep", weekly_backups_to_keep) - if yearly_backups_to_keep and not isinstance(yearly_backups_to_keep, int): - raise TypeError("Expected argument 'yearly_backups_to_keep' to be a int") - pulumi.set(__self__, "yearly_backups_to_keep", yearly_backups_to_keep) - - @property - @pulumi.getter(name="backupPolicyId") - def backup_policy_id(self) -> str: - """ - Backup Policy Resource ID - """ - return pulumi.get(self, "backup_policy_id") - - @property - @pulumi.getter(name="dailyBackupsToKeep") - def daily_backups_to_keep(self) -> Optional[int]: - """ - Daily backups count to keep - """ - return pulumi.get(self, "daily_backups_to_keep") - - @property - @pulumi.getter - def enabled(self) -> Optional[bool]: - """ - The property to decide policy is enabled or not - """ - return pulumi.get(self, "enabled") @property @pulumi.getter @@ -120,29 +72,21 @@ def location(self) -> str: """ return pulumi.get(self, "location") - @property - @pulumi.getter(name="monthlyBackupsToKeep") - def monthly_backups_to_keep(self) -> Optional[int]: - """ - Monthly backups count to keep - """ - return pulumi.get(self, "monthly_backups_to_keep") - @property @pulumi.getter def name(self) -> str: """ - Name of backup policy + Resource name """ return pulumi.get(self, "name") @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: + @pulumi.getter + def properties(self) -> 'outputs.BackupPolicyPropertiesResponse': """ - Azure lifecycle management + Backup policy Properties """ - return pulumi.get(self, "provisioning_state") + return pulumi.get(self, "properties") @property @pulumi.getter(name="systemData") @@ -168,38 +112,6 @@ def type(self) -> str: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="volumeBackups") - def volume_backups(self) -> Optional[Sequence['outputs.VolumeBackupsResponse']]: - """ - A list of volumes assigned to this policy - """ - return pulumi.get(self, "volume_backups") - - @property - @pulumi.getter(name="volumesAssigned") - def volumes_assigned(self) -> Optional[int]: - """ - Volumes using current backup policy - """ - return pulumi.get(self, "volumes_assigned") - - @property - @pulumi.getter(name="weeklyBackupsToKeep") - def weekly_backups_to_keep(self) -> Optional[int]: - """ - Weekly backups count to keep - """ - return pulumi.get(self, "weekly_backups_to_keep") - - @property - @pulumi.getter(name="yearlyBackupsToKeep") - def yearly_backups_to_keep(self) -> Optional[int]: - """ - Yearly backups count to keep - """ - return pulumi.get(self, "yearly_backups_to_keep") - class AwaitableGetBackupPolicyResult(GetBackupPolicyResult): # pylint: disable=using-constant-test @@ -207,22 +119,14 @@ def __await__(self): if False: yield self return GetBackupPolicyResult( - backup_policy_id=self.backup_policy_id, - daily_backups_to_keep=self.daily_backups_to_keep, - enabled=self.enabled, etag=self.etag, id=self.id, location=self.location, - monthly_backups_to_keep=self.monthly_backups_to_keep, name=self.name, - provisioning_state=self.provisioning_state, + properties=self.properties, system_data=self.system_data, tags=self.tags, - type=self.type, - volume_backups=self.volume_backups, - volumes_assigned=self.volumes_assigned, - weekly_backups_to_keep=self.weekly_backups_to_keep, - yearly_backups_to_keep=self.yearly_backups_to_keep) + type=self.type) def get_backup_policy(account_name: Optional[str] = None, @@ -245,22 +149,14 @@ def get_backup_policy(account_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:netapp/v20210401:getBackupPolicy', __args__, opts=opts, typ=GetBackupPolicyResult).value return AwaitableGetBackupPolicyResult( - backup_policy_id=pulumi.get(__ret__, 'backup_policy_id'), - daily_backups_to_keep=pulumi.get(__ret__, 'daily_backups_to_keep'), - enabled=pulumi.get(__ret__, 'enabled'), etag=pulumi.get(__ret__, 'etag'), id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), - monthly_backups_to_keep=pulumi.get(__ret__, 'monthly_backups_to_keep'), name=pulumi.get(__ret__, 'name'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), + properties=pulumi.get(__ret__, 'properties'), system_data=pulumi.get(__ret__, 'system_data'), tags=pulumi.get(__ret__, 'tags'), - type=pulumi.get(__ret__, 'type'), - volume_backups=pulumi.get(__ret__, 'volume_backups'), - volumes_assigned=pulumi.get(__ret__, 'volumes_assigned'), - weekly_backups_to_keep=pulumi.get(__ret__, 'weekly_backups_to_keep'), - yearly_backups_to_keep=pulumi.get(__ret__, 'yearly_backups_to_keep')) + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_backup_policy) diff --git a/sdk/python/pulumi_azure_native/netapp/v20210401/outputs.py b/sdk/python/pulumi_azure_native/netapp/v20210401/outputs.py index 2e94bc5651ff..7cb3d3dc49a4 100644 --- a/sdk/python/pulumi_azure_native/netapp/v20210401/outputs.py +++ b/sdk/python/pulumi_azure_native/netapp/v20210401/outputs.py @@ -8,12 +8,173 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs __all__ = [ + 'BackupPolicyPropertiesResponse', 'SystemDataResponse', 'VolumeBackupsResponse', ] +@pulumi.output_type +class BackupPolicyPropertiesResponse(dict): + """ + Backup policy properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "backupPolicyId": + suggest = "backup_policy_id" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "dailyBackupsToKeep": + suggest = "daily_backups_to_keep" + elif key == "monthlyBackupsToKeep": + suggest = "monthly_backups_to_keep" + elif key == "volumeBackups": + suggest = "volume_backups" + elif key == "volumesAssigned": + suggest = "volumes_assigned" + elif key == "weeklyBackupsToKeep": + suggest = "weekly_backups_to_keep" + elif key == "yearlyBackupsToKeep": + suggest = "yearly_backups_to_keep" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BackupPolicyPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BackupPolicyPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BackupPolicyPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + backup_policy_id: str, + name: str, + provisioning_state: str, + daily_backups_to_keep: Optional[int] = None, + enabled: Optional[bool] = None, + monthly_backups_to_keep: Optional[int] = None, + volume_backups: Optional[Sequence['outputs.VolumeBackupsResponse']] = None, + volumes_assigned: Optional[int] = None, + weekly_backups_to_keep: Optional[int] = None, + yearly_backups_to_keep: Optional[int] = None): + """ + Backup policy properties + :param str backup_policy_id: Backup Policy Resource ID + :param str name: Name of backup policy + :param str provisioning_state: Azure lifecycle management + :param int daily_backups_to_keep: Daily backups count to keep + :param bool enabled: The property to decide policy is enabled or not + :param int monthly_backups_to_keep: Monthly backups count to keep + :param Sequence['VolumeBackupsResponse'] volume_backups: A list of volumes assigned to this policy + :param int volumes_assigned: Volumes using current backup policy + :param int weekly_backups_to_keep: Weekly backups count to keep + :param int yearly_backups_to_keep: Yearly backups count to keep + """ + pulumi.set(__self__, "backup_policy_id", backup_policy_id) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "provisioning_state", provisioning_state) + if daily_backups_to_keep is not None: + pulumi.set(__self__, "daily_backups_to_keep", daily_backups_to_keep) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if monthly_backups_to_keep is not None: + pulumi.set(__self__, "monthly_backups_to_keep", monthly_backups_to_keep) + if volume_backups is not None: + pulumi.set(__self__, "volume_backups", volume_backups) + if volumes_assigned is not None: + pulumi.set(__self__, "volumes_assigned", volumes_assigned) + if weekly_backups_to_keep is not None: + pulumi.set(__self__, "weekly_backups_to_keep", weekly_backups_to_keep) + if yearly_backups_to_keep is not None: + pulumi.set(__self__, "yearly_backups_to_keep", yearly_backups_to_keep) + + @property + @pulumi.getter(name="backupPolicyId") + def backup_policy_id(self) -> str: + """ + Backup Policy Resource ID + """ + return pulumi.get(self, "backup_policy_id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of backup policy + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + Azure lifecycle management + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="dailyBackupsToKeep") + def daily_backups_to_keep(self) -> Optional[int]: + """ + Daily backups count to keep + """ + return pulumi.get(self, "daily_backups_to_keep") + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + The property to decide policy is enabled or not + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="monthlyBackupsToKeep") + def monthly_backups_to_keep(self) -> Optional[int]: + """ + Monthly backups count to keep + """ + return pulumi.get(self, "monthly_backups_to_keep") + + @property + @pulumi.getter(name="volumeBackups") + def volume_backups(self) -> Optional[Sequence['outputs.VolumeBackupsResponse']]: + """ + A list of volumes assigned to this policy + """ + return pulumi.get(self, "volume_backups") + + @property + @pulumi.getter(name="volumesAssigned") + def volumes_assigned(self) -> Optional[int]: + """ + Volumes using current backup policy + """ + return pulumi.get(self, "volumes_assigned") + + @property + @pulumi.getter(name="weeklyBackupsToKeep") + def weekly_backups_to_keep(self) -> Optional[int]: + """ + Weekly backups count to keep + """ + return pulumi.get(self, "weekly_backups_to_keep") + + @property + @pulumi.getter(name="yearlyBackupsToKeep") + def yearly_backups_to_keep(self) -> Optional[int]: + """ + Yearly backups count to keep + """ + return pulumi.get(self, "yearly_backups_to_keep") + + @pulumi.output_type class SystemDataResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/netapp/v20210401preview/backup_policy.py b/sdk/python/pulumi_azure_native/netapp/v20210401preview/backup_policy.py index 60c3cd7bd28b..8bf3e395d243 100644 --- a/sdk/python/pulumi_azure_native/netapp/v20210401preview/backup_policy.py +++ b/sdk/python/pulumi_azure_native/netapp/v20210401preview/backup_policy.py @@ -309,7 +309,7 @@ def _internal_init(__self__, __props__.__dict__["weekly_backups_to_keep"] = weekly_backups_to_keep __props__.__dict__["yearly_backups_to_keep"] = yearly_backups_to_keep __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None + __props__.__dict__["properties"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:netapp:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20200501:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20200601:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20200701:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20200801:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20200901:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20201101:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20201201:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20210201:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20210401:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20210601:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20210801:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20211001:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20220101:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20220301:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20220501:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20220901:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20221101:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20221101preview:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20230501:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20230501preview:BackupPolicy"), pulumi.Alias(type_="azure-native:netapp/v20230701:BackupPolicy")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -335,36 +335,13 @@ def get(resource_name: str, __props__ = BackupPolicyArgs.__new__(BackupPolicyArgs) - __props__.__dict__["daily_backups_to_keep"] = None - __props__.__dict__["enabled"] = None __props__.__dict__["location"] = None - __props__.__dict__["monthly_backups_to_keep"] = None __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None + __props__.__dict__["properties"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None - __props__.__dict__["volume_backups"] = None - __props__.__dict__["volumes_assigned"] = None - __props__.__dict__["weekly_backups_to_keep"] = None - __props__.__dict__["yearly_backups_to_keep"] = None return BackupPolicy(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="dailyBackupsToKeep") - def daily_backups_to_keep(self) -> pulumi.Output[Optional[int]]: - """ - Daily backups count to keep - """ - return pulumi.get(self, "daily_backups_to_keep") - - @property - @pulumi.getter - def enabled(self) -> pulumi.Output[Optional[bool]]: - """ - The property to decide policy is enabled or not - """ - return pulumi.get(self, "enabled") - @property @pulumi.getter def location(self) -> pulumi.Output[str]: @@ -373,29 +350,21 @@ def location(self) -> pulumi.Output[str]: """ return pulumi.get(self, "location") - @property - @pulumi.getter(name="monthlyBackupsToKeep") - def monthly_backups_to_keep(self) -> pulumi.Output[Optional[int]]: - """ - Monthly backups count to keep - """ - return pulumi.get(self, "monthly_backups_to_keep") - @property @pulumi.getter def name(self) -> pulumi.Output[str]: """ - Name of backup policy + Resource name """ return pulumi.get(self, "name") @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.BackupPolicyPropertiesResponse']: """ - Azure lifecycle management + Backup policy Properties """ - return pulumi.get(self, "provisioning_state") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -413,35 +382,3 @@ def type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="volumeBackups") - def volume_backups(self) -> pulumi.Output[Optional[Sequence['outputs.VolumeBackupsResponse']]]: - """ - A list of volumes assigned to this policy - """ - return pulumi.get(self, "volume_backups") - - @property - @pulumi.getter(name="volumesAssigned") - def volumes_assigned(self) -> pulumi.Output[Optional[int]]: - """ - Volumes using current backup policy - """ - return pulumi.get(self, "volumes_assigned") - - @property - @pulumi.getter(name="weeklyBackupsToKeep") - def weekly_backups_to_keep(self) -> pulumi.Output[Optional[int]]: - """ - Weekly backups count to keep - """ - return pulumi.get(self, "weekly_backups_to_keep") - - @property - @pulumi.getter(name="yearlyBackupsToKeep") - def yearly_backups_to_keep(self) -> pulumi.Output[Optional[int]]: - """ - Yearly backups count to keep - """ - return pulumi.get(self, "yearly_backups_to_keep") - diff --git a/sdk/python/pulumi_azure_native/netapp/v20210401preview/get_backup_policy.py b/sdk/python/pulumi_azure_native/netapp/v20210401preview/get_backup_policy.py index db4ef7046815..87518047b326 100644 --- a/sdk/python/pulumi_azure_native/netapp/v20210401preview/get_backup_policy.py +++ b/sdk/python/pulumi_azure_native/netapp/v20210401preview/get_backup_policy.py @@ -22,62 +22,25 @@ class GetBackupPolicyResult: """ Backup policy information """ - def __init__(__self__, daily_backups_to_keep=None, enabled=None, id=None, location=None, monthly_backups_to_keep=None, name=None, provisioning_state=None, tags=None, type=None, volume_backups=None, volumes_assigned=None, weekly_backups_to_keep=None, yearly_backups_to_keep=None): - if daily_backups_to_keep and not isinstance(daily_backups_to_keep, int): - raise TypeError("Expected argument 'daily_backups_to_keep' to be a int") - pulumi.set(__self__, "daily_backups_to_keep", daily_backups_to_keep) - if enabled and not isinstance(enabled, bool): - raise TypeError("Expected argument 'enabled' to be a bool") - pulumi.set(__self__, "enabled", enabled) + def __init__(__self__, id=None, location=None, name=None, properties=None, tags=None, type=None): if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) if location and not isinstance(location, str): raise TypeError("Expected argument 'location' to be a str") pulumi.set(__self__, "location", location) - if monthly_backups_to_keep and not isinstance(monthly_backups_to_keep, int): - raise TypeError("Expected argument 'monthly_backups_to_keep' to be a int") - pulumi.set(__self__, "monthly_backups_to_keep", monthly_backups_to_keep) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) 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 volume_backups and not isinstance(volume_backups, list): - raise TypeError("Expected argument 'volume_backups' to be a list") - pulumi.set(__self__, "volume_backups", volume_backups) - if volumes_assigned and not isinstance(volumes_assigned, int): - raise TypeError("Expected argument 'volumes_assigned' to be a int") - pulumi.set(__self__, "volumes_assigned", volumes_assigned) - if weekly_backups_to_keep and not isinstance(weekly_backups_to_keep, int): - raise TypeError("Expected argument 'weekly_backups_to_keep' to be a int") - pulumi.set(__self__, "weekly_backups_to_keep", weekly_backups_to_keep) - if yearly_backups_to_keep and not isinstance(yearly_backups_to_keep, int): - raise TypeError("Expected argument 'yearly_backups_to_keep' to be a int") - pulumi.set(__self__, "yearly_backups_to_keep", yearly_backups_to_keep) - - @property - @pulumi.getter(name="dailyBackupsToKeep") - def daily_backups_to_keep(self) -> Optional[int]: - """ - Daily backups count to keep - """ - return pulumi.get(self, "daily_backups_to_keep") - - @property - @pulumi.getter - def enabled(self) -> Optional[bool]: - """ - The property to decide policy is enabled or not - """ - return pulumi.get(self, "enabled") @property @pulumi.getter @@ -95,29 +58,21 @@ def location(self) -> str: """ return pulumi.get(self, "location") - @property - @pulumi.getter(name="monthlyBackupsToKeep") - def monthly_backups_to_keep(self) -> Optional[int]: - """ - Monthly backups count to keep - """ - return pulumi.get(self, "monthly_backups_to_keep") - @property @pulumi.getter def name(self) -> str: """ - Name of backup policy + Resource name """ return pulumi.get(self, "name") @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: + @pulumi.getter + def properties(self) -> 'outputs.BackupPolicyPropertiesResponse': """ - Azure lifecycle management + Backup policy Properties """ - return pulumi.get(self, "provisioning_state") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -135,38 +90,6 @@ def type(self) -> str: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="volumeBackups") - def volume_backups(self) -> Optional[Sequence['outputs.VolumeBackupsResponse']]: - """ - A list of volumes assigned to this policy - """ - return pulumi.get(self, "volume_backups") - - @property - @pulumi.getter(name="volumesAssigned") - def volumes_assigned(self) -> Optional[int]: - """ - Volumes using current backup policy - """ - return pulumi.get(self, "volumes_assigned") - - @property - @pulumi.getter(name="weeklyBackupsToKeep") - def weekly_backups_to_keep(self) -> Optional[int]: - """ - Weekly backups count to keep - """ - return pulumi.get(self, "weekly_backups_to_keep") - - @property - @pulumi.getter(name="yearlyBackupsToKeep") - def yearly_backups_to_keep(self) -> Optional[int]: - """ - Yearly backups count to keep - """ - return pulumi.get(self, "yearly_backups_to_keep") - class AwaitableGetBackupPolicyResult(GetBackupPolicyResult): # pylint: disable=using-constant-test @@ -174,19 +97,12 @@ def __await__(self): if False: yield self return GetBackupPolicyResult( - daily_backups_to_keep=self.daily_backups_to_keep, - enabled=self.enabled, id=self.id, location=self.location, - monthly_backups_to_keep=self.monthly_backups_to_keep, name=self.name, - provisioning_state=self.provisioning_state, + properties=self.properties, tags=self.tags, - type=self.type, - volume_backups=self.volume_backups, - volumes_assigned=self.volumes_assigned, - weekly_backups_to_keep=self.weekly_backups_to_keep, - yearly_backups_to_keep=self.yearly_backups_to_keep) + type=self.type) def get_backup_policy(account_name: Optional[str] = None, @@ -209,19 +125,12 @@ def get_backup_policy(account_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:netapp/v20210401preview:getBackupPolicy', __args__, opts=opts, typ=GetBackupPolicyResult).value return AwaitableGetBackupPolicyResult( - daily_backups_to_keep=pulumi.get(__ret__, 'daily_backups_to_keep'), - enabled=pulumi.get(__ret__, 'enabled'), id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), - monthly_backups_to_keep=pulumi.get(__ret__, 'monthly_backups_to_keep'), name=pulumi.get(__ret__, 'name'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), + properties=pulumi.get(__ret__, 'properties'), tags=pulumi.get(__ret__, 'tags'), - type=pulumi.get(__ret__, 'type'), - volume_backups=pulumi.get(__ret__, 'volume_backups'), - volumes_assigned=pulumi.get(__ret__, 'volumes_assigned'), - weekly_backups_to_keep=pulumi.get(__ret__, 'weekly_backups_to_keep'), - yearly_backups_to_keep=pulumi.get(__ret__, 'yearly_backups_to_keep')) + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_backup_policy) diff --git a/sdk/python/pulumi_azure_native/netapp/v20210401preview/outputs.py b/sdk/python/pulumi_azure_native/netapp/v20210401preview/outputs.py index 2e7c9bde21dd..84ad436cfc75 100644 --- a/sdk/python/pulumi_azure_native/netapp/v20210401preview/outputs.py +++ b/sdk/python/pulumi_azure_native/netapp/v20210401preview/outputs.py @@ -8,11 +8,159 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs __all__ = [ + 'BackupPolicyPropertiesResponse', 'VolumeBackupsResponse', ] +@pulumi.output_type +class BackupPolicyPropertiesResponse(dict): + """ + Backup policy properties + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "provisioningState": + suggest = "provisioning_state" + elif key == "dailyBackupsToKeep": + suggest = "daily_backups_to_keep" + elif key == "monthlyBackupsToKeep": + suggest = "monthly_backups_to_keep" + elif key == "volumeBackups": + suggest = "volume_backups" + elif key == "volumesAssigned": + suggest = "volumes_assigned" + elif key == "weeklyBackupsToKeep": + suggest = "weekly_backups_to_keep" + elif key == "yearlyBackupsToKeep": + suggest = "yearly_backups_to_keep" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BackupPolicyPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BackupPolicyPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BackupPolicyPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + provisioning_state: str, + daily_backups_to_keep: Optional[int] = None, + enabled: Optional[bool] = None, + monthly_backups_to_keep: Optional[int] = None, + volume_backups: Optional[Sequence['outputs.VolumeBackupsResponse']] = None, + volumes_assigned: Optional[int] = None, + weekly_backups_to_keep: Optional[int] = None, + yearly_backups_to_keep: Optional[int] = None): + """ + Backup policy properties + :param str name: Name of backup policy + :param str provisioning_state: Azure lifecycle management + :param int daily_backups_to_keep: Daily backups count to keep + :param bool enabled: The property to decide policy is enabled or not + :param int monthly_backups_to_keep: Monthly backups count to keep + :param Sequence['VolumeBackupsResponse'] volume_backups: A list of volumes assigned to this policy + :param int volumes_assigned: Volumes using current backup policy + :param int weekly_backups_to_keep: Weekly backups count to keep + :param int yearly_backups_to_keep: Yearly backups count to keep + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "provisioning_state", provisioning_state) + if daily_backups_to_keep is not None: + pulumi.set(__self__, "daily_backups_to_keep", daily_backups_to_keep) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if monthly_backups_to_keep is not None: + pulumi.set(__self__, "monthly_backups_to_keep", monthly_backups_to_keep) + if volume_backups is not None: + pulumi.set(__self__, "volume_backups", volume_backups) + if volumes_assigned is not None: + pulumi.set(__self__, "volumes_assigned", volumes_assigned) + if weekly_backups_to_keep is not None: + pulumi.set(__self__, "weekly_backups_to_keep", weekly_backups_to_keep) + if yearly_backups_to_keep is not None: + pulumi.set(__self__, "yearly_backups_to_keep", yearly_backups_to_keep) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of backup policy + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + Azure lifecycle management + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="dailyBackupsToKeep") + def daily_backups_to_keep(self) -> Optional[int]: + """ + Daily backups count to keep + """ + return pulumi.get(self, "daily_backups_to_keep") + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + The property to decide policy is enabled or not + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="monthlyBackupsToKeep") + def monthly_backups_to_keep(self) -> Optional[int]: + """ + Monthly backups count to keep + """ + return pulumi.get(self, "monthly_backups_to_keep") + + @property + @pulumi.getter(name="volumeBackups") + def volume_backups(self) -> Optional[Sequence['outputs.VolumeBackupsResponse']]: + """ + A list of volumes assigned to this policy + """ + return pulumi.get(self, "volume_backups") + + @property + @pulumi.getter(name="volumesAssigned") + def volumes_assigned(self) -> Optional[int]: + """ + Volumes using current backup policy + """ + return pulumi.get(self, "volumes_assigned") + + @property + @pulumi.getter(name="weeklyBackupsToKeep") + def weekly_backups_to_keep(self) -> Optional[int]: + """ + Weekly backups count to keep + """ + return pulumi.get(self, "weekly_backups_to_keep") + + @property + @pulumi.getter(name="yearlyBackupsToKeep") + def yearly_backups_to_keep(self) -> Optional[int]: + """ + Yearly backups count to keep + """ + return pulumi.get(self, "yearly_backups_to_keep") + + @pulumi.output_type class VolumeBackupsResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/network/_inputs.py b/sdk/python/pulumi_azure_native/network/_inputs.py index 0ab8b940653c..f9da2db6b1ab 100644 --- a/sdk/python/pulumi_azure_native/network/_inputs.py +++ b/sdk/python/pulumi_azure_native/network/_inputs.py @@ -232,6 +232,7 @@ 'P2SVpnServerConfigRadiusServerRootCertificateArgs', 'P2SVpnServerConfigVpnClientRevokedCertificateArgs', 'P2SVpnServerConfigVpnClientRootCertificateArgs', + 'P2SVpnServerConfigurationPropertiesArgs', 'PacketCaptureFilterArgs', 'PacketCaptureMachineScopeArgs', 'PacketCaptureStorageLocationArgs', @@ -325,6 +326,7 @@ 'VpnServerConfigVpnClientRootCertificateArgs', 'VpnServerConfigurationPolicyGroupMemberArgs', 'VpnServerConfigurationPolicyGroupArgs', + 'VpnServerConfigurationPropertiesArgs', 'VpnSiteLinkConnectionArgs', 'VpnSiteLinkArgs', 'WebApplicationFirewallCustomRuleArgs', @@ -16685,6 +16687,174 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) +@pulumi.input_type +class P2SVpnServerConfigurationPropertiesArgs: + def __init__(__self__, *, + etag: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + p2_s_vpn_server_config_radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]] = None, + p2_s_vpn_server_config_radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]] = None, + p2_s_vpn_server_config_vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, + p2_s_vpn_server_config_vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRootCertificateArgs']]]] = None, + radius_server_address: Optional[pulumi.Input[str]] = None, + radius_server_secret: Optional[pulumi.Input[str]] = None, + vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, + vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None): + """ + Parameters for P2SVpnServerConfiguration. + :param pulumi.Input[str] etag: A unique read-only string that changes whenever the resource is updated. + :param pulumi.Input[str] name: The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]] p2_s_vpn_server_config_radius_client_root_certificates: Radius client root certificate of P2SVpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]] p2_s_vpn_server_config_radius_server_root_certificates: Radius Server root certificate of P2SVpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]] p2_s_vpn_server_config_vpn_client_revoked_certificates: VPN client revoked certificate of P2SVpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRootCertificateArgs']]] p2_s_vpn_server_config_vpn_client_root_certificates: VPN client root certificate of P2SVpnServerConfiguration. + :param pulumi.Input[str] radius_server_address: The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[str] radius_server_secret: The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for P2SVpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the P2SVpnServerConfiguration. + """ + if etag is not None: + pulumi.set(__self__, "etag", etag) + if name is not None: + pulumi.set(__self__, "name", name) + if p2_s_vpn_server_config_radius_client_root_certificates is not None: + pulumi.set(__self__, "p2_s_vpn_server_config_radius_client_root_certificates", p2_s_vpn_server_config_radius_client_root_certificates) + if p2_s_vpn_server_config_radius_server_root_certificates is not None: + pulumi.set(__self__, "p2_s_vpn_server_config_radius_server_root_certificates", p2_s_vpn_server_config_radius_server_root_certificates) + if p2_s_vpn_server_config_vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "p2_s_vpn_server_config_vpn_client_revoked_certificates", p2_s_vpn_server_config_vpn_client_revoked_certificates) + if p2_s_vpn_server_config_vpn_client_root_certificates is not None: + pulumi.set(__self__, "p2_s_vpn_server_config_vpn_client_root_certificates", p2_s_vpn_server_config_vpn_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter + def etag(self) -> Optional[pulumi.Input[str]]: + """ + A unique read-only string that changes whenever the resource is updated. + """ + return pulumi.get(self, "etag") + + @etag.setter + def etag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "etag", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="p2SVpnServerConfigRadiusClientRootCertificates") + def p2_s_vpn_server_config_radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]]: + """ + Radius client root certificate of P2SVpnServerConfiguration. + """ + return pulumi.get(self, "p2_s_vpn_server_config_radius_client_root_certificates") + + @p2_s_vpn_server_config_radius_client_root_certificates.setter + def p2_s_vpn_server_config_radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]]): + pulumi.set(self, "p2_s_vpn_server_config_radius_client_root_certificates", value) + + @property + @pulumi.getter(name="p2SVpnServerConfigRadiusServerRootCertificates") + def p2_s_vpn_server_config_radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]]: + """ + Radius Server root certificate of P2SVpnServerConfiguration. + """ + return pulumi.get(self, "p2_s_vpn_server_config_radius_server_root_certificates") + + @p2_s_vpn_server_config_radius_server_root_certificates.setter + def p2_s_vpn_server_config_radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]]): + pulumi.set(self, "p2_s_vpn_server_config_radius_server_root_certificates", value) + + @property + @pulumi.getter(name="p2SVpnServerConfigVpnClientRevokedCertificates") + def p2_s_vpn_server_config_vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]]: + """ + VPN client revoked certificate of P2SVpnServerConfiguration. + """ + return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_revoked_certificates") + + @p2_s_vpn_server_config_vpn_client_revoked_certificates.setter + def p2_s_vpn_server_config_vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]]): + pulumi.set(self, "p2_s_vpn_server_config_vpn_client_revoked_certificates", value) + + @property + @pulumi.getter(name="p2SVpnServerConfigVpnClientRootCertificates") + def p2_s_vpn_server_config_vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRootCertificateArgs']]]]: + """ + VPN client root certificate of P2SVpnServerConfiguration. + """ + return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_root_certificates") + + @p2_s_vpn_server_config_vpn_client_root_certificates.setter + def p2_s_vpn_server_config_vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRootCertificateArgs']]]]): + pulumi.set(self, "p2_s_vpn_server_config_vpn_client_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[pulumi.Input[str]]: + """ + The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @radius_server_address.setter + def radius_server_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_address", value) + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[pulumi.Input[str]]: + """ + The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @radius_server_secret.setter + def radius_server_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_secret", value) + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: + """ + VpnClientIpsecPolicies for P2SVpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @vpn_client_ipsec_policies.setter + def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): + pulumi.set(self, "vpn_client_ipsec_policies", value) + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: + """ + VPN protocols for the P2SVpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @vpn_protocols.setter + def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): + pulumi.set(self, "vpn_protocols", value) + + @pulumi.input_type class PacketCaptureFilterArgs: def __init__(__self__, *, @@ -24371,6 +24541,222 @@ def priority(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "priority", value) +@pulumi.input_type +class VpnServerConfigurationPropertiesArgs: + def __init__(__self__, *, + aad_authentication_parameters: Optional[pulumi.Input['AadAuthenticationParametersArgs']] = None, + configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]] = None, + radius_server_address: Optional[pulumi.Input[str]] = None, + radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]] = None, + radius_server_secret: Optional[pulumi.Input[str]] = None, + radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]] = None, + vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, + vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, + vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, + vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]] = None, + vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None): + """ + Parameters for VpnServerConfiguration. + :param pulumi.Input['AadAuthenticationParametersArgs'] aad_authentication_parameters: The set of aad vpn authentication parameters. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. + :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. + :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. + :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. + """ + if aad_authentication_parameters is not None: + pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) + if configuration_policy_groups is not None: + pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + if name is not None: + pulumi.set(__self__, "name", name) + if radius_client_root_certificates is not None: + pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_root_certificates is not None: + pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if radius_servers is not None: + pulumi.set(__self__, "radius_servers", radius_servers) + if vpn_authentication_types is not None: + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) + if vpn_client_root_certificates is not None: + pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter(name="aadAuthenticationParameters") + def aad_authentication_parameters(self) -> Optional[pulumi.Input['AadAuthenticationParametersArgs']]: + """ + The set of aad vpn authentication parameters. + """ + return pulumi.get(self, "aad_authentication_parameters") + + @aad_authentication_parameters.setter + def aad_authentication_parameters(self, value: Optional[pulumi.Input['AadAuthenticationParametersArgs']]): + pulumi.set(self, "aad_authentication_parameters", value) + + @property + @pulumi.getter(name="configurationPolicyGroups") + def configuration_policy_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]: + """ + List of all VpnServerConfigurationPolicyGroups. + """ + return pulumi.get(self, "configuration_policy_groups") + + @configuration_policy_groups.setter + def configuration_policy_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]): + pulumi.set(self, "configuration_policy_groups", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the VpnServerConfiguration that is unique within a resource group. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="radiusClientRootCertificates") + def radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]: + """ + Radius client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_client_root_certificates") + + @radius_client_root_certificates.setter + def radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]): + pulumi.set(self, "radius_client_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[pulumi.Input[str]]: + """ + The radius server address property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @radius_server_address.setter + def radius_server_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_address", value) + + @property + @pulumi.getter(name="radiusServerRootCertificates") + def radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]: + """ + Radius Server root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_server_root_certificates") + + @radius_server_root_certificates.setter + def radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]): + pulumi.set(self, "radius_server_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[pulumi.Input[str]]: + """ + The radius secret property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @radius_server_secret.setter + def radius_server_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_secret", value) + + @property + @pulumi.getter(name="radiusServers") + def radius_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]: + """ + Multiple Radius Server configuration for VpnServerConfiguration. + """ + return pulumi.get(self, "radius_servers") + + @radius_servers.setter + def radius_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]): + pulumi.set(self, "radius_servers", value) + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]: + """ + VPN authentication types for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @vpn_authentication_types.setter + def vpn_authentication_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]): + pulumi.set(self, "vpn_authentication_types", value) + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: + """ + VpnClientIpsecPolicies for VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @vpn_client_ipsec_policies.setter + def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): + pulumi.set(self, "vpn_client_ipsec_policies", value) + + @property + @pulumi.getter(name="vpnClientRevokedCertificates") + def vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]: + """ + VPN client revoked certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_revoked_certificates") + + @vpn_client_revoked_certificates.setter + def vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]): + pulumi.set(self, "vpn_client_revoked_certificates", value) + + @property + @pulumi.getter(name="vpnClientRootCertificates") + def vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]: + """ + VPN client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_root_certificates") + + @vpn_client_root_certificates.setter + def vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]): + pulumi.set(self, "vpn_client_root_certificates", value) + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: + """ + VPN protocols for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @vpn_protocols.setter + def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): + pulumi.set(self, "vpn_protocols", value) + + @pulumi.input_type class VpnSiteLinkConnectionArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/network/get_p2s_vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/get_p2s_vpn_server_configuration.py index 93d836885d3c..4ca4af5e5d84 100644 --- a/sdk/python/pulumi_azure_native/network/get_p2s_vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/get_p2s_vpn_server_configuration.py @@ -22,7 +22,7 @@ class GetP2sVpnServerConfigurationResult: """ P2SVpnServerConfiguration Resource. """ - def __init__(__self__, etag=None, id=None, name=None, p2_s_vpn_gateways=None, p2_s_vpn_server_config_radius_client_root_certificates=None, p2_s_vpn_server_config_radius_server_root_certificates=None, p2_s_vpn_server_config_vpn_client_revoked_certificates=None, p2_s_vpn_server_config_vpn_client_root_certificates=None, provisioning_state=None, radius_server_address=None, radius_server_secret=None, vpn_client_ipsec_policies=None, vpn_protocols=None): + def __init__(__self__, etag=None, id=None, name=None, properties=None): if etag and not isinstance(etag, str): raise TypeError("Expected argument 'etag' to be a str") pulumi.set(__self__, "etag", etag) @@ -32,36 +32,9 @@ def __init__(__self__, etag=None, id=None, name=None, p2_s_vpn_gateways=None, p2 if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if p2_s_vpn_gateways and not isinstance(p2_s_vpn_gateways, list): - raise TypeError("Expected argument 'p2_s_vpn_gateways' to be a list") - pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) - if p2_s_vpn_server_config_radius_client_root_certificates and not isinstance(p2_s_vpn_server_config_radius_client_root_certificates, list): - raise TypeError("Expected argument 'p2_s_vpn_server_config_radius_client_root_certificates' to be a list") - pulumi.set(__self__, "p2_s_vpn_server_config_radius_client_root_certificates", p2_s_vpn_server_config_radius_client_root_certificates) - if p2_s_vpn_server_config_radius_server_root_certificates and not isinstance(p2_s_vpn_server_config_radius_server_root_certificates, list): - raise TypeError("Expected argument 'p2_s_vpn_server_config_radius_server_root_certificates' to be a list") - pulumi.set(__self__, "p2_s_vpn_server_config_radius_server_root_certificates", p2_s_vpn_server_config_radius_server_root_certificates) - if p2_s_vpn_server_config_vpn_client_revoked_certificates and not isinstance(p2_s_vpn_server_config_vpn_client_revoked_certificates, list): - raise TypeError("Expected argument 'p2_s_vpn_server_config_vpn_client_revoked_certificates' to be a list") - pulumi.set(__self__, "p2_s_vpn_server_config_vpn_client_revoked_certificates", p2_s_vpn_server_config_vpn_client_revoked_certificates) - if p2_s_vpn_server_config_vpn_client_root_certificates and not isinstance(p2_s_vpn_server_config_vpn_client_root_certificates, list): - raise TypeError("Expected argument 'p2_s_vpn_server_config_vpn_client_root_certificates' to be a list") - pulumi.set(__self__, "p2_s_vpn_server_config_vpn_client_root_certificates", p2_s_vpn_server_config_vpn_client_root_certificates) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if radius_server_address and not isinstance(radius_server_address, str): - raise TypeError("Expected argument 'radius_server_address' to be a str") - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_secret and not isinstance(radius_server_secret, str): - raise TypeError("Expected argument 'radius_server_secret' to be a str") - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if vpn_client_ipsec_policies and not isinstance(vpn_client_ipsec_policies, list): - raise TypeError("Expected argument 'vpn_client_ipsec_policies' to be a list") - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_protocols and not isinstance(vpn_protocols, list): - raise TypeError("Expected argument 'vpn_protocols' to be a list") - pulumi.set(__self__, "vpn_protocols", vpn_protocols) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) @property @pulumi.getter @@ -83,89 +56,17 @@ def id(self) -> Optional[str]: @pulumi.getter def name(self) -> Optional[str]: """ - The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + The name of the resource that is unique within a resource group. This name can be used to access the resource. """ return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> Sequence['outputs.SubResourceResponse']: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="p2SVpnServerConfigRadiusClientRootCertificates") - def p2_s_vpn_server_config_radius_client_root_certificates(self) -> Optional[Sequence['outputs.P2SVpnServerConfigRadiusClientRootCertificateResponse']]: - """ - Radius client root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_radius_client_root_certificates") - - @property - @pulumi.getter(name="p2SVpnServerConfigRadiusServerRootCertificates") - def p2_s_vpn_server_config_radius_server_root_certificates(self) -> Optional[Sequence['outputs.P2SVpnServerConfigRadiusServerRootCertificateResponse']]: - """ - Radius Server root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_radius_server_root_certificates") - - @property - @pulumi.getter(name="p2SVpnServerConfigVpnClientRevokedCertificates") - def p2_s_vpn_server_config_vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.P2SVpnServerConfigVpnClientRevokedCertificateResponse']]: - """ - VPN client revoked certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="p2SVpnServerConfigVpnClientRootCertificates") - def p2_s_vpn_server_config_vpn_client_root_certificates(self) -> Optional[Sequence['outputs.P2SVpnServerConfigVpnClientRootCertificateResponse']]: - """ - VPN client root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_root_certificates") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state of the P2S VPN server configuration resource. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[str]: - """ - The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[str]: - """ - The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: - """ - VpnClientIpsecPolicies for P2SVpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[Sequence[str]]: + @pulumi.getter + def properties(self) -> 'outputs.P2SVpnServerConfigurationPropertiesResponse': """ - VPN protocols for the P2SVpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "vpn_protocols") + return pulumi.get(self, "properties") class AwaitableGetP2sVpnServerConfigurationResult(GetP2sVpnServerConfigurationResult): @@ -177,16 +78,7 @@ def __await__(self): etag=self.etag, id=self.id, name=self.name, - p2_s_vpn_gateways=self.p2_s_vpn_gateways, - p2_s_vpn_server_config_radius_client_root_certificates=self.p2_s_vpn_server_config_radius_client_root_certificates, - p2_s_vpn_server_config_radius_server_root_certificates=self.p2_s_vpn_server_config_radius_server_root_certificates, - p2_s_vpn_server_config_vpn_client_revoked_certificates=self.p2_s_vpn_server_config_vpn_client_revoked_certificates, - p2_s_vpn_server_config_vpn_client_root_certificates=self.p2_s_vpn_server_config_vpn_client_root_certificates, - provisioning_state=self.provisioning_state, - radius_server_address=self.radius_server_address, - radius_server_secret=self.radius_server_secret, - vpn_client_ipsec_policies=self.vpn_client_ipsec_policies, - vpn_protocols=self.vpn_protocols) + properties=self.properties) def get_p2s_vpn_server_configuration(p2_s_vpn_server_configuration_name: Optional[str] = None, @@ -213,16 +105,7 @@ def get_p2s_vpn_server_configuration(p2_s_vpn_server_configuration_name: Optiona etag=pulumi.get(__ret__, 'etag'), id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), - p2_s_vpn_gateways=pulumi.get(__ret__, 'p2_s_vpn_gateways'), - p2_s_vpn_server_config_radius_client_root_certificates=pulumi.get(__ret__, 'p2_s_vpn_server_config_radius_client_root_certificates'), - p2_s_vpn_server_config_radius_server_root_certificates=pulumi.get(__ret__, 'p2_s_vpn_server_config_radius_server_root_certificates'), - p2_s_vpn_server_config_vpn_client_revoked_certificates=pulumi.get(__ret__, 'p2_s_vpn_server_config_vpn_client_revoked_certificates'), - p2_s_vpn_server_config_vpn_client_root_certificates=pulumi.get(__ret__, 'p2_s_vpn_server_config_vpn_client_root_certificates'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), - radius_server_address=pulumi.get(__ret__, 'radius_server_address'), - radius_server_secret=pulumi.get(__ret__, 'radius_server_secret'), - vpn_client_ipsec_policies=pulumi.get(__ret__, 'vpn_client_ipsec_policies'), - vpn_protocols=pulumi.get(__ret__, 'vpn_protocols')) + properties=pulumi.get(__ret__, 'properties')) @_utilities.lift_output_func(get_p2s_vpn_server_configuration) diff --git a/sdk/python/pulumi_azure_native/network/get_vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/get_vpn_server_configuration.py index 4a04ab689b0c..0468c0add53e 100644 --- a/sdk/python/pulumi_azure_native/network/get_vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/get_vpn_server_configuration.py @@ -22,13 +22,7 @@ class GetVpnServerConfigurationResult: """ VpnServerConfiguration Resource. """ - def __init__(__self__, aad_authentication_parameters=None, configuration_policy_groups=None, etag=None, id=None, location=None, name=None, p2_s_vpn_gateways=None, provisioning_state=None, radius_client_root_certificates=None, radius_server_address=None, radius_server_root_certificates=None, radius_server_secret=None, radius_servers=None, tags=None, type=None, vpn_authentication_types=None, vpn_client_ipsec_policies=None, vpn_client_revoked_certificates=None, vpn_client_root_certificates=None, vpn_protocols=None): - if aad_authentication_parameters and not isinstance(aad_authentication_parameters, dict): - raise TypeError("Expected argument 'aad_authentication_parameters' to be a dict") - pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) - if configuration_policy_groups and not isinstance(configuration_policy_groups, list): - raise TypeError("Expected argument 'configuration_policy_groups' to be a list") - pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + def __init__(__self__, etag=None, id=None, location=None, name=None, properties=None, tags=None, type=None): if etag and not isinstance(etag, str): raise TypeError("Expected argument 'etag' to be a str") pulumi.set(__self__, "etag", etag) @@ -41,64 +35,15 @@ def __init__(__self__, aad_authentication_parameters=None, configuration_policy_ if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if p2_s_vpn_gateways and not isinstance(p2_s_vpn_gateways, list): - raise TypeError("Expected argument 'p2_s_vpn_gateways' to be a list") - pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if radius_client_root_certificates and not isinstance(radius_client_root_certificates, list): - raise TypeError("Expected argument 'radius_client_root_certificates' to be a list") - pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) - if radius_server_address and not isinstance(radius_server_address, str): - raise TypeError("Expected argument 'radius_server_address' to be a str") - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_root_certificates and not isinstance(radius_server_root_certificates, list): - raise TypeError("Expected argument 'radius_server_root_certificates' to be a list") - pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) - if radius_server_secret and not isinstance(radius_server_secret, str): - raise TypeError("Expected argument 'radius_server_secret' to be a str") - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if radius_servers and not isinstance(radius_servers, list): - raise TypeError("Expected argument 'radius_servers' to be a list") - pulumi.set(__self__, "radius_servers", radius_servers) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) 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 vpn_authentication_types and not isinstance(vpn_authentication_types, list): - raise TypeError("Expected argument 'vpn_authentication_types' to be a list") - pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) - if vpn_client_ipsec_policies and not isinstance(vpn_client_ipsec_policies, list): - raise TypeError("Expected argument 'vpn_client_ipsec_policies' to be a list") - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_client_revoked_certificates and not isinstance(vpn_client_revoked_certificates, list): - raise TypeError("Expected argument 'vpn_client_revoked_certificates' to be a list") - pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) - if vpn_client_root_certificates and not isinstance(vpn_client_root_certificates, list): - raise TypeError("Expected argument 'vpn_client_root_certificates' to be a list") - pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) - if vpn_protocols and not isinstance(vpn_protocols, list): - raise TypeError("Expected argument 'vpn_protocols' to be a list") - pulumi.set(__self__, "vpn_protocols", vpn_protocols) - - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> Optional['outputs.AadAuthenticationParametersResponse']: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]: - """ - List of all VpnServerConfigurationPolicyGroups. - """ - return pulumi.get(self, "configuration_policy_groups") @property @pulumi.getter @@ -133,60 +78,12 @@ def name(self) -> str: return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> Sequence['outputs.P2SVpnGatewayResponse']: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[str]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[str]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> Optional[Sequence['outputs.RadiusServerResponse']]: + @pulumi.getter + def properties(self) -> 'outputs.VpnServerConfigurationPropertiesResponse': """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -204,46 +101,6 @@ def type(self) -> str: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> Optional[Sequence[str]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[Sequence[str]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - class AwaitableGetVpnServerConfigurationResult(GetVpnServerConfigurationResult): # pylint: disable=using-constant-test @@ -251,26 +108,13 @@ def __await__(self): if False: yield self return GetVpnServerConfigurationResult( - aad_authentication_parameters=self.aad_authentication_parameters, - configuration_policy_groups=self.configuration_policy_groups, etag=self.etag, id=self.id, location=self.location, name=self.name, - p2_s_vpn_gateways=self.p2_s_vpn_gateways, - provisioning_state=self.provisioning_state, - radius_client_root_certificates=self.radius_client_root_certificates, - radius_server_address=self.radius_server_address, - radius_server_root_certificates=self.radius_server_root_certificates, - radius_server_secret=self.radius_server_secret, - radius_servers=self.radius_servers, + properties=self.properties, tags=self.tags, - type=self.type, - vpn_authentication_types=self.vpn_authentication_types, - vpn_client_ipsec_policies=self.vpn_client_ipsec_policies, - vpn_client_revoked_certificates=self.vpn_client_revoked_certificates, - vpn_client_root_certificates=self.vpn_client_root_certificates, - vpn_protocols=self.vpn_protocols) + type=self.type) def get_vpn_server_configuration(resource_group_name: Optional[str] = None, @@ -293,26 +137,13 @@ def get_vpn_server_configuration(resource_group_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:network:getVpnServerConfiguration', __args__, opts=opts, typ=GetVpnServerConfigurationResult).value return AwaitableGetVpnServerConfigurationResult( - aad_authentication_parameters=pulumi.get(__ret__, 'aad_authentication_parameters'), - configuration_policy_groups=pulumi.get(__ret__, 'configuration_policy_groups'), etag=pulumi.get(__ret__, 'etag'), id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), - p2_s_vpn_gateways=pulumi.get(__ret__, 'p2_s_vpn_gateways'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), - radius_client_root_certificates=pulumi.get(__ret__, 'radius_client_root_certificates'), - radius_server_address=pulumi.get(__ret__, 'radius_server_address'), - radius_server_root_certificates=pulumi.get(__ret__, 'radius_server_root_certificates'), - radius_server_secret=pulumi.get(__ret__, 'radius_server_secret'), - radius_servers=pulumi.get(__ret__, 'radius_servers'), + properties=pulumi.get(__ret__, 'properties'), tags=pulumi.get(__ret__, 'tags'), - type=pulumi.get(__ret__, 'type'), - vpn_authentication_types=pulumi.get(__ret__, 'vpn_authentication_types'), - vpn_client_ipsec_policies=pulumi.get(__ret__, 'vpn_client_ipsec_policies'), - vpn_client_revoked_certificates=pulumi.get(__ret__, 'vpn_client_revoked_certificates'), - vpn_client_root_certificates=pulumi.get(__ret__, 'vpn_client_root_certificates'), - vpn_protocols=pulumi.get(__ret__, 'vpn_protocols')) + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_vpn_server_configuration) diff --git a/sdk/python/pulumi_azure_native/network/outputs.py b/sdk/python/pulumi_azure_native/network/outputs.py index ab4913176322..404f04a3fbd8 100644 --- a/sdk/python/pulumi_azure_native/network/outputs.py +++ b/sdk/python/pulumi_azure_native/network/outputs.py @@ -268,6 +268,7 @@ 'P2SVpnServerConfigRadiusServerRootCertificateResponse', 'P2SVpnServerConfigVpnClientRevokedCertificateResponse', 'P2SVpnServerConfigVpnClientRootCertificateResponse', + 'P2SVpnServerConfigurationPropertiesResponse', 'PacketCaptureFilterResponse', 'PacketCaptureMachineScopeResponse', 'PacketCaptureStorageLocationResponse', @@ -378,6 +379,7 @@ 'VpnServerConfigVpnClientRootCertificateResponse', 'VpnServerConfigurationPolicyGroupMemberResponse', 'VpnServerConfigurationPolicyGroupResponse', + 'VpnServerConfigurationPropertiesResponse', 'VpnSiteLinkConnectionResponse', 'VpnSiteLinkResponse', 'WebApplicationFirewallCustomRuleResponse', @@ -24950,6 +24952,194 @@ def name(self) -> Optional[str]: return pulumi.get(self, "name") +@pulumi.output_type +class P2SVpnServerConfigurationPropertiesResponse(dict): + """ + Parameters for P2SVpnServerConfiguration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "p2SVpnGateways": + suggest = "p2_s_vpn_gateways" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "p2SVpnServerConfigRadiusClientRootCertificates": + suggest = "p2_s_vpn_server_config_radius_client_root_certificates" + elif key == "p2SVpnServerConfigRadiusServerRootCertificates": + suggest = "p2_s_vpn_server_config_radius_server_root_certificates" + elif key == "p2SVpnServerConfigVpnClientRevokedCertificates": + suggest = "p2_s_vpn_server_config_vpn_client_revoked_certificates" + elif key == "p2SVpnServerConfigVpnClientRootCertificates": + suggest = "p2_s_vpn_server_config_vpn_client_root_certificates" + elif key == "radiusServerAddress": + suggest = "radius_server_address" + elif key == "radiusServerSecret": + suggest = "radius_server_secret" + elif key == "vpnClientIpsecPolicies": + suggest = "vpn_client_ipsec_policies" + elif key == "vpnProtocols": + suggest = "vpn_protocols" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in P2SVpnServerConfigurationPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + P2SVpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + P2SVpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + p2_s_vpn_gateways: Sequence['outputs.SubResourceResponse'], + provisioning_state: str, + etag: Optional[str] = None, + name: Optional[str] = None, + p2_s_vpn_server_config_radius_client_root_certificates: Optional[Sequence['outputs.P2SVpnServerConfigRadiusClientRootCertificateResponse']] = None, + p2_s_vpn_server_config_radius_server_root_certificates: Optional[Sequence['outputs.P2SVpnServerConfigRadiusServerRootCertificateResponse']] = None, + p2_s_vpn_server_config_vpn_client_revoked_certificates: Optional[Sequence['outputs.P2SVpnServerConfigVpnClientRevokedCertificateResponse']] = None, + p2_s_vpn_server_config_vpn_client_root_certificates: Optional[Sequence['outputs.P2SVpnServerConfigVpnClientRootCertificateResponse']] = None, + radius_server_address: Optional[str] = None, + radius_server_secret: Optional[str] = None, + vpn_client_ipsec_policies: Optional[Sequence['outputs.IpsecPolicyResponse']] = None, + vpn_protocols: Optional[Sequence[str]] = None): + """ + Parameters for P2SVpnServerConfiguration. + :param Sequence['SubResourceResponse'] p2_s_vpn_gateways: List of references to P2SVpnGateways. + :param str provisioning_state: The provisioning state of the P2S VPN server configuration resource. + :param str etag: A unique read-only string that changes whenever the resource is updated. + :param str name: The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + :param Sequence['P2SVpnServerConfigRadiusClientRootCertificateResponse'] p2_s_vpn_server_config_radius_client_root_certificates: Radius client root certificate of P2SVpnServerConfiguration. + :param Sequence['P2SVpnServerConfigRadiusServerRootCertificateResponse'] p2_s_vpn_server_config_radius_server_root_certificates: Radius Server root certificate of P2SVpnServerConfiguration. + :param Sequence['P2SVpnServerConfigVpnClientRevokedCertificateResponse'] p2_s_vpn_server_config_vpn_client_revoked_certificates: VPN client revoked certificate of P2SVpnServerConfiguration. + :param Sequence['P2SVpnServerConfigVpnClientRootCertificateResponse'] p2_s_vpn_server_config_vpn_client_root_certificates: VPN client root certificate of P2SVpnServerConfiguration. + :param str radius_server_address: The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + :param str radius_server_secret: The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + :param Sequence['IpsecPolicyResponse'] vpn_client_ipsec_policies: VpnClientIpsecPolicies for P2SVpnServerConfiguration. + :param Sequence[str] vpn_protocols: VPN protocols for the P2SVpnServerConfiguration. + """ + pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) + pulumi.set(__self__, "provisioning_state", provisioning_state) + if etag is not None: + pulumi.set(__self__, "etag", etag) + if name is not None: + pulumi.set(__self__, "name", name) + if p2_s_vpn_server_config_radius_client_root_certificates is not None: + pulumi.set(__self__, "p2_s_vpn_server_config_radius_client_root_certificates", p2_s_vpn_server_config_radius_client_root_certificates) + if p2_s_vpn_server_config_radius_server_root_certificates is not None: + pulumi.set(__self__, "p2_s_vpn_server_config_radius_server_root_certificates", p2_s_vpn_server_config_radius_server_root_certificates) + if p2_s_vpn_server_config_vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "p2_s_vpn_server_config_vpn_client_revoked_certificates", p2_s_vpn_server_config_vpn_client_revoked_certificates) + if p2_s_vpn_server_config_vpn_client_root_certificates is not None: + pulumi.set(__self__, "p2_s_vpn_server_config_vpn_client_root_certificates", p2_s_vpn_server_config_vpn_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter(name="p2SVpnGateways") + def p2_s_vpn_gateways(self) -> Sequence['outputs.SubResourceResponse']: + """ + List of references to P2SVpnGateways. + """ + return pulumi.get(self, "p2_s_vpn_gateways") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the P2S VPN server configuration resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def etag(self) -> Optional[str]: + """ + A unique read-only string that changes whenever the resource is updated. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="p2SVpnServerConfigRadiusClientRootCertificates") + def p2_s_vpn_server_config_radius_client_root_certificates(self) -> Optional[Sequence['outputs.P2SVpnServerConfigRadiusClientRootCertificateResponse']]: + """ + Radius client root certificate of P2SVpnServerConfiguration. + """ + return pulumi.get(self, "p2_s_vpn_server_config_radius_client_root_certificates") + + @property + @pulumi.getter(name="p2SVpnServerConfigRadiusServerRootCertificates") + def p2_s_vpn_server_config_radius_server_root_certificates(self) -> Optional[Sequence['outputs.P2SVpnServerConfigRadiusServerRootCertificateResponse']]: + """ + Radius Server root certificate of P2SVpnServerConfiguration. + """ + return pulumi.get(self, "p2_s_vpn_server_config_radius_server_root_certificates") + + @property + @pulumi.getter(name="p2SVpnServerConfigVpnClientRevokedCertificates") + def p2_s_vpn_server_config_vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.P2SVpnServerConfigVpnClientRevokedCertificateResponse']]: + """ + VPN client revoked certificate of P2SVpnServerConfiguration. + """ + return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_revoked_certificates") + + @property + @pulumi.getter(name="p2SVpnServerConfigVpnClientRootCertificates") + def p2_s_vpn_server_config_vpn_client_root_certificates(self) -> Optional[Sequence['outputs.P2SVpnServerConfigVpnClientRootCertificateResponse']]: + """ + VPN client root certificate of P2SVpnServerConfiguration. + """ + return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_root_certificates") + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[str]: + """ + The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[str]: + """ + The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: + """ + VpnClientIpsecPolicies for P2SVpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[Sequence[str]]: + """ + VPN protocols for the P2SVpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @pulumi.output_type class PacketCaptureFilterResponse(dict): """ @@ -35602,6 +35792,249 @@ def priority(self) -> Optional[int]: return pulumi.get(self, "priority") +@pulumi.output_type +class VpnServerConfigurationPropertiesResponse(dict): + """ + Parameters for VpnServerConfiguration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "p2SVpnGateways": + suggest = "p2_s_vpn_gateways" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "aadAuthenticationParameters": + suggest = "aad_authentication_parameters" + elif key == "configurationPolicyGroups": + suggest = "configuration_policy_groups" + elif key == "radiusClientRootCertificates": + suggest = "radius_client_root_certificates" + elif key == "radiusServerAddress": + suggest = "radius_server_address" + elif key == "radiusServerRootCertificates": + suggest = "radius_server_root_certificates" + elif key == "radiusServerSecret": + suggest = "radius_server_secret" + elif key == "radiusServers": + suggest = "radius_servers" + elif key == "vpnAuthenticationTypes": + suggest = "vpn_authentication_types" + elif key == "vpnClientIpsecPolicies": + suggest = "vpn_client_ipsec_policies" + elif key == "vpnClientRevokedCertificates": + suggest = "vpn_client_revoked_certificates" + elif key == "vpnClientRootCertificates": + suggest = "vpn_client_root_certificates" + elif key == "vpnProtocols": + suggest = "vpn_protocols" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnServerConfigurationPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + etag: str, + p2_s_vpn_gateways: Sequence['outputs.P2SVpnGatewayResponse'], + provisioning_state: str, + aad_authentication_parameters: Optional['outputs.AadAuthenticationParametersResponse'] = None, + configuration_policy_groups: Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']] = None, + name: Optional[str] = None, + radius_client_root_certificates: Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']] = None, + radius_server_address: Optional[str] = None, + radius_server_root_certificates: Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']] = None, + radius_server_secret: Optional[str] = None, + radius_servers: Optional[Sequence['outputs.RadiusServerResponse']] = None, + vpn_authentication_types: Optional[Sequence[str]] = None, + vpn_client_ipsec_policies: Optional[Sequence['outputs.IpsecPolicyResponse']] = None, + vpn_client_revoked_certificates: Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']] = None, + vpn_client_root_certificates: Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']] = None, + vpn_protocols: Optional[Sequence[str]] = None): + """ + Parameters for VpnServerConfiguration. + :param str etag: A unique read-only string that changes whenever the resource is updated. + :param Sequence['P2SVpnGatewayResponse'] p2_s_vpn_gateways: List of references to P2SVpnGateways. + :param str provisioning_state: The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :param 'AadAuthenticationParametersResponse' aad_authentication_parameters: The set of aad vpn authentication parameters. + :param Sequence['VpnServerConfigurationPolicyGroupResponse'] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. + :param str name: The name of the VpnServerConfiguration that is unique within a resource group. + :param Sequence['VpnServerConfigRadiusClientRootCertificateResponse'] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. + :param str radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. + :param Sequence['VpnServerConfigRadiusServerRootCertificateResponse'] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. + :param str radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. + :param Sequence['RadiusServerResponse'] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param Sequence[str] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. + :param Sequence['IpsecPolicyResponse'] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. + :param Sequence['VpnServerConfigVpnClientRevokedCertificateResponse'] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. + :param Sequence['VpnServerConfigVpnClientRootCertificateResponse'] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. + :param Sequence[str] vpn_protocols: VPN protocols for the VpnServerConfiguration. + """ + pulumi.set(__self__, "etag", etag) + pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) + pulumi.set(__self__, "provisioning_state", provisioning_state) + if aad_authentication_parameters is not None: + pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) + if configuration_policy_groups is not None: + pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + if name is not None: + pulumi.set(__self__, "name", name) + if radius_client_root_certificates is not None: + pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_root_certificates is not None: + pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if radius_servers is not None: + pulumi.set(__self__, "radius_servers", radius_servers) + if vpn_authentication_types is not None: + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) + if vpn_client_root_certificates is not None: + pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter + def etag(self) -> str: + """ + A unique read-only string that changes whenever the resource is updated. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="p2SVpnGateways") + def p2_s_vpn_gateways(self) -> Sequence['outputs.P2SVpnGatewayResponse']: + """ + List of references to P2SVpnGateways. + """ + return pulumi.get(self, "p2_s_vpn_gateways") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="aadAuthenticationParameters") + def aad_authentication_parameters(self) -> Optional['outputs.AadAuthenticationParametersResponse']: + """ + The set of aad vpn authentication parameters. + """ + return pulumi.get(self, "aad_authentication_parameters") + + @property + @pulumi.getter(name="configurationPolicyGroups") + def configuration_policy_groups(self) -> Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]: + """ + List of all VpnServerConfigurationPolicyGroups. + """ + return pulumi.get(self, "configuration_policy_groups") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the VpnServerConfiguration that is unique within a resource group. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="radiusClientRootCertificates") + def radius_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]: + """ + Radius client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_client_root_certificates") + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[str]: + """ + The radius server address property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @property + @pulumi.getter(name="radiusServerRootCertificates") + def radius_server_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]: + """ + Radius Server root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_server_root_certificates") + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[str]: + """ + The radius secret property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @property + @pulumi.getter(name="radiusServers") + def radius_servers(self) -> Optional[Sequence['outputs.RadiusServerResponse']]: + """ + Multiple Radius Server configuration for VpnServerConfiguration. + """ + return pulumi.get(self, "radius_servers") + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Optional[Sequence[str]]: + """ + VPN authentication types for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: + """ + VpnClientIpsecPolicies for VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @property + @pulumi.getter(name="vpnClientRevokedCertificates") + def vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]: + """ + VPN client revoked certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_revoked_certificates") + + @property + @pulumi.getter(name="vpnClientRootCertificates") + def vpn_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]: + """ + VPN client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_root_certificates") + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[Sequence[str]]: + """ + VPN protocols for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @pulumi.output_type class VpnSiteLinkConnectionResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/network/p2s_vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/p2s_vpn_server_configuration.py index fc4b029be0bf..cbff20a2c3cc 100644 --- a/sdk/python/pulumi_azure_native/network/p2s_vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/p2s_vpn_server_configuration.py @@ -21,30 +21,16 @@ def __init__(__self__, *, virtual_wan_name: pulumi.Input[str], id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - p2_s_vpn_server_config_radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]] = None, - p2_s_vpn_server_config_radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]] = None, - p2_s_vpn_server_config_vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, - p2_s_vpn_server_config_vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRootCertificateArgs']]]] = None, p2_s_vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None): + properties: Optional[pulumi.Input['P2SVpnServerConfigurationPropertiesArgs']] = None): """ The set of arguments for constructing a P2sVpnServerConfiguration resource. :param pulumi.Input[str] resource_group_name: The resource group name of the VirtualWan. :param pulumi.Input[str] virtual_wan_name: The name of the VirtualWan. :param pulumi.Input[str] id: Resource ID. - :param pulumi.Input[str] name: The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. - :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]] p2_s_vpn_server_config_radius_client_root_certificates: Radius client root certificate of P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]] p2_s_vpn_server_config_radius_server_root_certificates: Radius Server root certificate of P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]] p2_s_vpn_server_config_vpn_client_revoked_certificates: VPN client revoked certificate of P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRootCertificateArgs']]] p2_s_vpn_server_config_vpn_client_root_certificates: VPN client root certificate of P2SVpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. :param pulumi.Input[str] p2_s_vpn_server_configuration_name: The name of the P2SVpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the P2SVpnServerConfiguration. + :param pulumi.Input['P2SVpnServerConfigurationPropertiesArgs'] properties: Properties of the P2SVpnServer configuration. """ pulumi.set(__self__, "resource_group_name", resource_group_name) pulumi.set(__self__, "virtual_wan_name", virtual_wan_name) @@ -52,24 +38,10 @@ def __init__(__self__, *, pulumi.set(__self__, "id", id) if name is not None: pulumi.set(__self__, "name", name) - if p2_s_vpn_server_config_radius_client_root_certificates is not None: - pulumi.set(__self__, "p2_s_vpn_server_config_radius_client_root_certificates", p2_s_vpn_server_config_radius_client_root_certificates) - if p2_s_vpn_server_config_radius_server_root_certificates is not None: - pulumi.set(__self__, "p2_s_vpn_server_config_radius_server_root_certificates", p2_s_vpn_server_config_radius_server_root_certificates) - if p2_s_vpn_server_config_vpn_client_revoked_certificates is not None: - pulumi.set(__self__, "p2_s_vpn_server_config_vpn_client_revoked_certificates", p2_s_vpn_server_config_vpn_client_revoked_certificates) - if p2_s_vpn_server_config_vpn_client_root_certificates is not None: - pulumi.set(__self__, "p2_s_vpn_server_config_vpn_client_root_certificates", p2_s_vpn_server_config_vpn_client_root_certificates) if p2_s_vpn_server_configuration_name is not None: pulumi.set(__self__, "p2_s_vpn_server_configuration_name", p2_s_vpn_server_configuration_name) - if radius_server_address is not None: - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_secret is not None: - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if vpn_client_ipsec_policies is not None: - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_protocols is not None: - pulumi.set(__self__, "vpn_protocols", vpn_protocols) + if properties is not None: + pulumi.set(__self__, "properties", properties) @property @pulumi.getter(name="resourceGroupName") @@ -111,7 +83,7 @@ def id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + The name of the resource that is unique within a resource group. This name can be used to access the resource. """ return pulumi.get(self, "name") @@ -119,54 +91,6 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) - @property - @pulumi.getter(name="p2SVpnServerConfigRadiusClientRootCertificates") - def p2_s_vpn_server_config_radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]]: - """ - Radius client root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_radius_client_root_certificates") - - @p2_s_vpn_server_config_radius_client_root_certificates.setter - def p2_s_vpn_server_config_radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]]): - pulumi.set(self, "p2_s_vpn_server_config_radius_client_root_certificates", value) - - @property - @pulumi.getter(name="p2SVpnServerConfigRadiusServerRootCertificates") - def p2_s_vpn_server_config_radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]]: - """ - Radius Server root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_radius_server_root_certificates") - - @p2_s_vpn_server_config_radius_server_root_certificates.setter - def p2_s_vpn_server_config_radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]]): - pulumi.set(self, "p2_s_vpn_server_config_radius_server_root_certificates", value) - - @property - @pulumi.getter(name="p2SVpnServerConfigVpnClientRevokedCertificates") - def p2_s_vpn_server_config_vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]]: - """ - VPN client revoked certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_revoked_certificates") - - @p2_s_vpn_server_config_vpn_client_revoked_certificates.setter - def p2_s_vpn_server_config_vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]]): - pulumi.set(self, "p2_s_vpn_server_config_vpn_client_revoked_certificates", value) - - @property - @pulumi.getter(name="p2SVpnServerConfigVpnClientRootCertificates") - def p2_s_vpn_server_config_vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRootCertificateArgs']]]]: - """ - VPN client root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_root_certificates") - - @p2_s_vpn_server_config_vpn_client_root_certificates.setter - def p2_s_vpn_server_config_vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRootCertificateArgs']]]]): - pulumi.set(self, "p2_s_vpn_server_config_vpn_client_root_certificates", value) - @property @pulumi.getter(name="p2SVpnServerConfigurationName") def p2_s_vpn_server_configuration_name(self) -> Optional[pulumi.Input[str]]: @@ -180,52 +104,16 @@ def p2_s_vpn_server_configuration_name(self, value: Optional[pulumi.Input[str]]) pulumi.set(self, "p2_s_vpn_server_configuration_name", value) @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[pulumi.Input[str]]: - """ - The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @radius_server_address.setter - def radius_server_address(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_address", value) - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[pulumi.Input[str]]: - """ - The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @radius_server_secret.setter - def radius_server_secret(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_secret", value) - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: - """ - VpnClientIpsecPolicies for P2SVpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @vpn_client_ipsec_policies.setter - def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): - pulumi.set(self, "vpn_client_ipsec_policies", value) - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['P2SVpnServerConfigurationPropertiesArgs']]: """ - VPN protocols for the P2SVpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "vpn_protocols") + return pulumi.get(self, "properties") - @vpn_protocols.setter - def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): - pulumi.set(self, "vpn_protocols", value) + @properties.setter + def properties(self, value: Optional[pulumi.Input['P2SVpnServerConfigurationPropertiesArgs']]): + pulumi.set(self, "properties", value) class P2sVpnServerConfiguration(pulumi.CustomResource): @@ -235,17 +123,10 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - p2_s_vpn_server_config_radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - p2_s_vpn_server_config_radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - p2_s_vpn_server_config_vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - p2_s_vpn_server_config_vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigVpnClientRootCertificateArgs']]]]] = None, p2_s_vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['P2SVpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, virtual_wan_name: Optional[pulumi.Input[str]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, __props__=None): """ P2SVpnServerConfiguration Resource. @@ -254,18 +135,11 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] id: Resource ID. - :param pulumi.Input[str] name: The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]] p2_s_vpn_server_config_radius_client_root_certificates: Radius client root certificate of P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]] p2_s_vpn_server_config_radius_server_root_certificates: Radius Server root certificate of P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]] p2_s_vpn_server_config_vpn_client_revoked_certificates: VPN client revoked certificate of P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigVpnClientRootCertificateArgs']]]] p2_s_vpn_server_config_vpn_client_root_certificates: VPN client root certificate of P2SVpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. :param pulumi.Input[str] p2_s_vpn_server_configuration_name: The name of the P2SVpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[pulumi.InputType['P2SVpnServerConfigurationPropertiesArgs']] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[str] resource_group_name: The resource group name of the VirtualWan. :param pulumi.Input[str] virtual_wan_name: The name of the VirtualWan. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the P2SVpnServerConfiguration. """ ... @overload @@ -294,17 +168,10 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - p2_s_vpn_server_config_radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - p2_s_vpn_server_config_radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - p2_s_vpn_server_config_vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - p2_s_vpn_server_config_vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigVpnClientRootCertificateArgs']]]]] = None, p2_s_vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['P2SVpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, virtual_wan_name: Optional[pulumi.Input[str]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -316,24 +183,15 @@ def _internal_init(__self__, __props__.__dict__["id"] = id __props__.__dict__["name"] = name - __props__.__dict__["p2_s_vpn_server_config_radius_client_root_certificates"] = p2_s_vpn_server_config_radius_client_root_certificates - __props__.__dict__["p2_s_vpn_server_config_radius_server_root_certificates"] = p2_s_vpn_server_config_radius_server_root_certificates - __props__.__dict__["p2_s_vpn_server_config_vpn_client_revoked_certificates"] = p2_s_vpn_server_config_vpn_client_revoked_certificates - __props__.__dict__["p2_s_vpn_server_config_vpn_client_root_certificates"] = p2_s_vpn_server_config_vpn_client_root_certificates __props__.__dict__["p2_s_vpn_server_configuration_name"] = p2_s_vpn_server_configuration_name - __props__.__dict__["radius_server_address"] = radius_server_address - __props__.__dict__["radius_server_secret"] = radius_server_secret + __props__.__dict__["properties"] = properties if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name if virtual_wan_name is None and not opts.urn: raise TypeError("Missing required property 'virtual_wan_name'") __props__.__dict__["virtual_wan_name"] = virtual_wan_name - __props__.__dict__["vpn_client_ipsec_policies"] = vpn_client_ipsec_policies - __props__.__dict__["vpn_protocols"] = vpn_protocols __props__.__dict__["etag"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:network/v20180801:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20181001:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20181101:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20181201:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190201:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190401:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190601:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190701:P2sVpnServerConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(P2sVpnServerConfiguration, __self__).__init__( @@ -360,16 +218,7 @@ def get(resource_name: str, __props__.__dict__["etag"] = None __props__.__dict__["name"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["p2_s_vpn_server_config_radius_client_root_certificates"] = None - __props__.__dict__["p2_s_vpn_server_config_radius_server_root_certificates"] = None - __props__.__dict__["p2_s_vpn_server_config_vpn_client_revoked_certificates"] = None - __props__.__dict__["p2_s_vpn_server_config_vpn_client_root_certificates"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["radius_server_address"] = None - __props__.__dict__["radius_server_secret"] = None - __props__.__dict__["vpn_client_ipsec_policies"] = None - __props__.__dict__["vpn_protocols"] = None + __props__.__dict__["properties"] = None return P2sVpnServerConfiguration(resource_name, opts=opts, __props__=__props__) @property @@ -384,87 +233,15 @@ def etag(self) -> pulumi.Output[str]: @pulumi.getter def name(self) -> pulumi.Output[Optional[str]]: """ - The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + The name of the resource that is unique within a resource group. This name can be used to access the resource. """ return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> pulumi.Output[Sequence['outputs.SubResourceResponse']]: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="p2SVpnServerConfigRadiusClientRootCertificates") - def p2_s_vpn_server_config_radius_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.P2SVpnServerConfigRadiusClientRootCertificateResponse']]]: - """ - Radius client root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_radius_client_root_certificates") - - @property - @pulumi.getter(name="p2SVpnServerConfigRadiusServerRootCertificates") - def p2_s_vpn_server_config_radius_server_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.P2SVpnServerConfigRadiusServerRootCertificateResponse']]]: - """ - Radius Server root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_radius_server_root_certificates") - - @property - @pulumi.getter(name="p2SVpnServerConfigVpnClientRevokedCertificates") - def p2_s_vpn_server_config_vpn_client_revoked_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.P2SVpnServerConfigVpnClientRevokedCertificateResponse']]]: - """ - VPN client revoked certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="p2SVpnServerConfigVpnClientRootCertificates") - def p2_s_vpn_server_config_vpn_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.P2SVpnServerConfigVpnClientRootCertificateResponse']]]: - """ - VPN client root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_root_certificates") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state of the P2S VPN server configuration resource. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> pulumi.Output[Optional[str]]: - """ - The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> pulumi.Output[Optional[str]]: - """ - The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> pulumi.Output[Optional[Sequence['outputs.IpsecPolicyResponse']]]: - """ - VpnClientIpsecPolicies for P2SVpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> pulumi.Output[Optional[Sequence[str]]]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.P2SVpnServerConfigurationPropertiesResponse']: """ - VPN protocols for the P2SVpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "vpn_protocols") + return pulumi.get(self, "properties") diff --git a/sdk/python/pulumi_azure_native/network/v20190701/_inputs.py b/sdk/python/pulumi_azure_native/network/v20190701/_inputs.py index d128808e9d7b..edaec5265c26 100644 --- a/sdk/python/pulumi_azure_native/network/v20190701/_inputs.py +++ b/sdk/python/pulumi_azure_native/network/v20190701/_inputs.py @@ -19,6 +19,7 @@ 'P2SVpnServerConfigRadiusServerRootCertificateArgs', 'P2SVpnServerConfigVpnClientRevokedCertificateArgs', 'P2SVpnServerConfigVpnClientRootCertificateArgs', + 'P2SVpnServerConfigurationPropertiesArgs', 'P2SVpnServerConfigurationArgs', 'PolicySettingsArgs', 'SubResourceArgs', @@ -588,10 +589,9 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type -class P2SVpnServerConfigurationArgs: +class P2SVpnServerConfigurationPropertiesArgs: def __init__(__self__, *, etag: Optional[pulumi.Input[str]] = None, - id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, p2_s_vpn_server_config_radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]] = None, p2_s_vpn_server_config_radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]] = None, @@ -602,9 +602,8 @@ def __init__(__self__, *, vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None): """ - P2SVpnServerConfiguration Resource. + Parameters for P2SVpnServerConfiguration. :param pulumi.Input[str] etag: A unique read-only string that changes whenever the resource is updated. - :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] name: The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]] p2_s_vpn_server_config_radius_client_root_certificates: Radius client root certificate of P2SVpnServerConfiguration. :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]] p2_s_vpn_server_config_radius_server_root_certificates: Radius Server root certificate of P2SVpnServerConfiguration. @@ -617,8 +616,6 @@ def __init__(__self__, *, """ if etag is not None: pulumi.set(__self__, "etag", etag) - if id is not None: - pulumi.set(__self__, "id", id) if name is not None: pulumi.set(__self__, "name", name) if p2_s_vpn_server_config_radius_client_root_certificates is not None: @@ -650,18 +647,6 @@ def etag(self) -> Optional[pulumi.Input[str]]: def etag(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "etag", value) - @property - @pulumi.getter - def id(self) -> Optional[pulumi.Input[str]]: - """ - Resource ID. - """ - return pulumi.get(self, "id") - - @id.setter - def id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "id", value) - @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -771,6 +756,62 @@ def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union pulumi.set(self, "vpn_protocols", value) +@pulumi.input_type +class P2SVpnServerConfigurationArgs: + def __init__(__self__, *, + id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input['P2SVpnServerConfigurationPropertiesArgs']] = None): + """ + P2SVpnServerConfiguration Resource. + :param pulumi.Input[str] id: Resource ID. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input['P2SVpnServerConfigurationPropertiesArgs'] properties: Properties of the P2SVpnServer configuration. + """ + if id is not None: + pulumi.set(__self__, "id", id) + if name is not None: + pulumi.set(__self__, "name", name) + if properties is not None: + pulumi.set(__self__, "properties", properties) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the resource that is unique within a resource group. This name can be used to access the resource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['P2SVpnServerConfigurationPropertiesArgs']]: + """ + Properties of the P2SVpnServer configuration. + """ + return pulumi.get(self, "properties") + + @properties.setter + def properties(self, value: Optional[pulumi.Input['P2SVpnServerConfigurationPropertiesArgs']]): + pulumi.set(self, "properties", value) + + @pulumi.input_type class PolicySettingsArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/network/v20190701/get_p2s_vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/v20190701/get_p2s_vpn_server_configuration.py index a071fc908276..7c7f61004cc4 100644 --- a/sdk/python/pulumi_azure_native/network/v20190701/get_p2s_vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/v20190701/get_p2s_vpn_server_configuration.py @@ -22,7 +22,7 @@ class GetP2sVpnServerConfigurationResult: """ P2SVpnServerConfiguration Resource. """ - def __init__(__self__, etag=None, id=None, name=None, p2_s_vpn_gateways=None, p2_s_vpn_server_config_radius_client_root_certificates=None, p2_s_vpn_server_config_radius_server_root_certificates=None, p2_s_vpn_server_config_vpn_client_revoked_certificates=None, p2_s_vpn_server_config_vpn_client_root_certificates=None, provisioning_state=None, radius_server_address=None, radius_server_secret=None, vpn_client_ipsec_policies=None, vpn_protocols=None): + def __init__(__self__, etag=None, id=None, name=None, properties=None): if etag and not isinstance(etag, str): raise TypeError("Expected argument 'etag' to be a str") pulumi.set(__self__, "etag", etag) @@ -32,36 +32,9 @@ def __init__(__self__, etag=None, id=None, name=None, p2_s_vpn_gateways=None, p2 if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if p2_s_vpn_gateways and not isinstance(p2_s_vpn_gateways, list): - raise TypeError("Expected argument 'p2_s_vpn_gateways' to be a list") - pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) - if p2_s_vpn_server_config_radius_client_root_certificates and not isinstance(p2_s_vpn_server_config_radius_client_root_certificates, list): - raise TypeError("Expected argument 'p2_s_vpn_server_config_radius_client_root_certificates' to be a list") - pulumi.set(__self__, "p2_s_vpn_server_config_radius_client_root_certificates", p2_s_vpn_server_config_radius_client_root_certificates) - if p2_s_vpn_server_config_radius_server_root_certificates and not isinstance(p2_s_vpn_server_config_radius_server_root_certificates, list): - raise TypeError("Expected argument 'p2_s_vpn_server_config_radius_server_root_certificates' to be a list") - pulumi.set(__self__, "p2_s_vpn_server_config_radius_server_root_certificates", p2_s_vpn_server_config_radius_server_root_certificates) - if p2_s_vpn_server_config_vpn_client_revoked_certificates and not isinstance(p2_s_vpn_server_config_vpn_client_revoked_certificates, list): - raise TypeError("Expected argument 'p2_s_vpn_server_config_vpn_client_revoked_certificates' to be a list") - pulumi.set(__self__, "p2_s_vpn_server_config_vpn_client_revoked_certificates", p2_s_vpn_server_config_vpn_client_revoked_certificates) - if p2_s_vpn_server_config_vpn_client_root_certificates and not isinstance(p2_s_vpn_server_config_vpn_client_root_certificates, list): - raise TypeError("Expected argument 'p2_s_vpn_server_config_vpn_client_root_certificates' to be a list") - pulumi.set(__self__, "p2_s_vpn_server_config_vpn_client_root_certificates", p2_s_vpn_server_config_vpn_client_root_certificates) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if radius_server_address and not isinstance(radius_server_address, str): - raise TypeError("Expected argument 'radius_server_address' to be a str") - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_secret and not isinstance(radius_server_secret, str): - raise TypeError("Expected argument 'radius_server_secret' to be a str") - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if vpn_client_ipsec_policies and not isinstance(vpn_client_ipsec_policies, list): - raise TypeError("Expected argument 'vpn_client_ipsec_policies' to be a list") - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_protocols and not isinstance(vpn_protocols, list): - raise TypeError("Expected argument 'vpn_protocols' to be a list") - pulumi.set(__self__, "vpn_protocols", vpn_protocols) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) @property @pulumi.getter @@ -83,89 +56,17 @@ def id(self) -> Optional[str]: @pulumi.getter def name(self) -> Optional[str]: """ - The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + The name of the resource that is unique within a resource group. This name can be used to access the resource. """ return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> Sequence['outputs.SubResourceResponse']: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="p2SVpnServerConfigRadiusClientRootCertificates") - def p2_s_vpn_server_config_radius_client_root_certificates(self) -> Optional[Sequence['outputs.P2SVpnServerConfigRadiusClientRootCertificateResponse']]: - """ - Radius client root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_radius_client_root_certificates") - - @property - @pulumi.getter(name="p2SVpnServerConfigRadiusServerRootCertificates") - def p2_s_vpn_server_config_radius_server_root_certificates(self) -> Optional[Sequence['outputs.P2SVpnServerConfigRadiusServerRootCertificateResponse']]: - """ - Radius Server root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_radius_server_root_certificates") - - @property - @pulumi.getter(name="p2SVpnServerConfigVpnClientRevokedCertificates") - def p2_s_vpn_server_config_vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.P2SVpnServerConfigVpnClientRevokedCertificateResponse']]: - """ - VPN client revoked certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="p2SVpnServerConfigVpnClientRootCertificates") - def p2_s_vpn_server_config_vpn_client_root_certificates(self) -> Optional[Sequence['outputs.P2SVpnServerConfigVpnClientRootCertificateResponse']]: - """ - VPN client root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_root_certificates") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state of the P2S VPN server configuration resource. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[str]: - """ - The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[str]: - """ - The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: - """ - VpnClientIpsecPolicies for P2SVpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[Sequence[str]]: + @pulumi.getter + def properties(self) -> 'outputs.P2SVpnServerConfigurationPropertiesResponse': """ - VPN protocols for the P2SVpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "vpn_protocols") + return pulumi.get(self, "properties") class AwaitableGetP2sVpnServerConfigurationResult(GetP2sVpnServerConfigurationResult): @@ -177,16 +78,7 @@ def __await__(self): etag=self.etag, id=self.id, name=self.name, - p2_s_vpn_gateways=self.p2_s_vpn_gateways, - p2_s_vpn_server_config_radius_client_root_certificates=self.p2_s_vpn_server_config_radius_client_root_certificates, - p2_s_vpn_server_config_radius_server_root_certificates=self.p2_s_vpn_server_config_radius_server_root_certificates, - p2_s_vpn_server_config_vpn_client_revoked_certificates=self.p2_s_vpn_server_config_vpn_client_revoked_certificates, - p2_s_vpn_server_config_vpn_client_root_certificates=self.p2_s_vpn_server_config_vpn_client_root_certificates, - provisioning_state=self.provisioning_state, - radius_server_address=self.radius_server_address, - radius_server_secret=self.radius_server_secret, - vpn_client_ipsec_policies=self.vpn_client_ipsec_policies, - vpn_protocols=self.vpn_protocols) + properties=self.properties) def get_p2s_vpn_server_configuration(p2_s_vpn_server_configuration_name: Optional[str] = None, @@ -212,16 +104,7 @@ def get_p2s_vpn_server_configuration(p2_s_vpn_server_configuration_name: Optiona etag=pulumi.get(__ret__, 'etag'), id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), - p2_s_vpn_gateways=pulumi.get(__ret__, 'p2_s_vpn_gateways'), - p2_s_vpn_server_config_radius_client_root_certificates=pulumi.get(__ret__, 'p2_s_vpn_server_config_radius_client_root_certificates'), - p2_s_vpn_server_config_radius_server_root_certificates=pulumi.get(__ret__, 'p2_s_vpn_server_config_radius_server_root_certificates'), - p2_s_vpn_server_config_vpn_client_revoked_certificates=pulumi.get(__ret__, 'p2_s_vpn_server_config_vpn_client_revoked_certificates'), - p2_s_vpn_server_config_vpn_client_root_certificates=pulumi.get(__ret__, 'p2_s_vpn_server_config_vpn_client_root_certificates'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), - radius_server_address=pulumi.get(__ret__, 'radius_server_address'), - radius_server_secret=pulumi.get(__ret__, 'radius_server_secret'), - vpn_client_ipsec_policies=pulumi.get(__ret__, 'vpn_client_ipsec_policies'), - vpn_protocols=pulumi.get(__ret__, 'vpn_protocols')) + properties=pulumi.get(__ret__, 'properties')) @_utilities.lift_output_func(get_p2s_vpn_server_configuration) diff --git a/sdk/python/pulumi_azure_native/network/v20190701/outputs.py b/sdk/python/pulumi_azure_native/network/v20190701/outputs.py index df4a9cd4447e..e39177941b90 100644 --- a/sdk/python/pulumi_azure_native/network/v20190701/outputs.py +++ b/sdk/python/pulumi_azure_native/network/v20190701/outputs.py @@ -67,6 +67,7 @@ 'P2SVpnServerConfigRadiusServerRootCertificateResponse', 'P2SVpnServerConfigVpnClientRevokedCertificateResponse', 'P2SVpnServerConfigVpnClientRootCertificateResponse', + 'P2SVpnServerConfigurationPropertiesResponse', 'P2SVpnServerConfigurationResponse', 'PolicySettingsResponse', 'PrivateEndpointResponse', @@ -6588,9 +6589,9 @@ def name(self) -> Optional[str]: @pulumi.output_type -class P2SVpnServerConfigurationResponse(dict): +class P2SVpnServerConfigurationPropertiesResponse(dict): """ - P2SVpnServerConfiguration Resource. + Parameters for P2SVpnServerConfiguration. """ @staticmethod def __key_warning(key: str): @@ -6617,21 +6618,20 @@ def __key_warning(key: str): suggest = "vpn_protocols" if suggest: - pulumi.log.warn(f"Key '{key}' not found in P2SVpnServerConfigurationResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in P2SVpnServerConfigurationPropertiesResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - P2SVpnServerConfigurationResponse.__key_warning(key) + P2SVpnServerConfigurationPropertiesResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - P2SVpnServerConfigurationResponse.__key_warning(key) + P2SVpnServerConfigurationPropertiesResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - etag: str, p2_s_vpn_gateways: Sequence['outputs.SubResourceResponse'], provisioning_state: str, - id: Optional[str] = None, + etag: Optional[str] = None, name: Optional[str] = None, p2_s_vpn_server_config_radius_client_root_certificates: Optional[Sequence['outputs.P2SVpnServerConfigRadiusClientRootCertificateResponse']] = None, p2_s_vpn_server_config_radius_server_root_certificates: Optional[Sequence['outputs.P2SVpnServerConfigRadiusServerRootCertificateResponse']] = None, @@ -6642,11 +6642,10 @@ def __init__(__self__, *, vpn_client_ipsec_policies: Optional[Sequence['outputs.IpsecPolicyResponse']] = None, vpn_protocols: Optional[Sequence[str]] = None): """ - P2SVpnServerConfiguration Resource. - :param str etag: A unique read-only string that changes whenever the resource is updated. + Parameters for P2SVpnServerConfiguration. :param Sequence['SubResourceResponse'] p2_s_vpn_gateways: List of references to P2SVpnGateways. :param str provisioning_state: The provisioning state of the P2S VPN server configuration resource. - :param str id: Resource ID. + :param str etag: A unique read-only string that changes whenever the resource is updated. :param str name: The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. :param Sequence['P2SVpnServerConfigRadiusClientRootCertificateResponse'] p2_s_vpn_server_config_radius_client_root_certificates: Radius client root certificate of P2SVpnServerConfiguration. :param Sequence['P2SVpnServerConfigRadiusServerRootCertificateResponse'] p2_s_vpn_server_config_radius_server_root_certificates: Radius Server root certificate of P2SVpnServerConfiguration. @@ -6657,11 +6656,10 @@ def __init__(__self__, *, :param Sequence['IpsecPolicyResponse'] vpn_client_ipsec_policies: VpnClientIpsecPolicies for P2SVpnServerConfiguration. :param Sequence[str] vpn_protocols: VPN protocols for the P2SVpnServerConfiguration. """ - pulumi.set(__self__, "etag", etag) pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) pulumi.set(__self__, "provisioning_state", provisioning_state) - if id is not None: - pulumi.set(__self__, "id", id) + if etag is not None: + pulumi.set(__self__, "etag", etag) if name is not None: pulumi.set(__self__, "name", name) if p2_s_vpn_server_config_radius_client_root_certificates is not None: @@ -6681,14 +6679,6 @@ def __init__(__self__, *, if vpn_protocols is not None: pulumi.set(__self__, "vpn_protocols", vpn_protocols) - @property - @pulumi.getter - def etag(self) -> str: - """ - A unique read-only string that changes whenever the resource is updated. - """ - return pulumi.get(self, "etag") - @property @pulumi.getter(name="p2SVpnGateways") def p2_s_vpn_gateways(self) -> Sequence['outputs.SubResourceResponse']: @@ -6707,11 +6697,11 @@ def provisioning_state(self) -> str: @property @pulumi.getter - def id(self) -> Optional[str]: + def etag(self) -> Optional[str]: """ - Resource ID. + A unique read-only string that changes whenever the resource is updated. """ - return pulumi.get(self, "id") + return pulumi.get(self, "etag") @property @pulumi.getter @@ -6786,6 +6776,64 @@ def vpn_protocols(self) -> Optional[Sequence[str]]: return pulumi.get(self, "vpn_protocols") +@pulumi.output_type +class P2SVpnServerConfigurationResponse(dict): + """ + P2SVpnServerConfiguration Resource. + """ + def __init__(__self__, *, + etag: str, + id: Optional[str] = None, + name: Optional[str] = None, + properties: Optional['outputs.P2SVpnServerConfigurationPropertiesResponse'] = None): + """ + P2SVpnServerConfiguration Resource. + :param str etag: A unique read-only string that changes whenever the resource is updated. + :param str id: Resource ID. + :param str name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param 'P2SVpnServerConfigurationPropertiesResponse' properties: Properties of the P2SVpnServer configuration. + """ + pulumi.set(__self__, "etag", etag) + if id is not None: + pulumi.set(__self__, "id", id) + if name is not None: + pulumi.set(__self__, "name", name) + if properties is not None: + pulumi.set(__self__, "properties", properties) + + @property + @pulumi.getter + def etag(self) -> str: + """ + A unique read-only string that changes whenever the resource is updated. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + Resource ID. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the resource that is unique within a resource group. This name can be used to access the resource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def properties(self) -> Optional['outputs.P2SVpnServerConfigurationPropertiesResponse']: + """ + Properties of the P2SVpnServer configuration. + """ + return pulumi.get(self, "properties") + + @pulumi.output_type class PolicySettingsResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/network/v20190701/p2s_vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/v20190701/p2s_vpn_server_configuration.py index e2f2dfef6410..3d0520ea6ac5 100644 --- a/sdk/python/pulumi_azure_native/network/v20190701/p2s_vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/v20190701/p2s_vpn_server_configuration.py @@ -21,30 +21,16 @@ def __init__(__self__, *, virtual_wan_name: pulumi.Input[str], id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - p2_s_vpn_server_config_radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]] = None, - p2_s_vpn_server_config_radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]] = None, - p2_s_vpn_server_config_vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, - p2_s_vpn_server_config_vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRootCertificateArgs']]]] = None, p2_s_vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None): + properties: Optional[pulumi.Input['P2SVpnServerConfigurationPropertiesArgs']] = None): """ The set of arguments for constructing a P2sVpnServerConfiguration resource. :param pulumi.Input[str] resource_group_name: The resource group name of the VirtualWan. :param pulumi.Input[str] virtual_wan_name: The name of the VirtualWan. :param pulumi.Input[str] id: Resource ID. - :param pulumi.Input[str] name: The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. - :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]] p2_s_vpn_server_config_radius_client_root_certificates: Radius client root certificate of P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]] p2_s_vpn_server_config_radius_server_root_certificates: Radius Server root certificate of P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]] p2_s_vpn_server_config_vpn_client_revoked_certificates: VPN client revoked certificate of P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRootCertificateArgs']]] p2_s_vpn_server_config_vpn_client_root_certificates: VPN client root certificate of P2SVpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. :param pulumi.Input[str] p2_s_vpn_server_configuration_name: The name of the P2SVpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the P2SVpnServerConfiguration. + :param pulumi.Input['P2SVpnServerConfigurationPropertiesArgs'] properties: Properties of the P2SVpnServer configuration. """ pulumi.set(__self__, "resource_group_name", resource_group_name) pulumi.set(__self__, "virtual_wan_name", virtual_wan_name) @@ -52,24 +38,10 @@ def __init__(__self__, *, pulumi.set(__self__, "id", id) if name is not None: pulumi.set(__self__, "name", name) - if p2_s_vpn_server_config_radius_client_root_certificates is not None: - pulumi.set(__self__, "p2_s_vpn_server_config_radius_client_root_certificates", p2_s_vpn_server_config_radius_client_root_certificates) - if p2_s_vpn_server_config_radius_server_root_certificates is not None: - pulumi.set(__self__, "p2_s_vpn_server_config_radius_server_root_certificates", p2_s_vpn_server_config_radius_server_root_certificates) - if p2_s_vpn_server_config_vpn_client_revoked_certificates is not None: - pulumi.set(__self__, "p2_s_vpn_server_config_vpn_client_revoked_certificates", p2_s_vpn_server_config_vpn_client_revoked_certificates) - if p2_s_vpn_server_config_vpn_client_root_certificates is not None: - pulumi.set(__self__, "p2_s_vpn_server_config_vpn_client_root_certificates", p2_s_vpn_server_config_vpn_client_root_certificates) if p2_s_vpn_server_configuration_name is not None: pulumi.set(__self__, "p2_s_vpn_server_configuration_name", p2_s_vpn_server_configuration_name) - if radius_server_address is not None: - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_secret is not None: - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if vpn_client_ipsec_policies is not None: - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_protocols is not None: - pulumi.set(__self__, "vpn_protocols", vpn_protocols) + if properties is not None: + pulumi.set(__self__, "properties", properties) @property @pulumi.getter(name="resourceGroupName") @@ -111,7 +83,7 @@ def id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + The name of the resource that is unique within a resource group. This name can be used to access the resource. """ return pulumi.get(self, "name") @@ -119,54 +91,6 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) - @property - @pulumi.getter(name="p2SVpnServerConfigRadiusClientRootCertificates") - def p2_s_vpn_server_config_radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]]: - """ - Radius client root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_radius_client_root_certificates") - - @p2_s_vpn_server_config_radius_client_root_certificates.setter - def p2_s_vpn_server_config_radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]]): - pulumi.set(self, "p2_s_vpn_server_config_radius_client_root_certificates", value) - - @property - @pulumi.getter(name="p2SVpnServerConfigRadiusServerRootCertificates") - def p2_s_vpn_server_config_radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]]: - """ - Radius Server root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_radius_server_root_certificates") - - @p2_s_vpn_server_config_radius_server_root_certificates.setter - def p2_s_vpn_server_config_radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]]): - pulumi.set(self, "p2_s_vpn_server_config_radius_server_root_certificates", value) - - @property - @pulumi.getter(name="p2SVpnServerConfigVpnClientRevokedCertificates") - def p2_s_vpn_server_config_vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]]: - """ - VPN client revoked certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_revoked_certificates") - - @p2_s_vpn_server_config_vpn_client_revoked_certificates.setter - def p2_s_vpn_server_config_vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]]): - pulumi.set(self, "p2_s_vpn_server_config_vpn_client_revoked_certificates", value) - - @property - @pulumi.getter(name="p2SVpnServerConfigVpnClientRootCertificates") - def p2_s_vpn_server_config_vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRootCertificateArgs']]]]: - """ - VPN client root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_root_certificates") - - @p2_s_vpn_server_config_vpn_client_root_certificates.setter - def p2_s_vpn_server_config_vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['P2SVpnServerConfigVpnClientRootCertificateArgs']]]]): - pulumi.set(self, "p2_s_vpn_server_config_vpn_client_root_certificates", value) - @property @pulumi.getter(name="p2SVpnServerConfigurationName") def p2_s_vpn_server_configuration_name(self) -> Optional[pulumi.Input[str]]: @@ -180,52 +104,16 @@ def p2_s_vpn_server_configuration_name(self, value: Optional[pulumi.Input[str]]) pulumi.set(self, "p2_s_vpn_server_configuration_name", value) @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[pulumi.Input[str]]: - """ - The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @radius_server_address.setter - def radius_server_address(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_address", value) - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[pulumi.Input[str]]: - """ - The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @radius_server_secret.setter - def radius_server_secret(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_secret", value) - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: - """ - VpnClientIpsecPolicies for P2SVpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @vpn_client_ipsec_policies.setter - def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): - pulumi.set(self, "vpn_client_ipsec_policies", value) - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['P2SVpnServerConfigurationPropertiesArgs']]: """ - VPN protocols for the P2SVpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "vpn_protocols") + return pulumi.get(self, "properties") - @vpn_protocols.setter - def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): - pulumi.set(self, "vpn_protocols", value) + @properties.setter + def properties(self, value: Optional[pulumi.Input['P2SVpnServerConfigurationPropertiesArgs']]): + pulumi.set(self, "properties", value) class P2sVpnServerConfiguration(pulumi.CustomResource): @@ -235,17 +123,10 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - p2_s_vpn_server_config_radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - p2_s_vpn_server_config_radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - p2_s_vpn_server_config_vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - p2_s_vpn_server_config_vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigVpnClientRootCertificateArgs']]]]] = None, p2_s_vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['P2SVpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, virtual_wan_name: Optional[pulumi.Input[str]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, __props__=None): """ P2SVpnServerConfiguration Resource. @@ -253,18 +134,11 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] id: Resource ID. - :param pulumi.Input[str] name: The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]] p2_s_vpn_server_config_radius_client_root_certificates: Radius client root certificate of P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]] p2_s_vpn_server_config_radius_server_root_certificates: Radius Server root certificate of P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]] p2_s_vpn_server_config_vpn_client_revoked_certificates: VPN client revoked certificate of P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigVpnClientRootCertificateArgs']]]] p2_s_vpn_server_config_vpn_client_root_certificates: VPN client root certificate of P2SVpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. :param pulumi.Input[str] p2_s_vpn_server_configuration_name: The name of the P2SVpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[pulumi.InputType['P2SVpnServerConfigurationPropertiesArgs']] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[str] resource_group_name: The resource group name of the VirtualWan. :param pulumi.Input[str] virtual_wan_name: The name of the VirtualWan. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for P2SVpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the P2SVpnServerConfiguration. """ ... @overload @@ -292,17 +166,10 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - p2_s_vpn_server_config_radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - p2_s_vpn_server_config_radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - p2_s_vpn_server_config_vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - p2_s_vpn_server_config_vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['P2SVpnServerConfigVpnClientRootCertificateArgs']]]]] = None, p2_s_vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['P2SVpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, virtual_wan_name: Optional[pulumi.Input[str]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -314,24 +181,15 @@ def _internal_init(__self__, __props__.__dict__["id"] = id __props__.__dict__["name"] = name - __props__.__dict__["p2_s_vpn_server_config_radius_client_root_certificates"] = p2_s_vpn_server_config_radius_client_root_certificates - __props__.__dict__["p2_s_vpn_server_config_radius_server_root_certificates"] = p2_s_vpn_server_config_radius_server_root_certificates - __props__.__dict__["p2_s_vpn_server_config_vpn_client_revoked_certificates"] = p2_s_vpn_server_config_vpn_client_revoked_certificates - __props__.__dict__["p2_s_vpn_server_config_vpn_client_root_certificates"] = p2_s_vpn_server_config_vpn_client_root_certificates __props__.__dict__["p2_s_vpn_server_configuration_name"] = p2_s_vpn_server_configuration_name - __props__.__dict__["radius_server_address"] = radius_server_address - __props__.__dict__["radius_server_secret"] = radius_server_secret + __props__.__dict__["properties"] = properties if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name if virtual_wan_name is None and not opts.urn: raise TypeError("Missing required property 'virtual_wan_name'") __props__.__dict__["virtual_wan_name"] = virtual_wan_name - __props__.__dict__["vpn_client_ipsec_policies"] = vpn_client_ipsec_policies - __props__.__dict__["vpn_protocols"] = vpn_protocols __props__.__dict__["etag"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:network:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20180801:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20181001:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20181101:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20181201:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190201:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190401:P2sVpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190601:P2sVpnServerConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(P2sVpnServerConfiguration, __self__).__init__( @@ -358,16 +216,7 @@ def get(resource_name: str, __props__.__dict__["etag"] = None __props__.__dict__["name"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["p2_s_vpn_server_config_radius_client_root_certificates"] = None - __props__.__dict__["p2_s_vpn_server_config_radius_server_root_certificates"] = None - __props__.__dict__["p2_s_vpn_server_config_vpn_client_revoked_certificates"] = None - __props__.__dict__["p2_s_vpn_server_config_vpn_client_root_certificates"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["radius_server_address"] = None - __props__.__dict__["radius_server_secret"] = None - __props__.__dict__["vpn_client_ipsec_policies"] = None - __props__.__dict__["vpn_protocols"] = None + __props__.__dict__["properties"] = None return P2sVpnServerConfiguration(resource_name, opts=opts, __props__=__props__) @property @@ -382,87 +231,15 @@ def etag(self) -> pulumi.Output[str]: @pulumi.getter def name(self) -> pulumi.Output[Optional[str]]: """ - The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + The name of the resource that is unique within a resource group. This name can be used to access the resource. """ return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> pulumi.Output[Sequence['outputs.SubResourceResponse']]: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="p2SVpnServerConfigRadiusClientRootCertificates") - def p2_s_vpn_server_config_radius_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.P2SVpnServerConfigRadiusClientRootCertificateResponse']]]: - """ - Radius client root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_radius_client_root_certificates") - - @property - @pulumi.getter(name="p2SVpnServerConfigRadiusServerRootCertificates") - def p2_s_vpn_server_config_radius_server_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.P2SVpnServerConfigRadiusServerRootCertificateResponse']]]: - """ - Radius Server root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_radius_server_root_certificates") - - @property - @pulumi.getter(name="p2SVpnServerConfigVpnClientRevokedCertificates") - def p2_s_vpn_server_config_vpn_client_revoked_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.P2SVpnServerConfigVpnClientRevokedCertificateResponse']]]: - """ - VPN client revoked certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="p2SVpnServerConfigVpnClientRootCertificates") - def p2_s_vpn_server_config_vpn_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.P2SVpnServerConfigVpnClientRootCertificateResponse']]]: - """ - VPN client root certificate of P2SVpnServerConfiguration. - """ - return pulumi.get(self, "p2_s_vpn_server_config_vpn_client_root_certificates") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state of the P2S VPN server configuration resource. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> pulumi.Output[Optional[str]]: - """ - The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> pulumi.Output[Optional[str]]: - """ - The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> pulumi.Output[Optional[Sequence['outputs.IpsecPolicyResponse']]]: - """ - VpnClientIpsecPolicies for P2SVpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> pulumi.Output[Optional[Sequence[str]]]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.P2SVpnServerConfigurationPropertiesResponse']: """ - VPN protocols for the P2SVpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "vpn_protocols") + return pulumi.get(self, "properties") diff --git a/sdk/python/pulumi_azure_native/network/v20230201/_inputs.py b/sdk/python/pulumi_azure_native/network/v20230201/_inputs.py index 1a0d32a3fb01..8ae1c200c8b9 100644 --- a/sdk/python/pulumi_azure_native/network/v20230201/_inputs.py +++ b/sdk/python/pulumi_azure_native/network/v20230201/_inputs.py @@ -264,6 +264,7 @@ 'VpnServerConfigVpnClientRootCertificateArgs', 'VpnServerConfigurationPolicyGroupMemberArgs', 'VpnServerConfigurationPolicyGroupArgs', + 'VpnServerConfigurationPropertiesArgs', 'VpnSiteLinkConnectionArgs', 'VpnSiteLinkArgs', 'WebApplicationFirewallCustomRuleArgs', @@ -19515,6 +19516,222 @@ def priority(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "priority", value) +@pulumi.input_type +class VpnServerConfigurationPropertiesArgs: + def __init__(__self__, *, + aad_authentication_parameters: Optional[pulumi.Input['AadAuthenticationParametersArgs']] = None, + configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]] = None, + radius_server_address: Optional[pulumi.Input[str]] = None, + radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]] = None, + radius_server_secret: Optional[pulumi.Input[str]] = None, + radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]] = None, + vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, + vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, + vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, + vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]] = None, + vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None): + """ + Parameters for VpnServerConfiguration. + :param pulumi.Input['AadAuthenticationParametersArgs'] aad_authentication_parameters: The set of aad vpn authentication parameters. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. + :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. + :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. + :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. + """ + if aad_authentication_parameters is not None: + pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) + if configuration_policy_groups is not None: + pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + if name is not None: + pulumi.set(__self__, "name", name) + if radius_client_root_certificates is not None: + pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_root_certificates is not None: + pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if radius_servers is not None: + pulumi.set(__self__, "radius_servers", radius_servers) + if vpn_authentication_types is not None: + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) + if vpn_client_root_certificates is not None: + pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter(name="aadAuthenticationParameters") + def aad_authentication_parameters(self) -> Optional[pulumi.Input['AadAuthenticationParametersArgs']]: + """ + The set of aad vpn authentication parameters. + """ + return pulumi.get(self, "aad_authentication_parameters") + + @aad_authentication_parameters.setter + def aad_authentication_parameters(self, value: Optional[pulumi.Input['AadAuthenticationParametersArgs']]): + pulumi.set(self, "aad_authentication_parameters", value) + + @property + @pulumi.getter(name="configurationPolicyGroups") + def configuration_policy_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]: + """ + List of all VpnServerConfigurationPolicyGroups. + """ + return pulumi.get(self, "configuration_policy_groups") + + @configuration_policy_groups.setter + def configuration_policy_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]): + pulumi.set(self, "configuration_policy_groups", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the VpnServerConfiguration that is unique within a resource group. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="radiusClientRootCertificates") + def radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]: + """ + Radius client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_client_root_certificates") + + @radius_client_root_certificates.setter + def radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]): + pulumi.set(self, "radius_client_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[pulumi.Input[str]]: + """ + The radius server address property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @radius_server_address.setter + def radius_server_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_address", value) + + @property + @pulumi.getter(name="radiusServerRootCertificates") + def radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]: + """ + Radius Server root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_server_root_certificates") + + @radius_server_root_certificates.setter + def radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]): + pulumi.set(self, "radius_server_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[pulumi.Input[str]]: + """ + The radius secret property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @radius_server_secret.setter + def radius_server_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_secret", value) + + @property + @pulumi.getter(name="radiusServers") + def radius_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]: + """ + Multiple Radius Server configuration for VpnServerConfiguration. + """ + return pulumi.get(self, "radius_servers") + + @radius_servers.setter + def radius_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]): + pulumi.set(self, "radius_servers", value) + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]: + """ + VPN authentication types for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @vpn_authentication_types.setter + def vpn_authentication_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]): + pulumi.set(self, "vpn_authentication_types", value) + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: + """ + VpnClientIpsecPolicies for VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @vpn_client_ipsec_policies.setter + def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): + pulumi.set(self, "vpn_client_ipsec_policies", value) + + @property + @pulumi.getter(name="vpnClientRevokedCertificates") + def vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]: + """ + VPN client revoked certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_revoked_certificates") + + @vpn_client_revoked_certificates.setter + def vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]): + pulumi.set(self, "vpn_client_revoked_certificates", value) + + @property + @pulumi.getter(name="vpnClientRootCertificates") + def vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]: + """ + VPN client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_root_certificates") + + @vpn_client_root_certificates.setter + def vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]): + pulumi.set(self, "vpn_client_root_certificates", value) + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: + """ + VPN protocols for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @vpn_protocols.setter + def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): + pulumi.set(self, "vpn_protocols", value) + + @pulumi.input_type class VpnSiteLinkConnectionArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/network/v20230201/get_vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/v20230201/get_vpn_server_configuration.py index 72e2529b01f4..bc15d235d649 100644 --- a/sdk/python/pulumi_azure_native/network/v20230201/get_vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/v20230201/get_vpn_server_configuration.py @@ -22,13 +22,7 @@ class GetVpnServerConfigurationResult: """ VpnServerConfiguration Resource. """ - def __init__(__self__, aad_authentication_parameters=None, configuration_policy_groups=None, etag=None, id=None, location=None, name=None, p2_s_vpn_gateways=None, provisioning_state=None, radius_client_root_certificates=None, radius_server_address=None, radius_server_root_certificates=None, radius_server_secret=None, radius_servers=None, tags=None, type=None, vpn_authentication_types=None, vpn_client_ipsec_policies=None, vpn_client_revoked_certificates=None, vpn_client_root_certificates=None, vpn_protocols=None): - if aad_authentication_parameters and not isinstance(aad_authentication_parameters, dict): - raise TypeError("Expected argument 'aad_authentication_parameters' to be a dict") - pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) - if configuration_policy_groups and not isinstance(configuration_policy_groups, list): - raise TypeError("Expected argument 'configuration_policy_groups' to be a list") - pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + def __init__(__self__, etag=None, id=None, location=None, name=None, properties=None, tags=None, type=None): if etag and not isinstance(etag, str): raise TypeError("Expected argument 'etag' to be a str") pulumi.set(__self__, "etag", etag) @@ -41,64 +35,15 @@ def __init__(__self__, aad_authentication_parameters=None, configuration_policy_ if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if p2_s_vpn_gateways and not isinstance(p2_s_vpn_gateways, list): - raise TypeError("Expected argument 'p2_s_vpn_gateways' to be a list") - pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if radius_client_root_certificates and not isinstance(radius_client_root_certificates, list): - raise TypeError("Expected argument 'radius_client_root_certificates' to be a list") - pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) - if radius_server_address and not isinstance(radius_server_address, str): - raise TypeError("Expected argument 'radius_server_address' to be a str") - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_root_certificates and not isinstance(radius_server_root_certificates, list): - raise TypeError("Expected argument 'radius_server_root_certificates' to be a list") - pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) - if radius_server_secret and not isinstance(radius_server_secret, str): - raise TypeError("Expected argument 'radius_server_secret' to be a str") - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if radius_servers and not isinstance(radius_servers, list): - raise TypeError("Expected argument 'radius_servers' to be a list") - pulumi.set(__self__, "radius_servers", radius_servers) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) 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 vpn_authentication_types and not isinstance(vpn_authentication_types, list): - raise TypeError("Expected argument 'vpn_authentication_types' to be a list") - pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) - if vpn_client_ipsec_policies and not isinstance(vpn_client_ipsec_policies, list): - raise TypeError("Expected argument 'vpn_client_ipsec_policies' to be a list") - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_client_revoked_certificates and not isinstance(vpn_client_revoked_certificates, list): - raise TypeError("Expected argument 'vpn_client_revoked_certificates' to be a list") - pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) - if vpn_client_root_certificates and not isinstance(vpn_client_root_certificates, list): - raise TypeError("Expected argument 'vpn_client_root_certificates' to be a list") - pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) - if vpn_protocols and not isinstance(vpn_protocols, list): - raise TypeError("Expected argument 'vpn_protocols' to be a list") - pulumi.set(__self__, "vpn_protocols", vpn_protocols) - - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> Optional['outputs.AadAuthenticationParametersResponse']: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]: - """ - List of all VpnServerConfigurationPolicyGroups. - """ - return pulumi.get(self, "configuration_policy_groups") @property @pulumi.getter @@ -133,60 +78,12 @@ def name(self) -> str: return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> Sequence['outputs.P2SVpnGatewayResponse']: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[str]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[str]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> Optional[Sequence['outputs.RadiusServerResponse']]: + @pulumi.getter + def properties(self) -> 'outputs.VpnServerConfigurationPropertiesResponse': """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -204,46 +101,6 @@ def type(self) -> str: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> Optional[Sequence[str]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[Sequence[str]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - class AwaitableGetVpnServerConfigurationResult(GetVpnServerConfigurationResult): # pylint: disable=using-constant-test @@ -251,26 +108,13 @@ def __await__(self): if False: yield self return GetVpnServerConfigurationResult( - aad_authentication_parameters=self.aad_authentication_parameters, - configuration_policy_groups=self.configuration_policy_groups, etag=self.etag, id=self.id, location=self.location, name=self.name, - p2_s_vpn_gateways=self.p2_s_vpn_gateways, - provisioning_state=self.provisioning_state, - radius_client_root_certificates=self.radius_client_root_certificates, - radius_server_address=self.radius_server_address, - radius_server_root_certificates=self.radius_server_root_certificates, - radius_server_secret=self.radius_server_secret, - radius_servers=self.radius_servers, + properties=self.properties, tags=self.tags, - type=self.type, - vpn_authentication_types=self.vpn_authentication_types, - vpn_client_ipsec_policies=self.vpn_client_ipsec_policies, - vpn_client_revoked_certificates=self.vpn_client_revoked_certificates, - vpn_client_root_certificates=self.vpn_client_root_certificates, - vpn_protocols=self.vpn_protocols) + type=self.type) def get_vpn_server_configuration(resource_group_name: Optional[str] = None, @@ -290,26 +134,13 @@ def get_vpn_server_configuration(resource_group_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:network/v20230201:getVpnServerConfiguration', __args__, opts=opts, typ=GetVpnServerConfigurationResult).value return AwaitableGetVpnServerConfigurationResult( - aad_authentication_parameters=pulumi.get(__ret__, 'aad_authentication_parameters'), - configuration_policy_groups=pulumi.get(__ret__, 'configuration_policy_groups'), etag=pulumi.get(__ret__, 'etag'), id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), - p2_s_vpn_gateways=pulumi.get(__ret__, 'p2_s_vpn_gateways'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), - radius_client_root_certificates=pulumi.get(__ret__, 'radius_client_root_certificates'), - radius_server_address=pulumi.get(__ret__, 'radius_server_address'), - radius_server_root_certificates=pulumi.get(__ret__, 'radius_server_root_certificates'), - radius_server_secret=pulumi.get(__ret__, 'radius_server_secret'), - radius_servers=pulumi.get(__ret__, 'radius_servers'), + properties=pulumi.get(__ret__, 'properties'), tags=pulumi.get(__ret__, 'tags'), - type=pulumi.get(__ret__, 'type'), - vpn_authentication_types=pulumi.get(__ret__, 'vpn_authentication_types'), - vpn_client_ipsec_policies=pulumi.get(__ret__, 'vpn_client_ipsec_policies'), - vpn_client_revoked_certificates=pulumi.get(__ret__, 'vpn_client_revoked_certificates'), - vpn_client_root_certificates=pulumi.get(__ret__, 'vpn_client_root_certificates'), - vpn_protocols=pulumi.get(__ret__, 'vpn_protocols')) + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_vpn_server_configuration) diff --git a/sdk/python/pulumi_azure_native/network/v20230201/outputs.py b/sdk/python/pulumi_azure_native/network/v20230201/outputs.py index ad3c3414c595..f776a6a0bdc4 100644 --- a/sdk/python/pulumi_azure_native/network/v20230201/outputs.py +++ b/sdk/python/pulumi_azure_native/network/v20230201/outputs.py @@ -305,6 +305,7 @@ 'VpnServerConfigVpnClientRootCertificateResponse', 'VpnServerConfigurationPolicyGroupMemberResponse', 'VpnServerConfigurationPolicyGroupResponse', + 'VpnServerConfigurationPropertiesResponse', 'VpnSiteLinkConnectionResponse', 'VpnSiteLinkResponse', 'WebApplicationFirewallCustomRuleResponse', @@ -29463,6 +29464,249 @@ def priority(self) -> Optional[int]: return pulumi.get(self, "priority") +@pulumi.output_type +class VpnServerConfigurationPropertiesResponse(dict): + """ + Parameters for VpnServerConfiguration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "p2SVpnGateways": + suggest = "p2_s_vpn_gateways" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "aadAuthenticationParameters": + suggest = "aad_authentication_parameters" + elif key == "configurationPolicyGroups": + suggest = "configuration_policy_groups" + elif key == "radiusClientRootCertificates": + suggest = "radius_client_root_certificates" + elif key == "radiusServerAddress": + suggest = "radius_server_address" + elif key == "radiusServerRootCertificates": + suggest = "radius_server_root_certificates" + elif key == "radiusServerSecret": + suggest = "radius_server_secret" + elif key == "radiusServers": + suggest = "radius_servers" + elif key == "vpnAuthenticationTypes": + suggest = "vpn_authentication_types" + elif key == "vpnClientIpsecPolicies": + suggest = "vpn_client_ipsec_policies" + elif key == "vpnClientRevokedCertificates": + suggest = "vpn_client_revoked_certificates" + elif key == "vpnClientRootCertificates": + suggest = "vpn_client_root_certificates" + elif key == "vpnProtocols": + suggest = "vpn_protocols" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnServerConfigurationPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + etag: str, + p2_s_vpn_gateways: Sequence['outputs.P2SVpnGatewayResponse'], + provisioning_state: str, + aad_authentication_parameters: Optional['outputs.AadAuthenticationParametersResponse'] = None, + configuration_policy_groups: Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']] = None, + name: Optional[str] = None, + radius_client_root_certificates: Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']] = None, + radius_server_address: Optional[str] = None, + radius_server_root_certificates: Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']] = None, + radius_server_secret: Optional[str] = None, + radius_servers: Optional[Sequence['outputs.RadiusServerResponse']] = None, + vpn_authentication_types: Optional[Sequence[str]] = None, + vpn_client_ipsec_policies: Optional[Sequence['outputs.IpsecPolicyResponse']] = None, + vpn_client_revoked_certificates: Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']] = None, + vpn_client_root_certificates: Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']] = None, + vpn_protocols: Optional[Sequence[str]] = None): + """ + Parameters for VpnServerConfiguration. + :param str etag: A unique read-only string that changes whenever the resource is updated. + :param Sequence['P2SVpnGatewayResponse'] p2_s_vpn_gateways: List of references to P2SVpnGateways. + :param str provisioning_state: The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :param 'AadAuthenticationParametersResponse' aad_authentication_parameters: The set of aad vpn authentication parameters. + :param Sequence['VpnServerConfigurationPolicyGroupResponse'] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. + :param str name: The name of the VpnServerConfiguration that is unique within a resource group. + :param Sequence['VpnServerConfigRadiusClientRootCertificateResponse'] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. + :param str radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. + :param Sequence['VpnServerConfigRadiusServerRootCertificateResponse'] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. + :param str radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. + :param Sequence['RadiusServerResponse'] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param Sequence[str] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. + :param Sequence['IpsecPolicyResponse'] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. + :param Sequence['VpnServerConfigVpnClientRevokedCertificateResponse'] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. + :param Sequence['VpnServerConfigVpnClientRootCertificateResponse'] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. + :param Sequence[str] vpn_protocols: VPN protocols for the VpnServerConfiguration. + """ + pulumi.set(__self__, "etag", etag) + pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) + pulumi.set(__self__, "provisioning_state", provisioning_state) + if aad_authentication_parameters is not None: + pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) + if configuration_policy_groups is not None: + pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + if name is not None: + pulumi.set(__self__, "name", name) + if radius_client_root_certificates is not None: + pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_root_certificates is not None: + pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if radius_servers is not None: + pulumi.set(__self__, "radius_servers", radius_servers) + if vpn_authentication_types is not None: + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) + if vpn_client_root_certificates is not None: + pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter + def etag(self) -> str: + """ + A unique read-only string that changes whenever the resource is updated. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="p2SVpnGateways") + def p2_s_vpn_gateways(self) -> Sequence['outputs.P2SVpnGatewayResponse']: + """ + List of references to P2SVpnGateways. + """ + return pulumi.get(self, "p2_s_vpn_gateways") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="aadAuthenticationParameters") + def aad_authentication_parameters(self) -> Optional['outputs.AadAuthenticationParametersResponse']: + """ + The set of aad vpn authentication parameters. + """ + return pulumi.get(self, "aad_authentication_parameters") + + @property + @pulumi.getter(name="configurationPolicyGroups") + def configuration_policy_groups(self) -> Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]: + """ + List of all VpnServerConfigurationPolicyGroups. + """ + return pulumi.get(self, "configuration_policy_groups") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the VpnServerConfiguration that is unique within a resource group. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="radiusClientRootCertificates") + def radius_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]: + """ + Radius client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_client_root_certificates") + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[str]: + """ + The radius server address property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @property + @pulumi.getter(name="radiusServerRootCertificates") + def radius_server_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]: + """ + Radius Server root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_server_root_certificates") + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[str]: + """ + The radius secret property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @property + @pulumi.getter(name="radiusServers") + def radius_servers(self) -> Optional[Sequence['outputs.RadiusServerResponse']]: + """ + Multiple Radius Server configuration for VpnServerConfiguration. + """ + return pulumi.get(self, "radius_servers") + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Optional[Sequence[str]]: + """ + VPN authentication types for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: + """ + VpnClientIpsecPolicies for VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @property + @pulumi.getter(name="vpnClientRevokedCertificates") + def vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]: + """ + VPN client revoked certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_revoked_certificates") + + @property + @pulumi.getter(name="vpnClientRootCertificates") + def vpn_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]: + """ + VPN client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_root_certificates") + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[Sequence[str]]: + """ + VPN protocols for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @pulumi.output_type class VpnSiteLinkConnectionResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/network/v20230201/vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/v20230201/vpn_server_configuration.py index 9014f6dd31d9..205feb24039b 100644 --- a/sdk/python/pulumi_azure_native/network/v20230201/vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/v20230201/vpn_server_configuration.py @@ -18,78 +18,33 @@ class VpnServerConfigurationArgs: def __init__(__self__, *, resource_group_name: pulumi.Input[str], - aad_authentication_parameters: Optional[pulumi.Input['AadAuthenticationParametersArgs']] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]] = None, + properties: Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a VpnServerConfiguration resource. :param pulumi.Input[str] resource_group_name: The resource group name of the VpnServerConfiguration. - :param pulumi.Input['AadAuthenticationParametersArgs'] aad_authentication_parameters: The set of aad vpn authentication parameters. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] location: Resource location. - :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input['VpnServerConfigurationPropertiesArgs'] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. :param pulumi.Input[str] vpn_server_configuration_name: The name of the VpnServerConfiguration being created or updated. """ pulumi.set(__self__, "resource_group_name", resource_group_name) - if aad_authentication_parameters is not None: - pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) - if configuration_policy_groups is not None: - pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) if id is not None: pulumi.set(__self__, "id", id) if location is not None: pulumi.set(__self__, "location", location) if name is not None: pulumi.set(__self__, "name", name) - if radius_client_root_certificates is not None: - pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) - if radius_server_address is not None: - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_root_certificates is not None: - pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) - if radius_server_secret is not None: - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if radius_servers is not None: - pulumi.set(__self__, "radius_servers", radius_servers) + if properties is not None: + pulumi.set(__self__, "properties", properties) if tags is not None: pulumi.set(__self__, "tags", tags) - if vpn_authentication_types is not None: - pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) - if vpn_client_ipsec_policies is not None: - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_client_revoked_certificates is not None: - pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) - if vpn_client_root_certificates is not None: - pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) - if vpn_protocols is not None: - pulumi.set(__self__, "vpn_protocols", vpn_protocols) if vpn_server_configuration_name is not None: pulumi.set(__self__, "vpn_server_configuration_name", vpn_server_configuration_name) @@ -105,31 +60,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> Optional[pulumi.Input['AadAuthenticationParametersArgs']]: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @aad_authentication_parameters.setter - def aad_authentication_parameters(self, value: Optional[pulumi.Input['AadAuthenticationParametersArgs']]): - pulumi.set(self, "aad_authentication_parameters", value) - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]: - """ - List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - """ - return pulumi.get(self, "configuration_policy_groups") - - @configuration_policy_groups.setter - def configuration_policy_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]): - pulumi.set(self, "configuration_policy_groups", value) - @property @pulumi.getter def id(self) -> Optional[pulumi.Input[str]]: @@ -158,7 +88,7 @@ def location(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the VpnServerConfiguration that is unique within a resource group. + The name of the resource that is unique within a resource group. This name can be used to access the resource. """ return pulumi.get(self, "name") @@ -167,64 +97,16 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @radius_client_root_certificates.setter - def radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]): - pulumi.set(self, "radius_client_root_certificates", value) - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[pulumi.Input[str]]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @radius_server_address.setter - def radius_server_address(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_address", value) - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @radius_server_root_certificates.setter - def radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]): - pulumi.set(self, "radius_server_root_certificates", value) - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[pulumi.Input[str]]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @radius_server_secret.setter - def radius_server_secret(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_secret", value) - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]: + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']]: """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") - @radius_servers.setter - def radius_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]): - pulumi.set(self, "radius_servers", value) + @properties.setter + def properties(self, value: Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']]): + pulumi.set(self, "properties", value) @property @pulumi.getter @@ -238,66 +120,6 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @vpn_authentication_types.setter - def vpn_authentication_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]): - pulumi.set(self, "vpn_authentication_types", value) - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @vpn_client_ipsec_policies.setter - def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): - pulumi.set(self, "vpn_client_ipsec_policies", value) - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @vpn_client_revoked_certificates.setter - def vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]): - pulumi.set(self, "vpn_client_revoked_certificates", value) - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @vpn_client_root_certificates.setter - def vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]): - pulumi.set(self, "vpn_client_root_certificates", value) - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - - @vpn_protocols.setter - def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): - pulumi.set(self, "vpn_protocols", value) - @property @pulumi.getter(name="vpnServerConfigurationName") def vpn_server_configuration_name(self) -> Optional[pulumi.Input[str]]: @@ -316,23 +138,12 @@ class VpnServerConfiguration(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - aad_authentication_parameters: Optional[pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']]] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -340,24 +151,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']] aad_authentication_parameters: The set of aad vpn authentication parameters. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] location: Resource location. - :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[str] resource_group_name: The resource group name of the VpnServerConfiguration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. :param pulumi.Input[str] vpn_server_configuration_name: The name of the VpnServerConfiguration being created or updated. """ ... @@ -384,23 +183,12 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - aad_authentication_parameters: Optional[pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']]] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -411,29 +199,16 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = VpnServerConfigurationArgs.__new__(VpnServerConfigurationArgs) - __props__.__dict__["aad_authentication_parameters"] = aad_authentication_parameters - __props__.__dict__["configuration_policy_groups"] = configuration_policy_groups __props__.__dict__["id"] = id __props__.__dict__["location"] = location __props__.__dict__["name"] = name - __props__.__dict__["radius_client_root_certificates"] = radius_client_root_certificates - __props__.__dict__["radius_server_address"] = radius_server_address - __props__.__dict__["radius_server_root_certificates"] = radius_server_root_certificates - __props__.__dict__["radius_server_secret"] = radius_server_secret - __props__.__dict__["radius_servers"] = radius_servers + __props__.__dict__["properties"] = properties if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["tags"] = tags - __props__.__dict__["vpn_authentication_types"] = vpn_authentication_types - __props__.__dict__["vpn_client_ipsec_policies"] = vpn_client_ipsec_policies - __props__.__dict__["vpn_client_revoked_certificates"] = vpn_client_revoked_certificates - __props__.__dict__["vpn_client_root_certificates"] = vpn_client_root_certificates - __props__.__dict__["vpn_protocols"] = vpn_protocols __props__.__dict__["vpn_server_configuration_name"] = vpn_server_configuration_name __props__.__dict__["etag"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:network:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190901:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20191101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20191201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200301:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200401:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200601:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200701:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20201101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210301:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220701:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220901:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20221101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230401:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230601:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230901:VpnServerConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -459,43 +234,14 @@ def get(resource_name: str, __props__ = VpnServerConfigurationArgs.__new__(VpnServerConfigurationArgs) - __props__.__dict__["aad_authentication_parameters"] = None - __props__.__dict__["configuration_policy_groups"] = None __props__.__dict__["etag"] = None __props__.__dict__["location"] = None __props__.__dict__["name"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["radius_client_root_certificates"] = None - __props__.__dict__["radius_server_address"] = None - __props__.__dict__["radius_server_root_certificates"] = None - __props__.__dict__["radius_server_secret"] = None - __props__.__dict__["radius_servers"] = None + __props__.__dict__["properties"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None - __props__.__dict__["vpn_authentication_types"] = None - __props__.__dict__["vpn_client_ipsec_policies"] = None - __props__.__dict__["vpn_client_revoked_certificates"] = None - __props__.__dict__["vpn_client_root_certificates"] = None - __props__.__dict__["vpn_protocols"] = None return VpnServerConfiguration(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> pulumi.Output[Optional['outputs.AadAuthenticationParametersResponse']]: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]]: - """ - List of all VpnServerConfigurationPolicyGroups. - """ - return pulumi.get(self, "configuration_policy_groups") - @property @pulumi.getter def etag(self) -> pulumi.Output[str]: @@ -521,60 +267,12 @@ def name(self) -> pulumi.Output[str]: return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> pulumi.Output[Sequence['outputs.P2SVpnGatewayResponse']]: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> pulumi.Output[Optional[str]]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> pulumi.Output[Optional[str]]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> pulumi.Output[Optional[Sequence['outputs.RadiusServerResponse']]]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.VpnServerConfigurationPropertiesResponse']: """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -592,43 +290,3 @@ def type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> pulumi.Output[Optional[Sequence['outputs.IpsecPolicyResponse']]]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - diff --git a/sdk/python/pulumi_azure_native/network/v20230401/_inputs.py b/sdk/python/pulumi_azure_native/network/v20230401/_inputs.py index c80569bc44f2..fd57e6be7b43 100644 --- a/sdk/python/pulumi_azure_native/network/v20230401/_inputs.py +++ b/sdk/python/pulumi_azure_native/network/v20230401/_inputs.py @@ -264,6 +264,7 @@ 'VpnServerConfigVpnClientRootCertificateArgs', 'VpnServerConfigurationPolicyGroupMemberArgs', 'VpnServerConfigurationPolicyGroupArgs', + 'VpnServerConfigurationPropertiesArgs', 'VpnSiteLinkConnectionArgs', 'VpnSiteLinkArgs', 'WebApplicationFirewallCustomRuleArgs', @@ -19531,6 +19532,222 @@ def priority(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "priority", value) +@pulumi.input_type +class VpnServerConfigurationPropertiesArgs: + def __init__(__self__, *, + aad_authentication_parameters: Optional[pulumi.Input['AadAuthenticationParametersArgs']] = None, + configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]] = None, + radius_server_address: Optional[pulumi.Input[str]] = None, + radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]] = None, + radius_server_secret: Optional[pulumi.Input[str]] = None, + radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]] = None, + vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, + vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, + vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, + vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]] = None, + vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None): + """ + Parameters for VpnServerConfiguration. + :param pulumi.Input['AadAuthenticationParametersArgs'] aad_authentication_parameters: The set of aad vpn authentication parameters. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. + :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. + :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. + :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. + """ + if aad_authentication_parameters is not None: + pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) + if configuration_policy_groups is not None: + pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + if name is not None: + pulumi.set(__self__, "name", name) + if radius_client_root_certificates is not None: + pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_root_certificates is not None: + pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if radius_servers is not None: + pulumi.set(__self__, "radius_servers", radius_servers) + if vpn_authentication_types is not None: + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) + if vpn_client_root_certificates is not None: + pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter(name="aadAuthenticationParameters") + def aad_authentication_parameters(self) -> Optional[pulumi.Input['AadAuthenticationParametersArgs']]: + """ + The set of aad vpn authentication parameters. + """ + return pulumi.get(self, "aad_authentication_parameters") + + @aad_authentication_parameters.setter + def aad_authentication_parameters(self, value: Optional[pulumi.Input['AadAuthenticationParametersArgs']]): + pulumi.set(self, "aad_authentication_parameters", value) + + @property + @pulumi.getter(name="configurationPolicyGroups") + def configuration_policy_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]: + """ + List of all VpnServerConfigurationPolicyGroups. + """ + return pulumi.get(self, "configuration_policy_groups") + + @configuration_policy_groups.setter + def configuration_policy_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]): + pulumi.set(self, "configuration_policy_groups", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the VpnServerConfiguration that is unique within a resource group. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="radiusClientRootCertificates") + def radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]: + """ + Radius client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_client_root_certificates") + + @radius_client_root_certificates.setter + def radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]): + pulumi.set(self, "radius_client_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[pulumi.Input[str]]: + """ + The radius server address property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @radius_server_address.setter + def radius_server_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_address", value) + + @property + @pulumi.getter(name="radiusServerRootCertificates") + def radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]: + """ + Radius Server root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_server_root_certificates") + + @radius_server_root_certificates.setter + def radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]): + pulumi.set(self, "radius_server_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[pulumi.Input[str]]: + """ + The radius secret property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @radius_server_secret.setter + def radius_server_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_secret", value) + + @property + @pulumi.getter(name="radiusServers") + def radius_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]: + """ + Multiple Radius Server configuration for VpnServerConfiguration. + """ + return pulumi.get(self, "radius_servers") + + @radius_servers.setter + def radius_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]): + pulumi.set(self, "radius_servers", value) + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]: + """ + VPN authentication types for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @vpn_authentication_types.setter + def vpn_authentication_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]): + pulumi.set(self, "vpn_authentication_types", value) + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: + """ + VpnClientIpsecPolicies for VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @vpn_client_ipsec_policies.setter + def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): + pulumi.set(self, "vpn_client_ipsec_policies", value) + + @property + @pulumi.getter(name="vpnClientRevokedCertificates") + def vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]: + """ + VPN client revoked certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_revoked_certificates") + + @vpn_client_revoked_certificates.setter + def vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]): + pulumi.set(self, "vpn_client_revoked_certificates", value) + + @property + @pulumi.getter(name="vpnClientRootCertificates") + def vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]: + """ + VPN client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_root_certificates") + + @vpn_client_root_certificates.setter + def vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]): + pulumi.set(self, "vpn_client_root_certificates", value) + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: + """ + VPN protocols for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @vpn_protocols.setter + def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): + pulumi.set(self, "vpn_protocols", value) + + @pulumi.input_type class VpnSiteLinkConnectionArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/network/v20230401/get_vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/v20230401/get_vpn_server_configuration.py index 5a2a8fdc30e6..c977dd4ed964 100644 --- a/sdk/python/pulumi_azure_native/network/v20230401/get_vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/v20230401/get_vpn_server_configuration.py @@ -22,13 +22,7 @@ class GetVpnServerConfigurationResult: """ VpnServerConfiguration Resource. """ - def __init__(__self__, aad_authentication_parameters=None, configuration_policy_groups=None, etag=None, id=None, location=None, name=None, p2_s_vpn_gateways=None, provisioning_state=None, radius_client_root_certificates=None, radius_server_address=None, radius_server_root_certificates=None, radius_server_secret=None, radius_servers=None, tags=None, type=None, vpn_authentication_types=None, vpn_client_ipsec_policies=None, vpn_client_revoked_certificates=None, vpn_client_root_certificates=None, vpn_protocols=None): - if aad_authentication_parameters and not isinstance(aad_authentication_parameters, dict): - raise TypeError("Expected argument 'aad_authentication_parameters' to be a dict") - pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) - if configuration_policy_groups and not isinstance(configuration_policy_groups, list): - raise TypeError("Expected argument 'configuration_policy_groups' to be a list") - pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + def __init__(__self__, etag=None, id=None, location=None, name=None, properties=None, tags=None, type=None): if etag and not isinstance(etag, str): raise TypeError("Expected argument 'etag' to be a str") pulumi.set(__self__, "etag", etag) @@ -41,64 +35,15 @@ def __init__(__self__, aad_authentication_parameters=None, configuration_policy_ if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if p2_s_vpn_gateways and not isinstance(p2_s_vpn_gateways, list): - raise TypeError("Expected argument 'p2_s_vpn_gateways' to be a list") - pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if radius_client_root_certificates and not isinstance(radius_client_root_certificates, list): - raise TypeError("Expected argument 'radius_client_root_certificates' to be a list") - pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) - if radius_server_address and not isinstance(radius_server_address, str): - raise TypeError("Expected argument 'radius_server_address' to be a str") - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_root_certificates and not isinstance(radius_server_root_certificates, list): - raise TypeError("Expected argument 'radius_server_root_certificates' to be a list") - pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) - if radius_server_secret and not isinstance(radius_server_secret, str): - raise TypeError("Expected argument 'radius_server_secret' to be a str") - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if radius_servers and not isinstance(radius_servers, list): - raise TypeError("Expected argument 'radius_servers' to be a list") - pulumi.set(__self__, "radius_servers", radius_servers) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) 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 vpn_authentication_types and not isinstance(vpn_authentication_types, list): - raise TypeError("Expected argument 'vpn_authentication_types' to be a list") - pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) - if vpn_client_ipsec_policies and not isinstance(vpn_client_ipsec_policies, list): - raise TypeError("Expected argument 'vpn_client_ipsec_policies' to be a list") - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_client_revoked_certificates and not isinstance(vpn_client_revoked_certificates, list): - raise TypeError("Expected argument 'vpn_client_revoked_certificates' to be a list") - pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) - if vpn_client_root_certificates and not isinstance(vpn_client_root_certificates, list): - raise TypeError("Expected argument 'vpn_client_root_certificates' to be a list") - pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) - if vpn_protocols and not isinstance(vpn_protocols, list): - raise TypeError("Expected argument 'vpn_protocols' to be a list") - pulumi.set(__self__, "vpn_protocols", vpn_protocols) - - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> Optional['outputs.AadAuthenticationParametersResponse']: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]: - """ - List of all VpnServerConfigurationPolicyGroups. - """ - return pulumi.get(self, "configuration_policy_groups") @property @pulumi.getter @@ -133,60 +78,12 @@ def name(self) -> str: return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> Sequence['outputs.P2SVpnGatewayResponse']: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[str]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[str]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> Optional[Sequence['outputs.RadiusServerResponse']]: + @pulumi.getter + def properties(self) -> 'outputs.VpnServerConfigurationPropertiesResponse': """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -204,46 +101,6 @@ def type(self) -> str: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> Optional[Sequence[str]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[Sequence[str]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - class AwaitableGetVpnServerConfigurationResult(GetVpnServerConfigurationResult): # pylint: disable=using-constant-test @@ -251,26 +108,13 @@ def __await__(self): if False: yield self return GetVpnServerConfigurationResult( - aad_authentication_parameters=self.aad_authentication_parameters, - configuration_policy_groups=self.configuration_policy_groups, etag=self.etag, id=self.id, location=self.location, name=self.name, - p2_s_vpn_gateways=self.p2_s_vpn_gateways, - provisioning_state=self.provisioning_state, - radius_client_root_certificates=self.radius_client_root_certificates, - radius_server_address=self.radius_server_address, - radius_server_root_certificates=self.radius_server_root_certificates, - radius_server_secret=self.radius_server_secret, - radius_servers=self.radius_servers, + properties=self.properties, tags=self.tags, - type=self.type, - vpn_authentication_types=self.vpn_authentication_types, - vpn_client_ipsec_policies=self.vpn_client_ipsec_policies, - vpn_client_revoked_certificates=self.vpn_client_revoked_certificates, - vpn_client_root_certificates=self.vpn_client_root_certificates, - vpn_protocols=self.vpn_protocols) + type=self.type) def get_vpn_server_configuration(resource_group_name: Optional[str] = None, @@ -290,26 +134,13 @@ def get_vpn_server_configuration(resource_group_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:network/v20230401:getVpnServerConfiguration', __args__, opts=opts, typ=GetVpnServerConfigurationResult).value return AwaitableGetVpnServerConfigurationResult( - aad_authentication_parameters=pulumi.get(__ret__, 'aad_authentication_parameters'), - configuration_policy_groups=pulumi.get(__ret__, 'configuration_policy_groups'), etag=pulumi.get(__ret__, 'etag'), id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), - p2_s_vpn_gateways=pulumi.get(__ret__, 'p2_s_vpn_gateways'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), - radius_client_root_certificates=pulumi.get(__ret__, 'radius_client_root_certificates'), - radius_server_address=pulumi.get(__ret__, 'radius_server_address'), - radius_server_root_certificates=pulumi.get(__ret__, 'radius_server_root_certificates'), - radius_server_secret=pulumi.get(__ret__, 'radius_server_secret'), - radius_servers=pulumi.get(__ret__, 'radius_servers'), + properties=pulumi.get(__ret__, 'properties'), tags=pulumi.get(__ret__, 'tags'), - type=pulumi.get(__ret__, 'type'), - vpn_authentication_types=pulumi.get(__ret__, 'vpn_authentication_types'), - vpn_client_ipsec_policies=pulumi.get(__ret__, 'vpn_client_ipsec_policies'), - vpn_client_revoked_certificates=pulumi.get(__ret__, 'vpn_client_revoked_certificates'), - vpn_client_root_certificates=pulumi.get(__ret__, 'vpn_client_root_certificates'), - vpn_protocols=pulumi.get(__ret__, 'vpn_protocols')) + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_vpn_server_configuration) diff --git a/sdk/python/pulumi_azure_native/network/v20230401/outputs.py b/sdk/python/pulumi_azure_native/network/v20230401/outputs.py index 6b7713127055..5c5da48ddc88 100644 --- a/sdk/python/pulumi_azure_native/network/v20230401/outputs.py +++ b/sdk/python/pulumi_azure_native/network/v20230401/outputs.py @@ -305,6 +305,7 @@ 'VpnServerConfigVpnClientRootCertificateResponse', 'VpnServerConfigurationPolicyGroupMemberResponse', 'VpnServerConfigurationPolicyGroupResponse', + 'VpnServerConfigurationPropertiesResponse', 'VpnSiteLinkConnectionResponse', 'VpnSiteLinkResponse', 'WebApplicationFirewallCustomRuleResponse', @@ -29477,6 +29478,249 @@ def priority(self) -> Optional[int]: return pulumi.get(self, "priority") +@pulumi.output_type +class VpnServerConfigurationPropertiesResponse(dict): + """ + Parameters for VpnServerConfiguration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "p2SVpnGateways": + suggest = "p2_s_vpn_gateways" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "aadAuthenticationParameters": + suggest = "aad_authentication_parameters" + elif key == "configurationPolicyGroups": + suggest = "configuration_policy_groups" + elif key == "radiusClientRootCertificates": + suggest = "radius_client_root_certificates" + elif key == "radiusServerAddress": + suggest = "radius_server_address" + elif key == "radiusServerRootCertificates": + suggest = "radius_server_root_certificates" + elif key == "radiusServerSecret": + suggest = "radius_server_secret" + elif key == "radiusServers": + suggest = "radius_servers" + elif key == "vpnAuthenticationTypes": + suggest = "vpn_authentication_types" + elif key == "vpnClientIpsecPolicies": + suggest = "vpn_client_ipsec_policies" + elif key == "vpnClientRevokedCertificates": + suggest = "vpn_client_revoked_certificates" + elif key == "vpnClientRootCertificates": + suggest = "vpn_client_root_certificates" + elif key == "vpnProtocols": + suggest = "vpn_protocols" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnServerConfigurationPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + etag: str, + p2_s_vpn_gateways: Sequence['outputs.P2SVpnGatewayResponse'], + provisioning_state: str, + aad_authentication_parameters: Optional['outputs.AadAuthenticationParametersResponse'] = None, + configuration_policy_groups: Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']] = None, + name: Optional[str] = None, + radius_client_root_certificates: Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']] = None, + radius_server_address: Optional[str] = None, + radius_server_root_certificates: Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']] = None, + radius_server_secret: Optional[str] = None, + radius_servers: Optional[Sequence['outputs.RadiusServerResponse']] = None, + vpn_authentication_types: Optional[Sequence[str]] = None, + vpn_client_ipsec_policies: Optional[Sequence['outputs.IpsecPolicyResponse']] = None, + vpn_client_revoked_certificates: Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']] = None, + vpn_client_root_certificates: Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']] = None, + vpn_protocols: Optional[Sequence[str]] = None): + """ + Parameters for VpnServerConfiguration. + :param str etag: A unique read-only string that changes whenever the resource is updated. + :param Sequence['P2SVpnGatewayResponse'] p2_s_vpn_gateways: List of references to P2SVpnGateways. + :param str provisioning_state: The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :param 'AadAuthenticationParametersResponse' aad_authentication_parameters: The set of aad vpn authentication parameters. + :param Sequence['VpnServerConfigurationPolicyGroupResponse'] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. + :param str name: The name of the VpnServerConfiguration that is unique within a resource group. + :param Sequence['VpnServerConfigRadiusClientRootCertificateResponse'] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. + :param str radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. + :param Sequence['VpnServerConfigRadiusServerRootCertificateResponse'] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. + :param str radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. + :param Sequence['RadiusServerResponse'] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param Sequence[str] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. + :param Sequence['IpsecPolicyResponse'] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. + :param Sequence['VpnServerConfigVpnClientRevokedCertificateResponse'] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. + :param Sequence['VpnServerConfigVpnClientRootCertificateResponse'] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. + :param Sequence[str] vpn_protocols: VPN protocols for the VpnServerConfiguration. + """ + pulumi.set(__self__, "etag", etag) + pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) + pulumi.set(__self__, "provisioning_state", provisioning_state) + if aad_authentication_parameters is not None: + pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) + if configuration_policy_groups is not None: + pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + if name is not None: + pulumi.set(__self__, "name", name) + if radius_client_root_certificates is not None: + pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_root_certificates is not None: + pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if radius_servers is not None: + pulumi.set(__self__, "radius_servers", radius_servers) + if vpn_authentication_types is not None: + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) + if vpn_client_root_certificates is not None: + pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter + def etag(self) -> str: + """ + A unique read-only string that changes whenever the resource is updated. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="p2SVpnGateways") + def p2_s_vpn_gateways(self) -> Sequence['outputs.P2SVpnGatewayResponse']: + """ + List of references to P2SVpnGateways. + """ + return pulumi.get(self, "p2_s_vpn_gateways") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="aadAuthenticationParameters") + def aad_authentication_parameters(self) -> Optional['outputs.AadAuthenticationParametersResponse']: + """ + The set of aad vpn authentication parameters. + """ + return pulumi.get(self, "aad_authentication_parameters") + + @property + @pulumi.getter(name="configurationPolicyGroups") + def configuration_policy_groups(self) -> Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]: + """ + List of all VpnServerConfigurationPolicyGroups. + """ + return pulumi.get(self, "configuration_policy_groups") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the VpnServerConfiguration that is unique within a resource group. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="radiusClientRootCertificates") + def radius_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]: + """ + Radius client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_client_root_certificates") + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[str]: + """ + The radius server address property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @property + @pulumi.getter(name="radiusServerRootCertificates") + def radius_server_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]: + """ + Radius Server root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_server_root_certificates") + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[str]: + """ + The radius secret property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @property + @pulumi.getter(name="radiusServers") + def radius_servers(self) -> Optional[Sequence['outputs.RadiusServerResponse']]: + """ + Multiple Radius Server configuration for VpnServerConfiguration. + """ + return pulumi.get(self, "radius_servers") + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Optional[Sequence[str]]: + """ + VPN authentication types for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: + """ + VpnClientIpsecPolicies for VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @property + @pulumi.getter(name="vpnClientRevokedCertificates") + def vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]: + """ + VPN client revoked certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_revoked_certificates") + + @property + @pulumi.getter(name="vpnClientRootCertificates") + def vpn_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]: + """ + VPN client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_root_certificates") + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[Sequence[str]]: + """ + VPN protocols for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @pulumi.output_type class VpnSiteLinkConnectionResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/network/v20230401/vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/v20230401/vpn_server_configuration.py index cd5a09d37166..6f51384dec69 100644 --- a/sdk/python/pulumi_azure_native/network/v20230401/vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/v20230401/vpn_server_configuration.py @@ -18,78 +18,33 @@ class VpnServerConfigurationArgs: def __init__(__self__, *, resource_group_name: pulumi.Input[str], - aad_authentication_parameters: Optional[pulumi.Input['AadAuthenticationParametersArgs']] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]] = None, + properties: Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a VpnServerConfiguration resource. :param pulumi.Input[str] resource_group_name: The resource group name of the VpnServerConfiguration. - :param pulumi.Input['AadAuthenticationParametersArgs'] aad_authentication_parameters: The set of aad vpn authentication parameters. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] location: Resource location. - :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input['VpnServerConfigurationPropertiesArgs'] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. :param pulumi.Input[str] vpn_server_configuration_name: The name of the VpnServerConfiguration being created or updated. """ pulumi.set(__self__, "resource_group_name", resource_group_name) - if aad_authentication_parameters is not None: - pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) - if configuration_policy_groups is not None: - pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) if id is not None: pulumi.set(__self__, "id", id) if location is not None: pulumi.set(__self__, "location", location) if name is not None: pulumi.set(__self__, "name", name) - if radius_client_root_certificates is not None: - pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) - if radius_server_address is not None: - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_root_certificates is not None: - pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) - if radius_server_secret is not None: - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if radius_servers is not None: - pulumi.set(__self__, "radius_servers", radius_servers) + if properties is not None: + pulumi.set(__self__, "properties", properties) if tags is not None: pulumi.set(__self__, "tags", tags) - if vpn_authentication_types is not None: - pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) - if vpn_client_ipsec_policies is not None: - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_client_revoked_certificates is not None: - pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) - if vpn_client_root_certificates is not None: - pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) - if vpn_protocols is not None: - pulumi.set(__self__, "vpn_protocols", vpn_protocols) if vpn_server_configuration_name is not None: pulumi.set(__self__, "vpn_server_configuration_name", vpn_server_configuration_name) @@ -105,31 +60,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> Optional[pulumi.Input['AadAuthenticationParametersArgs']]: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @aad_authentication_parameters.setter - def aad_authentication_parameters(self, value: Optional[pulumi.Input['AadAuthenticationParametersArgs']]): - pulumi.set(self, "aad_authentication_parameters", value) - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]: - """ - List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - """ - return pulumi.get(self, "configuration_policy_groups") - - @configuration_policy_groups.setter - def configuration_policy_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]): - pulumi.set(self, "configuration_policy_groups", value) - @property @pulumi.getter def id(self) -> Optional[pulumi.Input[str]]: @@ -158,7 +88,7 @@ def location(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the VpnServerConfiguration that is unique within a resource group. + The name of the resource that is unique within a resource group. This name can be used to access the resource. """ return pulumi.get(self, "name") @@ -167,64 +97,16 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @radius_client_root_certificates.setter - def radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]): - pulumi.set(self, "radius_client_root_certificates", value) - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[pulumi.Input[str]]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @radius_server_address.setter - def radius_server_address(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_address", value) - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @radius_server_root_certificates.setter - def radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]): - pulumi.set(self, "radius_server_root_certificates", value) - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[pulumi.Input[str]]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @radius_server_secret.setter - def radius_server_secret(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_secret", value) - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]: + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']]: """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") - @radius_servers.setter - def radius_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]): - pulumi.set(self, "radius_servers", value) + @properties.setter + def properties(self, value: Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']]): + pulumi.set(self, "properties", value) @property @pulumi.getter @@ -238,66 +120,6 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @vpn_authentication_types.setter - def vpn_authentication_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]): - pulumi.set(self, "vpn_authentication_types", value) - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @vpn_client_ipsec_policies.setter - def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): - pulumi.set(self, "vpn_client_ipsec_policies", value) - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @vpn_client_revoked_certificates.setter - def vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]): - pulumi.set(self, "vpn_client_revoked_certificates", value) - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @vpn_client_root_certificates.setter - def vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]): - pulumi.set(self, "vpn_client_root_certificates", value) - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - - @vpn_protocols.setter - def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): - pulumi.set(self, "vpn_protocols", value) - @property @pulumi.getter(name="vpnServerConfigurationName") def vpn_server_configuration_name(self) -> Optional[pulumi.Input[str]]: @@ -316,23 +138,12 @@ class VpnServerConfiguration(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - aad_authentication_parameters: Optional[pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']]] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -340,24 +151,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']] aad_authentication_parameters: The set of aad vpn authentication parameters. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] location: Resource location. - :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[str] resource_group_name: The resource group name of the VpnServerConfiguration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. :param pulumi.Input[str] vpn_server_configuration_name: The name of the VpnServerConfiguration being created or updated. """ ... @@ -384,23 +183,12 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - aad_authentication_parameters: Optional[pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']]] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -411,29 +199,16 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = VpnServerConfigurationArgs.__new__(VpnServerConfigurationArgs) - __props__.__dict__["aad_authentication_parameters"] = aad_authentication_parameters - __props__.__dict__["configuration_policy_groups"] = configuration_policy_groups __props__.__dict__["id"] = id __props__.__dict__["location"] = location __props__.__dict__["name"] = name - __props__.__dict__["radius_client_root_certificates"] = radius_client_root_certificates - __props__.__dict__["radius_server_address"] = radius_server_address - __props__.__dict__["radius_server_root_certificates"] = radius_server_root_certificates - __props__.__dict__["radius_server_secret"] = radius_server_secret - __props__.__dict__["radius_servers"] = radius_servers + __props__.__dict__["properties"] = properties if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["tags"] = tags - __props__.__dict__["vpn_authentication_types"] = vpn_authentication_types - __props__.__dict__["vpn_client_ipsec_policies"] = vpn_client_ipsec_policies - __props__.__dict__["vpn_client_revoked_certificates"] = vpn_client_revoked_certificates - __props__.__dict__["vpn_client_root_certificates"] = vpn_client_root_certificates - __props__.__dict__["vpn_protocols"] = vpn_protocols __props__.__dict__["vpn_server_configuration_name"] = vpn_server_configuration_name __props__.__dict__["etag"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:network:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190901:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20191101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20191201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200301:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200401:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200601:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200701:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20201101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210301:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220701:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220901:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20221101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230601:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230901:VpnServerConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -459,43 +234,14 @@ def get(resource_name: str, __props__ = VpnServerConfigurationArgs.__new__(VpnServerConfigurationArgs) - __props__.__dict__["aad_authentication_parameters"] = None - __props__.__dict__["configuration_policy_groups"] = None __props__.__dict__["etag"] = None __props__.__dict__["location"] = None __props__.__dict__["name"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["radius_client_root_certificates"] = None - __props__.__dict__["radius_server_address"] = None - __props__.__dict__["radius_server_root_certificates"] = None - __props__.__dict__["radius_server_secret"] = None - __props__.__dict__["radius_servers"] = None + __props__.__dict__["properties"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None - __props__.__dict__["vpn_authentication_types"] = None - __props__.__dict__["vpn_client_ipsec_policies"] = None - __props__.__dict__["vpn_client_revoked_certificates"] = None - __props__.__dict__["vpn_client_root_certificates"] = None - __props__.__dict__["vpn_protocols"] = None return VpnServerConfiguration(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> pulumi.Output[Optional['outputs.AadAuthenticationParametersResponse']]: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]]: - """ - List of all VpnServerConfigurationPolicyGroups. - """ - return pulumi.get(self, "configuration_policy_groups") - @property @pulumi.getter def etag(self) -> pulumi.Output[str]: @@ -521,60 +267,12 @@ def name(self) -> pulumi.Output[str]: return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> pulumi.Output[Sequence['outputs.P2SVpnGatewayResponse']]: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> pulumi.Output[Optional[str]]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> pulumi.Output[Optional[str]]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> pulumi.Output[Optional[Sequence['outputs.RadiusServerResponse']]]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.VpnServerConfigurationPropertiesResponse']: """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -592,43 +290,3 @@ def type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> pulumi.Output[Optional[Sequence['outputs.IpsecPolicyResponse']]]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - diff --git a/sdk/python/pulumi_azure_native/network/v20230501/_inputs.py b/sdk/python/pulumi_azure_native/network/v20230501/_inputs.py index d0316da93db5..5e459be821d0 100644 --- a/sdk/python/pulumi_azure_native/network/v20230501/_inputs.py +++ b/sdk/python/pulumi_azure_native/network/v20230501/_inputs.py @@ -268,6 +268,7 @@ 'VpnServerConfigVpnClientRootCertificateArgs', 'VpnServerConfigurationPolicyGroupMemberArgs', 'VpnServerConfigurationPolicyGroupArgs', + 'VpnServerConfigurationPropertiesArgs', 'VpnSiteLinkConnectionArgs', 'VpnSiteLinkArgs', 'WebApplicationFirewallCustomRuleArgs', @@ -19676,6 +19677,222 @@ def priority(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "priority", value) +@pulumi.input_type +class VpnServerConfigurationPropertiesArgs: + def __init__(__self__, *, + aad_authentication_parameters: Optional[pulumi.Input['AadAuthenticationParametersArgs']] = None, + configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]] = None, + radius_server_address: Optional[pulumi.Input[str]] = None, + radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]] = None, + radius_server_secret: Optional[pulumi.Input[str]] = None, + radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]] = None, + vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, + vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, + vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, + vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]] = None, + vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None): + """ + Parameters for VpnServerConfiguration. + :param pulumi.Input['AadAuthenticationParametersArgs'] aad_authentication_parameters: The set of aad vpn authentication parameters. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. + :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. + :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. + :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. + """ + if aad_authentication_parameters is not None: + pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) + if configuration_policy_groups is not None: + pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + if name is not None: + pulumi.set(__self__, "name", name) + if radius_client_root_certificates is not None: + pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_root_certificates is not None: + pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if radius_servers is not None: + pulumi.set(__self__, "radius_servers", radius_servers) + if vpn_authentication_types is not None: + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) + if vpn_client_root_certificates is not None: + pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter(name="aadAuthenticationParameters") + def aad_authentication_parameters(self) -> Optional[pulumi.Input['AadAuthenticationParametersArgs']]: + """ + The set of aad vpn authentication parameters. + """ + return pulumi.get(self, "aad_authentication_parameters") + + @aad_authentication_parameters.setter + def aad_authentication_parameters(self, value: Optional[pulumi.Input['AadAuthenticationParametersArgs']]): + pulumi.set(self, "aad_authentication_parameters", value) + + @property + @pulumi.getter(name="configurationPolicyGroups") + def configuration_policy_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]: + """ + List of all VpnServerConfigurationPolicyGroups. + """ + return pulumi.get(self, "configuration_policy_groups") + + @configuration_policy_groups.setter + def configuration_policy_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]): + pulumi.set(self, "configuration_policy_groups", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the VpnServerConfiguration that is unique within a resource group. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="radiusClientRootCertificates") + def radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]: + """ + Radius client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_client_root_certificates") + + @radius_client_root_certificates.setter + def radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]): + pulumi.set(self, "radius_client_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[pulumi.Input[str]]: + """ + The radius server address property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @radius_server_address.setter + def radius_server_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_address", value) + + @property + @pulumi.getter(name="radiusServerRootCertificates") + def radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]: + """ + Radius Server root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_server_root_certificates") + + @radius_server_root_certificates.setter + def radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]): + pulumi.set(self, "radius_server_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[pulumi.Input[str]]: + """ + The radius secret property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @radius_server_secret.setter + def radius_server_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_secret", value) + + @property + @pulumi.getter(name="radiusServers") + def radius_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]: + """ + Multiple Radius Server configuration for VpnServerConfiguration. + """ + return pulumi.get(self, "radius_servers") + + @radius_servers.setter + def radius_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]): + pulumi.set(self, "radius_servers", value) + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]: + """ + VPN authentication types for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @vpn_authentication_types.setter + def vpn_authentication_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]): + pulumi.set(self, "vpn_authentication_types", value) + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: + """ + VpnClientIpsecPolicies for VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @vpn_client_ipsec_policies.setter + def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): + pulumi.set(self, "vpn_client_ipsec_policies", value) + + @property + @pulumi.getter(name="vpnClientRevokedCertificates") + def vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]: + """ + VPN client revoked certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_revoked_certificates") + + @vpn_client_revoked_certificates.setter + def vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]): + pulumi.set(self, "vpn_client_revoked_certificates", value) + + @property + @pulumi.getter(name="vpnClientRootCertificates") + def vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]: + """ + VPN client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_root_certificates") + + @vpn_client_root_certificates.setter + def vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]): + pulumi.set(self, "vpn_client_root_certificates", value) + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: + """ + VPN protocols for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @vpn_protocols.setter + def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): + pulumi.set(self, "vpn_protocols", value) + + @pulumi.input_type class VpnSiteLinkConnectionArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/network/v20230501/get_vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/v20230501/get_vpn_server_configuration.py index 7e8e41109245..bef250a133fb 100644 --- a/sdk/python/pulumi_azure_native/network/v20230501/get_vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/v20230501/get_vpn_server_configuration.py @@ -22,13 +22,7 @@ class GetVpnServerConfigurationResult: """ VpnServerConfiguration Resource. """ - def __init__(__self__, aad_authentication_parameters=None, configuration_policy_groups=None, etag=None, id=None, location=None, name=None, p2_s_vpn_gateways=None, provisioning_state=None, radius_client_root_certificates=None, radius_server_address=None, radius_server_root_certificates=None, radius_server_secret=None, radius_servers=None, tags=None, type=None, vpn_authentication_types=None, vpn_client_ipsec_policies=None, vpn_client_revoked_certificates=None, vpn_client_root_certificates=None, vpn_protocols=None): - if aad_authentication_parameters and not isinstance(aad_authentication_parameters, dict): - raise TypeError("Expected argument 'aad_authentication_parameters' to be a dict") - pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) - if configuration_policy_groups and not isinstance(configuration_policy_groups, list): - raise TypeError("Expected argument 'configuration_policy_groups' to be a list") - pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + def __init__(__self__, etag=None, id=None, location=None, name=None, properties=None, tags=None, type=None): if etag and not isinstance(etag, str): raise TypeError("Expected argument 'etag' to be a str") pulumi.set(__self__, "etag", etag) @@ -41,64 +35,15 @@ def __init__(__self__, aad_authentication_parameters=None, configuration_policy_ if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if p2_s_vpn_gateways and not isinstance(p2_s_vpn_gateways, list): - raise TypeError("Expected argument 'p2_s_vpn_gateways' to be a list") - pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if radius_client_root_certificates and not isinstance(radius_client_root_certificates, list): - raise TypeError("Expected argument 'radius_client_root_certificates' to be a list") - pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) - if radius_server_address and not isinstance(radius_server_address, str): - raise TypeError("Expected argument 'radius_server_address' to be a str") - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_root_certificates and not isinstance(radius_server_root_certificates, list): - raise TypeError("Expected argument 'radius_server_root_certificates' to be a list") - pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) - if radius_server_secret and not isinstance(radius_server_secret, str): - raise TypeError("Expected argument 'radius_server_secret' to be a str") - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if radius_servers and not isinstance(radius_servers, list): - raise TypeError("Expected argument 'radius_servers' to be a list") - pulumi.set(__self__, "radius_servers", radius_servers) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) 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 vpn_authentication_types and not isinstance(vpn_authentication_types, list): - raise TypeError("Expected argument 'vpn_authentication_types' to be a list") - pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) - if vpn_client_ipsec_policies and not isinstance(vpn_client_ipsec_policies, list): - raise TypeError("Expected argument 'vpn_client_ipsec_policies' to be a list") - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_client_revoked_certificates and not isinstance(vpn_client_revoked_certificates, list): - raise TypeError("Expected argument 'vpn_client_revoked_certificates' to be a list") - pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) - if vpn_client_root_certificates and not isinstance(vpn_client_root_certificates, list): - raise TypeError("Expected argument 'vpn_client_root_certificates' to be a list") - pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) - if vpn_protocols and not isinstance(vpn_protocols, list): - raise TypeError("Expected argument 'vpn_protocols' to be a list") - pulumi.set(__self__, "vpn_protocols", vpn_protocols) - - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> Optional['outputs.AadAuthenticationParametersResponse']: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]: - """ - List of all VpnServerConfigurationPolicyGroups. - """ - return pulumi.get(self, "configuration_policy_groups") @property @pulumi.getter @@ -133,60 +78,12 @@ def name(self) -> str: return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> Sequence['outputs.P2SVpnGatewayResponse']: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[str]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[str]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> Optional[Sequence['outputs.RadiusServerResponse']]: + @pulumi.getter + def properties(self) -> 'outputs.VpnServerConfigurationPropertiesResponse': """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -204,46 +101,6 @@ def type(self) -> str: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> Optional[Sequence[str]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[Sequence[str]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - class AwaitableGetVpnServerConfigurationResult(GetVpnServerConfigurationResult): # pylint: disable=using-constant-test @@ -251,26 +108,13 @@ def __await__(self): if False: yield self return GetVpnServerConfigurationResult( - aad_authentication_parameters=self.aad_authentication_parameters, - configuration_policy_groups=self.configuration_policy_groups, etag=self.etag, id=self.id, location=self.location, name=self.name, - p2_s_vpn_gateways=self.p2_s_vpn_gateways, - provisioning_state=self.provisioning_state, - radius_client_root_certificates=self.radius_client_root_certificates, - radius_server_address=self.radius_server_address, - radius_server_root_certificates=self.radius_server_root_certificates, - radius_server_secret=self.radius_server_secret, - radius_servers=self.radius_servers, + properties=self.properties, tags=self.tags, - type=self.type, - vpn_authentication_types=self.vpn_authentication_types, - vpn_client_ipsec_policies=self.vpn_client_ipsec_policies, - vpn_client_revoked_certificates=self.vpn_client_revoked_certificates, - vpn_client_root_certificates=self.vpn_client_root_certificates, - vpn_protocols=self.vpn_protocols) + type=self.type) def get_vpn_server_configuration(resource_group_name: Optional[str] = None, @@ -290,26 +134,13 @@ def get_vpn_server_configuration(resource_group_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:network/v20230501:getVpnServerConfiguration', __args__, opts=opts, typ=GetVpnServerConfigurationResult).value return AwaitableGetVpnServerConfigurationResult( - aad_authentication_parameters=pulumi.get(__ret__, 'aad_authentication_parameters'), - configuration_policy_groups=pulumi.get(__ret__, 'configuration_policy_groups'), etag=pulumi.get(__ret__, 'etag'), id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), - p2_s_vpn_gateways=pulumi.get(__ret__, 'p2_s_vpn_gateways'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), - radius_client_root_certificates=pulumi.get(__ret__, 'radius_client_root_certificates'), - radius_server_address=pulumi.get(__ret__, 'radius_server_address'), - radius_server_root_certificates=pulumi.get(__ret__, 'radius_server_root_certificates'), - radius_server_secret=pulumi.get(__ret__, 'radius_server_secret'), - radius_servers=pulumi.get(__ret__, 'radius_servers'), + properties=pulumi.get(__ret__, 'properties'), tags=pulumi.get(__ret__, 'tags'), - type=pulumi.get(__ret__, 'type'), - vpn_authentication_types=pulumi.get(__ret__, 'vpn_authentication_types'), - vpn_client_ipsec_policies=pulumi.get(__ret__, 'vpn_client_ipsec_policies'), - vpn_client_revoked_certificates=pulumi.get(__ret__, 'vpn_client_revoked_certificates'), - vpn_client_root_certificates=pulumi.get(__ret__, 'vpn_client_root_certificates'), - vpn_protocols=pulumi.get(__ret__, 'vpn_protocols')) + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_vpn_server_configuration) diff --git a/sdk/python/pulumi_azure_native/network/v20230501/outputs.py b/sdk/python/pulumi_azure_native/network/v20230501/outputs.py index 1fecf19c18db..bc1049ad802b 100644 --- a/sdk/python/pulumi_azure_native/network/v20230501/outputs.py +++ b/sdk/python/pulumi_azure_native/network/v20230501/outputs.py @@ -309,6 +309,7 @@ 'VpnServerConfigVpnClientRootCertificateResponse', 'VpnServerConfigurationPolicyGroupMemberResponse', 'VpnServerConfigurationPolicyGroupResponse', + 'VpnServerConfigurationPropertiesResponse', 'VpnSiteLinkConnectionResponse', 'VpnSiteLinkResponse', 'WebApplicationFirewallCustomRuleResponse', @@ -29635,6 +29636,249 @@ def priority(self) -> Optional[int]: return pulumi.get(self, "priority") +@pulumi.output_type +class VpnServerConfigurationPropertiesResponse(dict): + """ + Parameters for VpnServerConfiguration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "p2SVpnGateways": + suggest = "p2_s_vpn_gateways" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "aadAuthenticationParameters": + suggest = "aad_authentication_parameters" + elif key == "configurationPolicyGroups": + suggest = "configuration_policy_groups" + elif key == "radiusClientRootCertificates": + suggest = "radius_client_root_certificates" + elif key == "radiusServerAddress": + suggest = "radius_server_address" + elif key == "radiusServerRootCertificates": + suggest = "radius_server_root_certificates" + elif key == "radiusServerSecret": + suggest = "radius_server_secret" + elif key == "radiusServers": + suggest = "radius_servers" + elif key == "vpnAuthenticationTypes": + suggest = "vpn_authentication_types" + elif key == "vpnClientIpsecPolicies": + suggest = "vpn_client_ipsec_policies" + elif key == "vpnClientRevokedCertificates": + suggest = "vpn_client_revoked_certificates" + elif key == "vpnClientRootCertificates": + suggest = "vpn_client_root_certificates" + elif key == "vpnProtocols": + suggest = "vpn_protocols" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnServerConfigurationPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + etag: str, + p2_s_vpn_gateways: Sequence['outputs.P2SVpnGatewayResponse'], + provisioning_state: str, + aad_authentication_parameters: Optional['outputs.AadAuthenticationParametersResponse'] = None, + configuration_policy_groups: Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']] = None, + name: Optional[str] = None, + radius_client_root_certificates: Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']] = None, + radius_server_address: Optional[str] = None, + radius_server_root_certificates: Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']] = None, + radius_server_secret: Optional[str] = None, + radius_servers: Optional[Sequence['outputs.RadiusServerResponse']] = None, + vpn_authentication_types: Optional[Sequence[str]] = None, + vpn_client_ipsec_policies: Optional[Sequence['outputs.IpsecPolicyResponse']] = None, + vpn_client_revoked_certificates: Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']] = None, + vpn_client_root_certificates: Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']] = None, + vpn_protocols: Optional[Sequence[str]] = None): + """ + Parameters for VpnServerConfiguration. + :param str etag: A unique read-only string that changes whenever the resource is updated. + :param Sequence['P2SVpnGatewayResponse'] p2_s_vpn_gateways: List of references to P2SVpnGateways. + :param str provisioning_state: The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :param 'AadAuthenticationParametersResponse' aad_authentication_parameters: The set of aad vpn authentication parameters. + :param Sequence['VpnServerConfigurationPolicyGroupResponse'] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. + :param str name: The name of the VpnServerConfiguration that is unique within a resource group. + :param Sequence['VpnServerConfigRadiusClientRootCertificateResponse'] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. + :param str radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. + :param Sequence['VpnServerConfigRadiusServerRootCertificateResponse'] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. + :param str radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. + :param Sequence['RadiusServerResponse'] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param Sequence[str] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. + :param Sequence['IpsecPolicyResponse'] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. + :param Sequence['VpnServerConfigVpnClientRevokedCertificateResponse'] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. + :param Sequence['VpnServerConfigVpnClientRootCertificateResponse'] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. + :param Sequence[str] vpn_protocols: VPN protocols for the VpnServerConfiguration. + """ + pulumi.set(__self__, "etag", etag) + pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) + pulumi.set(__self__, "provisioning_state", provisioning_state) + if aad_authentication_parameters is not None: + pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) + if configuration_policy_groups is not None: + pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + if name is not None: + pulumi.set(__self__, "name", name) + if radius_client_root_certificates is not None: + pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_root_certificates is not None: + pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if radius_servers is not None: + pulumi.set(__self__, "radius_servers", radius_servers) + if vpn_authentication_types is not None: + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) + if vpn_client_root_certificates is not None: + pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter + def etag(self) -> str: + """ + A unique read-only string that changes whenever the resource is updated. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="p2SVpnGateways") + def p2_s_vpn_gateways(self) -> Sequence['outputs.P2SVpnGatewayResponse']: + """ + List of references to P2SVpnGateways. + """ + return pulumi.get(self, "p2_s_vpn_gateways") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="aadAuthenticationParameters") + def aad_authentication_parameters(self) -> Optional['outputs.AadAuthenticationParametersResponse']: + """ + The set of aad vpn authentication parameters. + """ + return pulumi.get(self, "aad_authentication_parameters") + + @property + @pulumi.getter(name="configurationPolicyGroups") + def configuration_policy_groups(self) -> Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]: + """ + List of all VpnServerConfigurationPolicyGroups. + """ + return pulumi.get(self, "configuration_policy_groups") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the VpnServerConfiguration that is unique within a resource group. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="radiusClientRootCertificates") + def radius_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]: + """ + Radius client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_client_root_certificates") + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[str]: + """ + The radius server address property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @property + @pulumi.getter(name="radiusServerRootCertificates") + def radius_server_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]: + """ + Radius Server root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_server_root_certificates") + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[str]: + """ + The radius secret property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @property + @pulumi.getter(name="radiusServers") + def radius_servers(self) -> Optional[Sequence['outputs.RadiusServerResponse']]: + """ + Multiple Radius Server configuration for VpnServerConfiguration. + """ + return pulumi.get(self, "radius_servers") + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Optional[Sequence[str]]: + """ + VPN authentication types for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: + """ + VpnClientIpsecPolicies for VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @property + @pulumi.getter(name="vpnClientRevokedCertificates") + def vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]: + """ + VPN client revoked certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_revoked_certificates") + + @property + @pulumi.getter(name="vpnClientRootCertificates") + def vpn_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]: + """ + VPN client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_root_certificates") + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[Sequence[str]]: + """ + VPN protocols for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @pulumi.output_type class VpnSiteLinkConnectionResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/network/v20230501/vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/v20230501/vpn_server_configuration.py index 52018327f91f..0f02c53ed0d9 100644 --- a/sdk/python/pulumi_azure_native/network/v20230501/vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/v20230501/vpn_server_configuration.py @@ -18,78 +18,33 @@ class VpnServerConfigurationArgs: def __init__(__self__, *, resource_group_name: pulumi.Input[str], - aad_authentication_parameters: Optional[pulumi.Input['AadAuthenticationParametersArgs']] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]] = None, + properties: Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a VpnServerConfiguration resource. :param pulumi.Input[str] resource_group_name: The resource group name of the VpnServerConfiguration. - :param pulumi.Input['AadAuthenticationParametersArgs'] aad_authentication_parameters: The set of aad vpn authentication parameters. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] location: Resource location. - :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input['VpnServerConfigurationPropertiesArgs'] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. :param pulumi.Input[str] vpn_server_configuration_name: The name of the VpnServerConfiguration being created or updated. """ pulumi.set(__self__, "resource_group_name", resource_group_name) - if aad_authentication_parameters is not None: - pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) - if configuration_policy_groups is not None: - pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) if id is not None: pulumi.set(__self__, "id", id) if location is not None: pulumi.set(__self__, "location", location) if name is not None: pulumi.set(__self__, "name", name) - if radius_client_root_certificates is not None: - pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) - if radius_server_address is not None: - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_root_certificates is not None: - pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) - if radius_server_secret is not None: - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if radius_servers is not None: - pulumi.set(__self__, "radius_servers", radius_servers) + if properties is not None: + pulumi.set(__self__, "properties", properties) if tags is not None: pulumi.set(__self__, "tags", tags) - if vpn_authentication_types is not None: - pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) - if vpn_client_ipsec_policies is not None: - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_client_revoked_certificates is not None: - pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) - if vpn_client_root_certificates is not None: - pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) - if vpn_protocols is not None: - pulumi.set(__self__, "vpn_protocols", vpn_protocols) if vpn_server_configuration_name is not None: pulumi.set(__self__, "vpn_server_configuration_name", vpn_server_configuration_name) @@ -105,31 +60,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> Optional[pulumi.Input['AadAuthenticationParametersArgs']]: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @aad_authentication_parameters.setter - def aad_authentication_parameters(self, value: Optional[pulumi.Input['AadAuthenticationParametersArgs']]): - pulumi.set(self, "aad_authentication_parameters", value) - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]: - """ - List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - """ - return pulumi.get(self, "configuration_policy_groups") - - @configuration_policy_groups.setter - def configuration_policy_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]): - pulumi.set(self, "configuration_policy_groups", value) - @property @pulumi.getter def id(self) -> Optional[pulumi.Input[str]]: @@ -158,7 +88,7 @@ def location(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the VpnServerConfiguration that is unique within a resource group. + The name of the resource that is unique within a resource group. This name can be used to access the resource. """ return pulumi.get(self, "name") @@ -167,64 +97,16 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @radius_client_root_certificates.setter - def radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]): - pulumi.set(self, "radius_client_root_certificates", value) - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[pulumi.Input[str]]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @radius_server_address.setter - def radius_server_address(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_address", value) - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @radius_server_root_certificates.setter - def radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]): - pulumi.set(self, "radius_server_root_certificates", value) - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[pulumi.Input[str]]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @radius_server_secret.setter - def radius_server_secret(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_secret", value) - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]: + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']]: """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") - @radius_servers.setter - def radius_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]): - pulumi.set(self, "radius_servers", value) + @properties.setter + def properties(self, value: Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']]): + pulumi.set(self, "properties", value) @property @pulumi.getter @@ -238,66 +120,6 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @vpn_authentication_types.setter - def vpn_authentication_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]): - pulumi.set(self, "vpn_authentication_types", value) - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @vpn_client_ipsec_policies.setter - def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): - pulumi.set(self, "vpn_client_ipsec_policies", value) - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @vpn_client_revoked_certificates.setter - def vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]): - pulumi.set(self, "vpn_client_revoked_certificates", value) - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @vpn_client_root_certificates.setter - def vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]): - pulumi.set(self, "vpn_client_root_certificates", value) - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - - @vpn_protocols.setter - def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): - pulumi.set(self, "vpn_protocols", value) - @property @pulumi.getter(name="vpnServerConfigurationName") def vpn_server_configuration_name(self) -> Optional[pulumi.Input[str]]: @@ -316,23 +138,12 @@ class VpnServerConfiguration(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - aad_authentication_parameters: Optional[pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']]] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -340,24 +151,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']] aad_authentication_parameters: The set of aad vpn authentication parameters. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] location: Resource location. - :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[str] resource_group_name: The resource group name of the VpnServerConfiguration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. :param pulumi.Input[str] vpn_server_configuration_name: The name of the VpnServerConfiguration being created or updated. """ ... @@ -384,23 +183,12 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - aad_authentication_parameters: Optional[pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']]] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -411,29 +199,16 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = VpnServerConfigurationArgs.__new__(VpnServerConfigurationArgs) - __props__.__dict__["aad_authentication_parameters"] = aad_authentication_parameters - __props__.__dict__["configuration_policy_groups"] = configuration_policy_groups __props__.__dict__["id"] = id __props__.__dict__["location"] = location __props__.__dict__["name"] = name - __props__.__dict__["radius_client_root_certificates"] = radius_client_root_certificates - __props__.__dict__["radius_server_address"] = radius_server_address - __props__.__dict__["radius_server_root_certificates"] = radius_server_root_certificates - __props__.__dict__["radius_server_secret"] = radius_server_secret - __props__.__dict__["radius_servers"] = radius_servers + __props__.__dict__["properties"] = properties if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["tags"] = tags - __props__.__dict__["vpn_authentication_types"] = vpn_authentication_types - __props__.__dict__["vpn_client_ipsec_policies"] = vpn_client_ipsec_policies - __props__.__dict__["vpn_client_revoked_certificates"] = vpn_client_revoked_certificates - __props__.__dict__["vpn_client_root_certificates"] = vpn_client_root_certificates - __props__.__dict__["vpn_protocols"] = vpn_protocols __props__.__dict__["vpn_server_configuration_name"] = vpn_server_configuration_name __props__.__dict__["etag"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:network:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190901:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20191101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20191201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200301:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200401:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200601:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200701:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20201101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210301:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220701:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220901:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20221101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230401:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230601:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230901:VpnServerConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -459,43 +234,14 @@ def get(resource_name: str, __props__ = VpnServerConfigurationArgs.__new__(VpnServerConfigurationArgs) - __props__.__dict__["aad_authentication_parameters"] = None - __props__.__dict__["configuration_policy_groups"] = None __props__.__dict__["etag"] = None __props__.__dict__["location"] = None __props__.__dict__["name"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["radius_client_root_certificates"] = None - __props__.__dict__["radius_server_address"] = None - __props__.__dict__["radius_server_root_certificates"] = None - __props__.__dict__["radius_server_secret"] = None - __props__.__dict__["radius_servers"] = None + __props__.__dict__["properties"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None - __props__.__dict__["vpn_authentication_types"] = None - __props__.__dict__["vpn_client_ipsec_policies"] = None - __props__.__dict__["vpn_client_revoked_certificates"] = None - __props__.__dict__["vpn_client_root_certificates"] = None - __props__.__dict__["vpn_protocols"] = None return VpnServerConfiguration(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> pulumi.Output[Optional['outputs.AadAuthenticationParametersResponse']]: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]]: - """ - List of all VpnServerConfigurationPolicyGroups. - """ - return pulumi.get(self, "configuration_policy_groups") - @property @pulumi.getter def etag(self) -> pulumi.Output[str]: @@ -521,60 +267,12 @@ def name(self) -> pulumi.Output[str]: return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> pulumi.Output[Sequence['outputs.P2SVpnGatewayResponse']]: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> pulumi.Output[Optional[str]]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> pulumi.Output[Optional[str]]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> pulumi.Output[Optional[Sequence['outputs.RadiusServerResponse']]]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.VpnServerConfigurationPropertiesResponse']: """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -592,43 +290,3 @@ def type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> pulumi.Output[Optional[Sequence['outputs.IpsecPolicyResponse']]]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - diff --git a/sdk/python/pulumi_azure_native/network/v20230601/_inputs.py b/sdk/python/pulumi_azure_native/network/v20230601/_inputs.py index e42156d82fbe..f3e0e6f628b6 100644 --- a/sdk/python/pulumi_azure_native/network/v20230601/_inputs.py +++ b/sdk/python/pulumi_azure_native/network/v20230601/_inputs.py @@ -181,6 +181,7 @@ 'NetworkManagerSecurityGroupItemArgs', 'NetworkRuleArgs', 'NetworkSecurityGroupArgs', + 'NetworkVirtualApplianceConnectionPropertiesArgs', 'O365BreakOutCategoryPoliciesArgs', 'O365PolicyPropertiesArgs', 'Office365PolicyPropertiesArgs', @@ -269,6 +270,7 @@ 'VpnServerConfigVpnClientRootCertificateArgs', 'VpnServerConfigurationPolicyGroupMemberArgs', 'VpnServerConfigurationPolicyGroupArgs', + 'VpnServerConfigurationPropertiesArgs', 'VpnSiteLinkConnectionArgs', 'VpnSiteLinkArgs', 'WebApplicationFirewallCustomRuleArgs', @@ -12712,6 +12714,110 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) +@pulumi.input_type +class NetworkVirtualApplianceConnectionPropertiesArgs: + def __init__(__self__, *, + asn: Optional[pulumi.Input[float]] = None, + bgp_peer_address: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + enable_internet_security: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + routing_configuration: Optional[pulumi.Input['RoutingConfigurationArgs']] = None, + tunnel_identifier: Optional[pulumi.Input[float]] = None): + """ + Properties of the NetworkVirtualApplianceConnection subresource. + :param pulumi.Input[float] asn: Network Virtual Appliance ASN. + :param pulumi.Input[Sequence[pulumi.Input[str]]] bgp_peer_address: List of bgpPeerAddresses for the NVA instances + :param pulumi.Input[bool] enable_internet_security: Enable internet security. + :param pulumi.Input[str] name: The name of the resource. + :param pulumi.Input['RoutingConfigurationArgs'] routing_configuration: The Routing Configuration indicating the associated and propagated route tables on this connection. + :param pulumi.Input[float] tunnel_identifier: Unique identifier for the connection. + """ + if asn is not None: + pulumi.set(__self__, "asn", asn) + if bgp_peer_address is not None: + pulumi.set(__self__, "bgp_peer_address", bgp_peer_address) + if enable_internet_security is not None: + pulumi.set(__self__, "enable_internet_security", enable_internet_security) + if name is not None: + pulumi.set(__self__, "name", name) + if routing_configuration is not None: + pulumi.set(__self__, "routing_configuration", routing_configuration) + if tunnel_identifier is not None: + pulumi.set(__self__, "tunnel_identifier", tunnel_identifier) + + @property + @pulumi.getter + def asn(self) -> Optional[pulumi.Input[float]]: + """ + Network Virtual Appliance ASN. + """ + return pulumi.get(self, "asn") + + @asn.setter + def asn(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "asn", value) + + @property + @pulumi.getter(name="bgpPeerAddress") + def bgp_peer_address(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of bgpPeerAddresses for the NVA instances + """ + return pulumi.get(self, "bgp_peer_address") + + @bgp_peer_address.setter + def bgp_peer_address(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "bgp_peer_address", value) + + @property + @pulumi.getter(name="enableInternetSecurity") + def enable_internet_security(self) -> Optional[pulumi.Input[bool]]: + """ + Enable internet security. + """ + return pulumi.get(self, "enable_internet_security") + + @enable_internet_security.setter + def enable_internet_security(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_internet_security", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the resource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="routingConfiguration") + def routing_configuration(self) -> Optional[pulumi.Input['RoutingConfigurationArgs']]: + """ + The Routing Configuration indicating the associated and propagated route tables on this connection. + """ + return pulumi.get(self, "routing_configuration") + + @routing_configuration.setter + def routing_configuration(self, value: Optional[pulumi.Input['RoutingConfigurationArgs']]): + pulumi.set(self, "routing_configuration", value) + + @property + @pulumi.getter(name="tunnelIdentifier") + def tunnel_identifier(self) -> Optional[pulumi.Input[float]]: + """ + Unique identifier for the connection. + """ + return pulumi.get(self, "tunnel_identifier") + + @tunnel_identifier.setter + def tunnel_identifier(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "tunnel_identifier", value) + + @pulumi.input_type class O365BreakOutCategoryPoliciesArgs: def __init__(__self__, *, @@ -19733,6 +19839,222 @@ def priority(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "priority", value) +@pulumi.input_type +class VpnServerConfigurationPropertiesArgs: + def __init__(__self__, *, + aad_authentication_parameters: Optional[pulumi.Input['AadAuthenticationParametersArgs']] = None, + configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]] = None, + radius_server_address: Optional[pulumi.Input[str]] = None, + radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]] = None, + radius_server_secret: Optional[pulumi.Input[str]] = None, + radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]] = None, + vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, + vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, + vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, + vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]] = None, + vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None): + """ + Parameters for VpnServerConfiguration. + :param pulumi.Input['AadAuthenticationParametersArgs'] aad_authentication_parameters: The set of aad vpn authentication parameters. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. + :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. + :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. + :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. + """ + if aad_authentication_parameters is not None: + pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) + if configuration_policy_groups is not None: + pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + if name is not None: + pulumi.set(__self__, "name", name) + if radius_client_root_certificates is not None: + pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_root_certificates is not None: + pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if radius_servers is not None: + pulumi.set(__self__, "radius_servers", radius_servers) + if vpn_authentication_types is not None: + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) + if vpn_client_root_certificates is not None: + pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter(name="aadAuthenticationParameters") + def aad_authentication_parameters(self) -> Optional[pulumi.Input['AadAuthenticationParametersArgs']]: + """ + The set of aad vpn authentication parameters. + """ + return pulumi.get(self, "aad_authentication_parameters") + + @aad_authentication_parameters.setter + def aad_authentication_parameters(self, value: Optional[pulumi.Input['AadAuthenticationParametersArgs']]): + pulumi.set(self, "aad_authentication_parameters", value) + + @property + @pulumi.getter(name="configurationPolicyGroups") + def configuration_policy_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]: + """ + List of all VpnServerConfigurationPolicyGroups. + """ + return pulumi.get(self, "configuration_policy_groups") + + @configuration_policy_groups.setter + def configuration_policy_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]): + pulumi.set(self, "configuration_policy_groups", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the VpnServerConfiguration that is unique within a resource group. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="radiusClientRootCertificates") + def radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]: + """ + Radius client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_client_root_certificates") + + @radius_client_root_certificates.setter + def radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]): + pulumi.set(self, "radius_client_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[pulumi.Input[str]]: + """ + The radius server address property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @radius_server_address.setter + def radius_server_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_address", value) + + @property + @pulumi.getter(name="radiusServerRootCertificates") + def radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]: + """ + Radius Server root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_server_root_certificates") + + @radius_server_root_certificates.setter + def radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]): + pulumi.set(self, "radius_server_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[pulumi.Input[str]]: + """ + The radius secret property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @radius_server_secret.setter + def radius_server_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_secret", value) + + @property + @pulumi.getter(name="radiusServers") + def radius_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]: + """ + Multiple Radius Server configuration for VpnServerConfiguration. + """ + return pulumi.get(self, "radius_servers") + + @radius_servers.setter + def radius_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]): + pulumi.set(self, "radius_servers", value) + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]: + """ + VPN authentication types for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @vpn_authentication_types.setter + def vpn_authentication_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]): + pulumi.set(self, "vpn_authentication_types", value) + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: + """ + VpnClientIpsecPolicies for VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @vpn_client_ipsec_policies.setter + def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): + pulumi.set(self, "vpn_client_ipsec_policies", value) + + @property + @pulumi.getter(name="vpnClientRevokedCertificates") + def vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]: + """ + VPN client revoked certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_revoked_certificates") + + @vpn_client_revoked_certificates.setter + def vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]): + pulumi.set(self, "vpn_client_revoked_certificates", value) + + @property + @pulumi.getter(name="vpnClientRootCertificates") + def vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]: + """ + VPN client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_root_certificates") + + @vpn_client_root_certificates.setter + def vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]): + pulumi.set(self, "vpn_client_root_certificates", value) + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: + """ + VPN protocols for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @vpn_protocols.setter + def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): + pulumi.set(self, "vpn_protocols", value) + + @pulumi.input_type class VpnSiteLinkConnectionArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/network/v20230601/get_network_virtual_appliance_connection.py b/sdk/python/pulumi_azure_native/network/v20230601/get_network_virtual_appliance_connection.py index a9109f058834..1fea075399b0 100644 --- a/sdk/python/pulumi_azure_native/network/v20230601/get_network_virtual_appliance_connection.py +++ b/sdk/python/pulumi_azure_native/network/v20230601/get_network_virtual_appliance_connection.py @@ -22,55 +22,16 @@ class GetNetworkVirtualApplianceConnectionResult: """ NetworkVirtualApplianceConnection resource. """ - def __init__(__self__, asn=None, bgp_peer_address=None, enable_internet_security=None, id=None, name=None, provisioning_state=None, routing_configuration=None, tunnel_identifier=None): - if asn and not isinstance(asn, float): - raise TypeError("Expected argument 'asn' to be a float") - pulumi.set(__self__, "asn", asn) - if bgp_peer_address and not isinstance(bgp_peer_address, list): - raise TypeError("Expected argument 'bgp_peer_address' to be a list") - pulumi.set(__self__, "bgp_peer_address", bgp_peer_address) - if enable_internet_security and not isinstance(enable_internet_security, bool): - raise TypeError("Expected argument 'enable_internet_security' to be a bool") - pulumi.set(__self__, "enable_internet_security", enable_internet_security) + def __init__(__self__, id=None, name=None, properties=None): if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if routing_configuration and not isinstance(routing_configuration, dict): - raise TypeError("Expected argument 'routing_configuration' to be a dict") - pulumi.set(__self__, "routing_configuration", routing_configuration) - if tunnel_identifier and not isinstance(tunnel_identifier, float): - raise TypeError("Expected argument 'tunnel_identifier' to be a float") - pulumi.set(__self__, "tunnel_identifier", tunnel_identifier) - - @property - @pulumi.getter - def asn(self) -> Optional[float]: - """ - Network Virtual Appliance ASN. - """ - return pulumi.get(self, "asn") - - @property - @pulumi.getter(name="bgpPeerAddress") - def bgp_peer_address(self) -> Optional[Sequence[str]]: - """ - List of bgpPeerAddresses for the NVA instances - """ - return pulumi.get(self, "bgp_peer_address") - - @property - @pulumi.getter(name="enableInternetSecurity") - def enable_internet_security(self) -> Optional[bool]: - """ - Enable internet security. - """ - return pulumi.get(self, "enable_internet_security") + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) @property @pulumi.getter @@ -89,28 +50,12 @@ def name(self) -> Optional[str]: return pulumi.get(self, "name") @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state of the NetworkVirtualApplianceConnection resource. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="routingConfiguration") - def routing_configuration(self) -> Optional['outputs.RoutingConfigurationResponse']: - """ - The Routing Configuration indicating the associated and propagated route tables on this connection. - """ - return pulumi.get(self, "routing_configuration") - - @property - @pulumi.getter(name="tunnelIdentifier") - def tunnel_identifier(self) -> Optional[float]: + @pulumi.getter + def properties(self) -> 'outputs.NetworkVirtualApplianceConnectionPropertiesResponse': """ - Unique identifier for the connection. + Properties of the express route connection. """ - return pulumi.get(self, "tunnel_identifier") + return pulumi.get(self, "properties") class AwaitableGetNetworkVirtualApplianceConnectionResult(GetNetworkVirtualApplianceConnectionResult): @@ -119,14 +64,9 @@ def __await__(self): if False: yield self return GetNetworkVirtualApplianceConnectionResult( - asn=self.asn, - bgp_peer_address=self.bgp_peer_address, - enable_internet_security=self.enable_internet_security, id=self.id, name=self.name, - provisioning_state=self.provisioning_state, - routing_configuration=self.routing_configuration, - tunnel_identifier=self.tunnel_identifier) + properties=self.properties) def get_network_virtual_appliance_connection(connection_name: Optional[str] = None, @@ -149,14 +89,9 @@ def get_network_virtual_appliance_connection(connection_name: Optional[str] = No __ret__ = pulumi.runtime.invoke('azure-native:network/v20230601:getNetworkVirtualApplianceConnection', __args__, opts=opts, typ=GetNetworkVirtualApplianceConnectionResult).value return AwaitableGetNetworkVirtualApplianceConnectionResult( - asn=pulumi.get(__ret__, 'asn'), - bgp_peer_address=pulumi.get(__ret__, 'bgp_peer_address'), - enable_internet_security=pulumi.get(__ret__, 'enable_internet_security'), id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), - routing_configuration=pulumi.get(__ret__, 'routing_configuration'), - tunnel_identifier=pulumi.get(__ret__, 'tunnel_identifier')) + properties=pulumi.get(__ret__, 'properties')) @_utilities.lift_output_func(get_network_virtual_appliance_connection) diff --git a/sdk/python/pulumi_azure_native/network/v20230601/get_vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/v20230601/get_vpn_server_configuration.py index 33f851230a0d..6a96f0092f37 100644 --- a/sdk/python/pulumi_azure_native/network/v20230601/get_vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/v20230601/get_vpn_server_configuration.py @@ -22,13 +22,7 @@ class GetVpnServerConfigurationResult: """ VpnServerConfiguration Resource. """ - def __init__(__self__, aad_authentication_parameters=None, configuration_policy_groups=None, etag=None, id=None, location=None, name=None, p2_s_vpn_gateways=None, provisioning_state=None, radius_client_root_certificates=None, radius_server_address=None, radius_server_root_certificates=None, radius_server_secret=None, radius_servers=None, tags=None, type=None, vpn_authentication_types=None, vpn_client_ipsec_policies=None, vpn_client_revoked_certificates=None, vpn_client_root_certificates=None, vpn_protocols=None): - if aad_authentication_parameters and not isinstance(aad_authentication_parameters, dict): - raise TypeError("Expected argument 'aad_authentication_parameters' to be a dict") - pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) - if configuration_policy_groups and not isinstance(configuration_policy_groups, list): - raise TypeError("Expected argument 'configuration_policy_groups' to be a list") - pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + def __init__(__self__, etag=None, id=None, location=None, name=None, properties=None, tags=None, type=None): if etag and not isinstance(etag, str): raise TypeError("Expected argument 'etag' to be a str") pulumi.set(__self__, "etag", etag) @@ -41,64 +35,15 @@ def __init__(__self__, aad_authentication_parameters=None, configuration_policy_ if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if p2_s_vpn_gateways and not isinstance(p2_s_vpn_gateways, list): - raise TypeError("Expected argument 'p2_s_vpn_gateways' to be a list") - pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if radius_client_root_certificates and not isinstance(radius_client_root_certificates, list): - raise TypeError("Expected argument 'radius_client_root_certificates' to be a list") - pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) - if radius_server_address and not isinstance(radius_server_address, str): - raise TypeError("Expected argument 'radius_server_address' to be a str") - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_root_certificates and not isinstance(radius_server_root_certificates, list): - raise TypeError("Expected argument 'radius_server_root_certificates' to be a list") - pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) - if radius_server_secret and not isinstance(radius_server_secret, str): - raise TypeError("Expected argument 'radius_server_secret' to be a str") - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if radius_servers and not isinstance(radius_servers, list): - raise TypeError("Expected argument 'radius_servers' to be a list") - pulumi.set(__self__, "radius_servers", radius_servers) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) 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 vpn_authentication_types and not isinstance(vpn_authentication_types, list): - raise TypeError("Expected argument 'vpn_authentication_types' to be a list") - pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) - if vpn_client_ipsec_policies and not isinstance(vpn_client_ipsec_policies, list): - raise TypeError("Expected argument 'vpn_client_ipsec_policies' to be a list") - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_client_revoked_certificates and not isinstance(vpn_client_revoked_certificates, list): - raise TypeError("Expected argument 'vpn_client_revoked_certificates' to be a list") - pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) - if vpn_client_root_certificates and not isinstance(vpn_client_root_certificates, list): - raise TypeError("Expected argument 'vpn_client_root_certificates' to be a list") - pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) - if vpn_protocols and not isinstance(vpn_protocols, list): - raise TypeError("Expected argument 'vpn_protocols' to be a list") - pulumi.set(__self__, "vpn_protocols", vpn_protocols) - - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> Optional['outputs.AadAuthenticationParametersResponse']: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]: - """ - List of all VpnServerConfigurationPolicyGroups. - """ - return pulumi.get(self, "configuration_policy_groups") @property @pulumi.getter @@ -133,60 +78,12 @@ def name(self) -> str: return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> Sequence['outputs.P2SVpnGatewayResponse']: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[str]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[str]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> Optional[Sequence['outputs.RadiusServerResponse']]: + @pulumi.getter + def properties(self) -> 'outputs.VpnServerConfigurationPropertiesResponse': """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -204,46 +101,6 @@ def type(self) -> str: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> Optional[Sequence[str]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[Sequence[str]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - class AwaitableGetVpnServerConfigurationResult(GetVpnServerConfigurationResult): # pylint: disable=using-constant-test @@ -251,26 +108,13 @@ def __await__(self): if False: yield self return GetVpnServerConfigurationResult( - aad_authentication_parameters=self.aad_authentication_parameters, - configuration_policy_groups=self.configuration_policy_groups, etag=self.etag, id=self.id, location=self.location, name=self.name, - p2_s_vpn_gateways=self.p2_s_vpn_gateways, - provisioning_state=self.provisioning_state, - radius_client_root_certificates=self.radius_client_root_certificates, - radius_server_address=self.radius_server_address, - radius_server_root_certificates=self.radius_server_root_certificates, - radius_server_secret=self.radius_server_secret, - radius_servers=self.radius_servers, + properties=self.properties, tags=self.tags, - type=self.type, - vpn_authentication_types=self.vpn_authentication_types, - vpn_client_ipsec_policies=self.vpn_client_ipsec_policies, - vpn_client_revoked_certificates=self.vpn_client_revoked_certificates, - vpn_client_root_certificates=self.vpn_client_root_certificates, - vpn_protocols=self.vpn_protocols) + type=self.type) def get_vpn_server_configuration(resource_group_name: Optional[str] = None, @@ -290,26 +134,13 @@ def get_vpn_server_configuration(resource_group_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:network/v20230601:getVpnServerConfiguration', __args__, opts=opts, typ=GetVpnServerConfigurationResult).value return AwaitableGetVpnServerConfigurationResult( - aad_authentication_parameters=pulumi.get(__ret__, 'aad_authentication_parameters'), - configuration_policy_groups=pulumi.get(__ret__, 'configuration_policy_groups'), etag=pulumi.get(__ret__, 'etag'), id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), - p2_s_vpn_gateways=pulumi.get(__ret__, 'p2_s_vpn_gateways'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), - radius_client_root_certificates=pulumi.get(__ret__, 'radius_client_root_certificates'), - radius_server_address=pulumi.get(__ret__, 'radius_server_address'), - radius_server_root_certificates=pulumi.get(__ret__, 'radius_server_root_certificates'), - radius_server_secret=pulumi.get(__ret__, 'radius_server_secret'), - radius_servers=pulumi.get(__ret__, 'radius_servers'), + properties=pulumi.get(__ret__, 'properties'), tags=pulumi.get(__ret__, 'tags'), - type=pulumi.get(__ret__, 'type'), - vpn_authentication_types=pulumi.get(__ret__, 'vpn_authentication_types'), - vpn_client_ipsec_policies=pulumi.get(__ret__, 'vpn_client_ipsec_policies'), - vpn_client_revoked_certificates=pulumi.get(__ret__, 'vpn_client_revoked_certificates'), - vpn_client_root_certificates=pulumi.get(__ret__, 'vpn_client_root_certificates'), - vpn_protocols=pulumi.get(__ret__, 'vpn_protocols')) + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_vpn_server_configuration) diff --git a/sdk/python/pulumi_azure_native/network/v20230601/network_virtual_appliance_connection.py b/sdk/python/pulumi_azure_native/network/v20230601/network_virtual_appliance_connection.py index 11d6c98cd36d..31cf590fe33e 100644 --- a/sdk/python/pulumi_azure_native/network/v20230601/network_virtual_appliance_connection.py +++ b/sdk/python/pulumi_azure_native/network/v20230601/network_virtual_appliance_connection.py @@ -19,45 +19,29 @@ class NetworkVirtualApplianceConnectionArgs: def __init__(__self__, *, network_virtual_appliance_name: pulumi.Input[str], resource_group_name: pulumi.Input[str], - asn: Optional[pulumi.Input[float]] = None, - bgp_peer_address: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, connection_name: Optional[pulumi.Input[str]] = None, - enable_internet_security: Optional[pulumi.Input[bool]] = None, id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - routing_configuration: Optional[pulumi.Input['RoutingConfigurationArgs']] = None, - tunnel_identifier: Optional[pulumi.Input[float]] = None): + properties: Optional[pulumi.Input['NetworkVirtualApplianceConnectionPropertiesArgs']] = None): """ The set of arguments for constructing a NetworkVirtualApplianceConnection resource. :param pulumi.Input[str] network_virtual_appliance_name: The name of the Network Virtual Appliance. :param pulumi.Input[str] resource_group_name: The name of the resource group. - :param pulumi.Input[float] asn: Network Virtual Appliance ASN. - :param pulumi.Input[Sequence[pulumi.Input[str]]] bgp_peer_address: List of bgpPeerAddresses for the NVA instances :param pulumi.Input[str] connection_name: The name of the NVA connection. - :param pulumi.Input[bool] enable_internet_security: Enable internet security. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] name: The name of the resource. - :param pulumi.Input['RoutingConfigurationArgs'] routing_configuration: The Routing Configuration indicating the associated and propagated route tables on this connection. - :param pulumi.Input[float] tunnel_identifier: Unique identifier for the connection. + :param pulumi.Input['NetworkVirtualApplianceConnectionPropertiesArgs'] properties: Properties of the express route connection. """ pulumi.set(__self__, "network_virtual_appliance_name", network_virtual_appliance_name) pulumi.set(__self__, "resource_group_name", resource_group_name) - if asn is not None: - pulumi.set(__self__, "asn", asn) - if bgp_peer_address is not None: - pulumi.set(__self__, "bgp_peer_address", bgp_peer_address) if connection_name is not None: pulumi.set(__self__, "connection_name", connection_name) - if enable_internet_security is not None: - pulumi.set(__self__, "enable_internet_security", enable_internet_security) if id is not None: pulumi.set(__self__, "id", id) if name is not None: pulumi.set(__self__, "name", name) - if routing_configuration is not None: - pulumi.set(__self__, "routing_configuration", routing_configuration) - if tunnel_identifier is not None: - pulumi.set(__self__, "tunnel_identifier", tunnel_identifier) + if properties is not None: + pulumi.set(__self__, "properties", properties) @property @pulumi.getter(name="networkVirtualApplianceName") @@ -83,30 +67,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter - def asn(self) -> Optional[pulumi.Input[float]]: - """ - Network Virtual Appliance ASN. - """ - return pulumi.get(self, "asn") - - @asn.setter - def asn(self, value: Optional[pulumi.Input[float]]): - pulumi.set(self, "asn", value) - - @property - @pulumi.getter(name="bgpPeerAddress") - def bgp_peer_address(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - """ - List of bgpPeerAddresses for the NVA instances - """ - return pulumi.get(self, "bgp_peer_address") - - @bgp_peer_address.setter - def bgp_peer_address(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "bgp_peer_address", value) - @property @pulumi.getter(name="connectionName") def connection_name(self) -> Optional[pulumi.Input[str]]: @@ -119,18 +79,6 @@ def connection_name(self) -> Optional[pulumi.Input[str]]: def connection_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "connection_name", value) - @property - @pulumi.getter(name="enableInternetSecurity") - def enable_internet_security(self) -> Optional[pulumi.Input[bool]]: - """ - Enable internet security. - """ - return pulumi.get(self, "enable_internet_security") - - @enable_internet_security.setter - def enable_internet_security(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "enable_internet_security", value) - @property @pulumi.getter def id(self) -> Optional[pulumi.Input[str]]: @@ -156,28 +104,16 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) @property - @pulumi.getter(name="routingConfiguration") - def routing_configuration(self) -> Optional[pulumi.Input['RoutingConfigurationArgs']]: - """ - The Routing Configuration indicating the associated and propagated route tables on this connection. - """ - return pulumi.get(self, "routing_configuration") - - @routing_configuration.setter - def routing_configuration(self, value: Optional[pulumi.Input['RoutingConfigurationArgs']]): - pulumi.set(self, "routing_configuration", value) - - @property - @pulumi.getter(name="tunnelIdentifier") - def tunnel_identifier(self) -> Optional[pulumi.Input[float]]: + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['NetworkVirtualApplianceConnectionPropertiesArgs']]: """ - Unique identifier for the connection. + Properties of the express route connection. """ - return pulumi.get(self, "tunnel_identifier") + return pulumi.get(self, "properties") - @tunnel_identifier.setter - def tunnel_identifier(self, value: Optional[pulumi.Input[float]]): - pulumi.set(self, "tunnel_identifier", value) + @properties.setter + def properties(self, value: Optional[pulumi.Input['NetworkVirtualApplianceConnectionPropertiesArgs']]): + pulumi.set(self, "properties", value) class NetworkVirtualApplianceConnection(pulumi.CustomResource): @@ -185,32 +121,24 @@ class NetworkVirtualApplianceConnection(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - asn: Optional[pulumi.Input[float]] = None, - bgp_peer_address: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, connection_name: Optional[pulumi.Input[str]] = None, - enable_internet_security: Optional[pulumi.Input[bool]] = None, id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_virtual_appliance_name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['NetworkVirtualApplianceConnectionPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, - routing_configuration: Optional[pulumi.Input[pulumi.InputType['RoutingConfigurationArgs']]] = None, - tunnel_identifier: Optional[pulumi.Input[float]] = None, __props__=None): """ NetworkVirtualApplianceConnection resource. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[float] asn: Network Virtual Appliance ASN. - :param pulumi.Input[Sequence[pulumi.Input[str]]] bgp_peer_address: List of bgpPeerAddresses for the NVA instances :param pulumi.Input[str] connection_name: The name of the NVA connection. - :param pulumi.Input[bool] enable_internet_security: Enable internet security. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] name: The name of the resource. :param pulumi.Input[str] network_virtual_appliance_name: The name of the Network Virtual Appliance. + :param pulumi.Input[pulumi.InputType['NetworkVirtualApplianceConnectionPropertiesArgs']] properties: Properties of the express route connection. :param pulumi.Input[str] resource_group_name: The name of the resource group. - :param pulumi.Input[pulumi.InputType['RoutingConfigurationArgs']] routing_configuration: The Routing Configuration indicating the associated and propagated route tables on this connection. - :param pulumi.Input[float] tunnel_identifier: Unique identifier for the connection. """ ... @overload @@ -236,16 +164,12 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - asn: Optional[pulumi.Input[float]] = None, - bgp_peer_address: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, connection_name: Optional[pulumi.Input[str]] = None, - enable_internet_security: Optional[pulumi.Input[bool]] = None, id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_virtual_appliance_name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['NetworkVirtualApplianceConnectionPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, - routing_configuration: Optional[pulumi.Input[pulumi.InputType['RoutingConfigurationArgs']]] = None, - tunnel_identifier: Optional[pulumi.Input[float]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -255,21 +179,16 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = NetworkVirtualApplianceConnectionArgs.__new__(NetworkVirtualApplianceConnectionArgs) - __props__.__dict__["asn"] = asn - __props__.__dict__["bgp_peer_address"] = bgp_peer_address __props__.__dict__["connection_name"] = connection_name - __props__.__dict__["enable_internet_security"] = enable_internet_security __props__.__dict__["id"] = id __props__.__dict__["name"] = name if network_virtual_appliance_name is None and not opts.urn: raise TypeError("Missing required property 'network_virtual_appliance_name'") __props__.__dict__["network_virtual_appliance_name"] = network_virtual_appliance_name + __props__.__dict__["properties"] = properties if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name - __props__.__dict__["routing_configuration"] = routing_configuration - __props__.__dict__["tunnel_identifier"] = tunnel_identifier - __props__.__dict__["provisioning_state"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:network/v20230901:NetworkVirtualApplianceConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(NetworkVirtualApplianceConnection, __self__).__init__( @@ -294,39 +213,10 @@ def get(resource_name: str, __props__ = NetworkVirtualApplianceConnectionArgs.__new__(NetworkVirtualApplianceConnectionArgs) - __props__.__dict__["asn"] = None - __props__.__dict__["bgp_peer_address"] = None - __props__.__dict__["enable_internet_security"] = None __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["routing_configuration"] = None - __props__.__dict__["tunnel_identifier"] = None + __props__.__dict__["properties"] = None return NetworkVirtualApplianceConnection(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter - def asn(self) -> pulumi.Output[Optional[float]]: - """ - Network Virtual Appliance ASN. - """ - return pulumi.get(self, "asn") - - @property - @pulumi.getter(name="bgpPeerAddress") - def bgp_peer_address(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - List of bgpPeerAddresses for the NVA instances - """ - return pulumi.get(self, "bgp_peer_address") - - @property - @pulumi.getter(name="enableInternetSecurity") - def enable_internet_security(self) -> pulumi.Output[Optional[bool]]: - """ - Enable internet security. - """ - return pulumi.get(self, "enable_internet_security") - @property @pulumi.getter def name(self) -> pulumi.Output[Optional[str]]: @@ -336,26 +226,10 @@ def name(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "name") @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state of the NetworkVirtualApplianceConnection resource. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="routingConfiguration") - def routing_configuration(self) -> pulumi.Output[Optional['outputs.RoutingConfigurationResponse']]: - """ - The Routing Configuration indicating the associated and propagated route tables on this connection. - """ - return pulumi.get(self, "routing_configuration") - - @property - @pulumi.getter(name="tunnelIdentifier") - def tunnel_identifier(self) -> pulumi.Output[Optional[float]]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.NetworkVirtualApplianceConnectionPropertiesResponse']: """ - Unique identifier for the connection. + Properties of the express route connection. """ - return pulumi.get(self, "tunnel_identifier") + return pulumi.get(self, "properties") diff --git a/sdk/python/pulumi_azure_native/network/v20230601/outputs.py b/sdk/python/pulumi_azure_native/network/v20230601/outputs.py index bf219f16f969..5f2ede8f2a13 100644 --- a/sdk/python/pulumi_azure_native/network/v20230601/outputs.py +++ b/sdk/python/pulumi_azure_native/network/v20230601/outputs.py @@ -208,6 +208,7 @@ 'NetworkManagerSecurityGroupItemResponse', 'NetworkRuleResponse', 'NetworkSecurityGroupResponse', + 'NetworkVirtualApplianceConnectionPropertiesResponse', 'O365BreakOutCategoryPoliciesResponse', 'O365PolicyPropertiesResponse', 'Office365PolicyPropertiesResponse', @@ -310,6 +311,7 @@ 'VpnServerConfigVpnClientRootCertificateResponse', 'VpnServerConfigurationPolicyGroupMemberResponse', 'VpnServerConfigurationPolicyGroupResponse', + 'VpnServerConfigurationPropertiesResponse', 'VpnSiteLinkConnectionResponse', 'VpnSiteLinkResponse', 'WebApplicationFirewallCustomRuleResponse', @@ -19345,6 +19347,125 @@ def tags(self) -> Optional[Mapping[str, str]]: return pulumi.get(self, "tags") +@pulumi.output_type +class NetworkVirtualApplianceConnectionPropertiesResponse(dict): + """ + Properties of the NetworkVirtualApplianceConnection subresource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "provisioningState": + suggest = "provisioning_state" + elif key == "bgpPeerAddress": + suggest = "bgp_peer_address" + elif key == "enableInternetSecurity": + suggest = "enable_internet_security" + elif key == "routingConfiguration": + suggest = "routing_configuration" + elif key == "tunnelIdentifier": + suggest = "tunnel_identifier" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NetworkVirtualApplianceConnectionPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NetworkVirtualApplianceConnectionPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NetworkVirtualApplianceConnectionPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + provisioning_state: str, + asn: Optional[float] = None, + bgp_peer_address: Optional[Sequence[str]] = None, + enable_internet_security: Optional[bool] = None, + name: Optional[str] = None, + routing_configuration: Optional['outputs.RoutingConfigurationResponse'] = None, + tunnel_identifier: Optional[float] = None): + """ + Properties of the NetworkVirtualApplianceConnection subresource. + :param str provisioning_state: The provisioning state of the NetworkVirtualApplianceConnection resource. + :param float asn: Network Virtual Appliance ASN. + :param Sequence[str] bgp_peer_address: List of bgpPeerAddresses for the NVA instances + :param bool enable_internet_security: Enable internet security. + :param str name: The name of the resource. + :param 'RoutingConfigurationResponse' routing_configuration: The Routing Configuration indicating the associated and propagated route tables on this connection. + :param float tunnel_identifier: Unique identifier for the connection. + """ + pulumi.set(__self__, "provisioning_state", provisioning_state) + if asn is not None: + pulumi.set(__self__, "asn", asn) + if bgp_peer_address is not None: + pulumi.set(__self__, "bgp_peer_address", bgp_peer_address) + if enable_internet_security is not None: + pulumi.set(__self__, "enable_internet_security", enable_internet_security) + if name is not None: + pulumi.set(__self__, "name", name) + if routing_configuration is not None: + pulumi.set(__self__, "routing_configuration", routing_configuration) + if tunnel_identifier is not None: + pulumi.set(__self__, "tunnel_identifier", tunnel_identifier) + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the NetworkVirtualApplianceConnection resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def asn(self) -> Optional[float]: + """ + Network Virtual Appliance ASN. + """ + return pulumi.get(self, "asn") + + @property + @pulumi.getter(name="bgpPeerAddress") + def bgp_peer_address(self) -> Optional[Sequence[str]]: + """ + List of bgpPeerAddresses for the NVA instances + """ + return pulumi.get(self, "bgp_peer_address") + + @property + @pulumi.getter(name="enableInternetSecurity") + def enable_internet_security(self) -> Optional[bool]: + """ + Enable internet security. + """ + return pulumi.get(self, "enable_internet_security") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the resource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="routingConfiguration") + def routing_configuration(self) -> Optional['outputs.RoutingConfigurationResponse']: + """ + The Routing Configuration indicating the associated and propagated route tables on this connection. + """ + return pulumi.get(self, "routing_configuration") + + @property + @pulumi.getter(name="tunnelIdentifier") + def tunnel_identifier(self) -> Optional[float]: + """ + Unique identifier for the connection. + """ + return pulumi.get(self, "tunnel_identifier") + + @pulumi.output_type class O365BreakOutCategoryPoliciesResponse(dict): """ @@ -29685,6 +29806,249 @@ def priority(self) -> Optional[int]: return pulumi.get(self, "priority") +@pulumi.output_type +class VpnServerConfigurationPropertiesResponse(dict): + """ + Parameters for VpnServerConfiguration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "p2SVpnGateways": + suggest = "p2_s_vpn_gateways" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "aadAuthenticationParameters": + suggest = "aad_authentication_parameters" + elif key == "configurationPolicyGroups": + suggest = "configuration_policy_groups" + elif key == "radiusClientRootCertificates": + suggest = "radius_client_root_certificates" + elif key == "radiusServerAddress": + suggest = "radius_server_address" + elif key == "radiusServerRootCertificates": + suggest = "radius_server_root_certificates" + elif key == "radiusServerSecret": + suggest = "radius_server_secret" + elif key == "radiusServers": + suggest = "radius_servers" + elif key == "vpnAuthenticationTypes": + suggest = "vpn_authentication_types" + elif key == "vpnClientIpsecPolicies": + suggest = "vpn_client_ipsec_policies" + elif key == "vpnClientRevokedCertificates": + suggest = "vpn_client_revoked_certificates" + elif key == "vpnClientRootCertificates": + suggest = "vpn_client_root_certificates" + elif key == "vpnProtocols": + suggest = "vpn_protocols" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnServerConfigurationPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + etag: str, + p2_s_vpn_gateways: Sequence['outputs.P2SVpnGatewayResponse'], + provisioning_state: str, + aad_authentication_parameters: Optional['outputs.AadAuthenticationParametersResponse'] = None, + configuration_policy_groups: Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']] = None, + name: Optional[str] = None, + radius_client_root_certificates: Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']] = None, + radius_server_address: Optional[str] = None, + radius_server_root_certificates: Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']] = None, + radius_server_secret: Optional[str] = None, + radius_servers: Optional[Sequence['outputs.RadiusServerResponse']] = None, + vpn_authentication_types: Optional[Sequence[str]] = None, + vpn_client_ipsec_policies: Optional[Sequence['outputs.IpsecPolicyResponse']] = None, + vpn_client_revoked_certificates: Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']] = None, + vpn_client_root_certificates: Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']] = None, + vpn_protocols: Optional[Sequence[str]] = None): + """ + Parameters for VpnServerConfiguration. + :param str etag: A unique read-only string that changes whenever the resource is updated. + :param Sequence['P2SVpnGatewayResponse'] p2_s_vpn_gateways: List of references to P2SVpnGateways. + :param str provisioning_state: The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :param 'AadAuthenticationParametersResponse' aad_authentication_parameters: The set of aad vpn authentication parameters. + :param Sequence['VpnServerConfigurationPolicyGroupResponse'] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. + :param str name: The name of the VpnServerConfiguration that is unique within a resource group. + :param Sequence['VpnServerConfigRadiusClientRootCertificateResponse'] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. + :param str radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. + :param Sequence['VpnServerConfigRadiusServerRootCertificateResponse'] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. + :param str radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. + :param Sequence['RadiusServerResponse'] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param Sequence[str] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. + :param Sequence['IpsecPolicyResponse'] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. + :param Sequence['VpnServerConfigVpnClientRevokedCertificateResponse'] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. + :param Sequence['VpnServerConfigVpnClientRootCertificateResponse'] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. + :param Sequence[str] vpn_protocols: VPN protocols for the VpnServerConfiguration. + """ + pulumi.set(__self__, "etag", etag) + pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) + pulumi.set(__self__, "provisioning_state", provisioning_state) + if aad_authentication_parameters is not None: + pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) + if configuration_policy_groups is not None: + pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + if name is not None: + pulumi.set(__self__, "name", name) + if radius_client_root_certificates is not None: + pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_root_certificates is not None: + pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if radius_servers is not None: + pulumi.set(__self__, "radius_servers", radius_servers) + if vpn_authentication_types is not None: + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) + if vpn_client_root_certificates is not None: + pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter + def etag(self) -> str: + """ + A unique read-only string that changes whenever the resource is updated. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="p2SVpnGateways") + def p2_s_vpn_gateways(self) -> Sequence['outputs.P2SVpnGatewayResponse']: + """ + List of references to P2SVpnGateways. + """ + return pulumi.get(self, "p2_s_vpn_gateways") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="aadAuthenticationParameters") + def aad_authentication_parameters(self) -> Optional['outputs.AadAuthenticationParametersResponse']: + """ + The set of aad vpn authentication parameters. + """ + return pulumi.get(self, "aad_authentication_parameters") + + @property + @pulumi.getter(name="configurationPolicyGroups") + def configuration_policy_groups(self) -> Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]: + """ + List of all VpnServerConfigurationPolicyGroups. + """ + return pulumi.get(self, "configuration_policy_groups") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the VpnServerConfiguration that is unique within a resource group. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="radiusClientRootCertificates") + def radius_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]: + """ + Radius client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_client_root_certificates") + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[str]: + """ + The radius server address property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @property + @pulumi.getter(name="radiusServerRootCertificates") + def radius_server_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]: + """ + Radius Server root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_server_root_certificates") + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[str]: + """ + The radius secret property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @property + @pulumi.getter(name="radiusServers") + def radius_servers(self) -> Optional[Sequence['outputs.RadiusServerResponse']]: + """ + Multiple Radius Server configuration for VpnServerConfiguration. + """ + return pulumi.get(self, "radius_servers") + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Optional[Sequence[str]]: + """ + VPN authentication types for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: + """ + VpnClientIpsecPolicies for VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @property + @pulumi.getter(name="vpnClientRevokedCertificates") + def vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]: + """ + VPN client revoked certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_revoked_certificates") + + @property + @pulumi.getter(name="vpnClientRootCertificates") + def vpn_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]: + """ + VPN client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_root_certificates") + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[Sequence[str]]: + """ + VPN protocols for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @pulumi.output_type class VpnSiteLinkConnectionResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/network/v20230601/vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/v20230601/vpn_server_configuration.py index 22b46e1a22ca..8adabb4fda97 100644 --- a/sdk/python/pulumi_azure_native/network/v20230601/vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/v20230601/vpn_server_configuration.py @@ -18,78 +18,33 @@ class VpnServerConfigurationArgs: def __init__(__self__, *, resource_group_name: pulumi.Input[str], - aad_authentication_parameters: Optional[pulumi.Input['AadAuthenticationParametersArgs']] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]] = None, + properties: Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a VpnServerConfiguration resource. :param pulumi.Input[str] resource_group_name: The resource group name of the VpnServerConfiguration. - :param pulumi.Input['AadAuthenticationParametersArgs'] aad_authentication_parameters: The set of aad vpn authentication parameters. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] location: Resource location. - :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input['VpnServerConfigurationPropertiesArgs'] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. :param pulumi.Input[str] vpn_server_configuration_name: The name of the VpnServerConfiguration being created or updated. """ pulumi.set(__self__, "resource_group_name", resource_group_name) - if aad_authentication_parameters is not None: - pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) - if configuration_policy_groups is not None: - pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) if id is not None: pulumi.set(__self__, "id", id) if location is not None: pulumi.set(__self__, "location", location) if name is not None: pulumi.set(__self__, "name", name) - if radius_client_root_certificates is not None: - pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) - if radius_server_address is not None: - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_root_certificates is not None: - pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) - if radius_server_secret is not None: - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if radius_servers is not None: - pulumi.set(__self__, "radius_servers", radius_servers) + if properties is not None: + pulumi.set(__self__, "properties", properties) if tags is not None: pulumi.set(__self__, "tags", tags) - if vpn_authentication_types is not None: - pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) - if vpn_client_ipsec_policies is not None: - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_client_revoked_certificates is not None: - pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) - if vpn_client_root_certificates is not None: - pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) - if vpn_protocols is not None: - pulumi.set(__self__, "vpn_protocols", vpn_protocols) if vpn_server_configuration_name is not None: pulumi.set(__self__, "vpn_server_configuration_name", vpn_server_configuration_name) @@ -105,31 +60,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> Optional[pulumi.Input['AadAuthenticationParametersArgs']]: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @aad_authentication_parameters.setter - def aad_authentication_parameters(self, value: Optional[pulumi.Input['AadAuthenticationParametersArgs']]): - pulumi.set(self, "aad_authentication_parameters", value) - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]: - """ - List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - """ - return pulumi.get(self, "configuration_policy_groups") - - @configuration_policy_groups.setter - def configuration_policy_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]): - pulumi.set(self, "configuration_policy_groups", value) - @property @pulumi.getter def id(self) -> Optional[pulumi.Input[str]]: @@ -158,7 +88,7 @@ def location(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the VpnServerConfiguration that is unique within a resource group. + The name of the resource that is unique within a resource group. This name can be used to access the resource. """ return pulumi.get(self, "name") @@ -167,64 +97,16 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @radius_client_root_certificates.setter - def radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]): - pulumi.set(self, "radius_client_root_certificates", value) - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[pulumi.Input[str]]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @radius_server_address.setter - def radius_server_address(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_address", value) - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @radius_server_root_certificates.setter - def radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]): - pulumi.set(self, "radius_server_root_certificates", value) - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[pulumi.Input[str]]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @radius_server_secret.setter - def radius_server_secret(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_secret", value) - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]: + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']]: """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") - @radius_servers.setter - def radius_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]): - pulumi.set(self, "radius_servers", value) + @properties.setter + def properties(self, value: Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']]): + pulumi.set(self, "properties", value) @property @pulumi.getter @@ -238,66 +120,6 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @vpn_authentication_types.setter - def vpn_authentication_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]): - pulumi.set(self, "vpn_authentication_types", value) - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @vpn_client_ipsec_policies.setter - def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): - pulumi.set(self, "vpn_client_ipsec_policies", value) - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @vpn_client_revoked_certificates.setter - def vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]): - pulumi.set(self, "vpn_client_revoked_certificates", value) - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @vpn_client_root_certificates.setter - def vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]): - pulumi.set(self, "vpn_client_root_certificates", value) - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - - @vpn_protocols.setter - def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): - pulumi.set(self, "vpn_protocols", value) - @property @pulumi.getter(name="vpnServerConfigurationName") def vpn_server_configuration_name(self) -> Optional[pulumi.Input[str]]: @@ -316,23 +138,12 @@ class VpnServerConfiguration(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - aad_authentication_parameters: Optional[pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']]] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -340,24 +151,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']] aad_authentication_parameters: The set of aad vpn authentication parameters. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] location: Resource location. - :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[str] resource_group_name: The resource group name of the VpnServerConfiguration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. :param pulumi.Input[str] vpn_server_configuration_name: The name of the VpnServerConfiguration being created or updated. """ ... @@ -384,23 +183,12 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - aad_authentication_parameters: Optional[pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']]] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -411,29 +199,16 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = VpnServerConfigurationArgs.__new__(VpnServerConfigurationArgs) - __props__.__dict__["aad_authentication_parameters"] = aad_authentication_parameters - __props__.__dict__["configuration_policy_groups"] = configuration_policy_groups __props__.__dict__["id"] = id __props__.__dict__["location"] = location __props__.__dict__["name"] = name - __props__.__dict__["radius_client_root_certificates"] = radius_client_root_certificates - __props__.__dict__["radius_server_address"] = radius_server_address - __props__.__dict__["radius_server_root_certificates"] = radius_server_root_certificates - __props__.__dict__["radius_server_secret"] = radius_server_secret - __props__.__dict__["radius_servers"] = radius_servers + __props__.__dict__["properties"] = properties if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["tags"] = tags - __props__.__dict__["vpn_authentication_types"] = vpn_authentication_types - __props__.__dict__["vpn_client_ipsec_policies"] = vpn_client_ipsec_policies - __props__.__dict__["vpn_client_revoked_certificates"] = vpn_client_revoked_certificates - __props__.__dict__["vpn_client_root_certificates"] = vpn_client_root_certificates - __props__.__dict__["vpn_protocols"] = vpn_protocols __props__.__dict__["vpn_server_configuration_name"] = vpn_server_configuration_name __props__.__dict__["etag"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:network:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190901:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20191101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20191201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200301:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200401:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200601:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200701:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20201101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210301:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220701:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220901:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20221101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230401:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230901:VpnServerConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -459,43 +234,14 @@ def get(resource_name: str, __props__ = VpnServerConfigurationArgs.__new__(VpnServerConfigurationArgs) - __props__.__dict__["aad_authentication_parameters"] = None - __props__.__dict__["configuration_policy_groups"] = None __props__.__dict__["etag"] = None __props__.__dict__["location"] = None __props__.__dict__["name"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["radius_client_root_certificates"] = None - __props__.__dict__["radius_server_address"] = None - __props__.__dict__["radius_server_root_certificates"] = None - __props__.__dict__["radius_server_secret"] = None - __props__.__dict__["radius_servers"] = None + __props__.__dict__["properties"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None - __props__.__dict__["vpn_authentication_types"] = None - __props__.__dict__["vpn_client_ipsec_policies"] = None - __props__.__dict__["vpn_client_revoked_certificates"] = None - __props__.__dict__["vpn_client_root_certificates"] = None - __props__.__dict__["vpn_protocols"] = None return VpnServerConfiguration(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> pulumi.Output[Optional['outputs.AadAuthenticationParametersResponse']]: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]]: - """ - List of all VpnServerConfigurationPolicyGroups. - """ - return pulumi.get(self, "configuration_policy_groups") - @property @pulumi.getter def etag(self) -> pulumi.Output[str]: @@ -521,60 +267,12 @@ def name(self) -> pulumi.Output[str]: return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> pulumi.Output[Sequence['outputs.P2SVpnGatewayResponse']]: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> pulumi.Output[Optional[str]]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> pulumi.Output[Optional[str]]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> pulumi.Output[Optional[Sequence['outputs.RadiusServerResponse']]]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.VpnServerConfigurationPropertiesResponse']: """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -592,43 +290,3 @@ def type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> pulumi.Output[Optional[Sequence['outputs.IpsecPolicyResponse']]]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - diff --git a/sdk/python/pulumi_azure_native/network/v20230901/_inputs.py b/sdk/python/pulumi_azure_native/network/v20230901/_inputs.py index e42156d82fbe..f3e0e6f628b6 100644 --- a/sdk/python/pulumi_azure_native/network/v20230901/_inputs.py +++ b/sdk/python/pulumi_azure_native/network/v20230901/_inputs.py @@ -181,6 +181,7 @@ 'NetworkManagerSecurityGroupItemArgs', 'NetworkRuleArgs', 'NetworkSecurityGroupArgs', + 'NetworkVirtualApplianceConnectionPropertiesArgs', 'O365BreakOutCategoryPoliciesArgs', 'O365PolicyPropertiesArgs', 'Office365PolicyPropertiesArgs', @@ -269,6 +270,7 @@ 'VpnServerConfigVpnClientRootCertificateArgs', 'VpnServerConfigurationPolicyGroupMemberArgs', 'VpnServerConfigurationPolicyGroupArgs', + 'VpnServerConfigurationPropertiesArgs', 'VpnSiteLinkConnectionArgs', 'VpnSiteLinkArgs', 'WebApplicationFirewallCustomRuleArgs', @@ -12712,6 +12714,110 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) +@pulumi.input_type +class NetworkVirtualApplianceConnectionPropertiesArgs: + def __init__(__self__, *, + asn: Optional[pulumi.Input[float]] = None, + bgp_peer_address: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + enable_internet_security: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + routing_configuration: Optional[pulumi.Input['RoutingConfigurationArgs']] = None, + tunnel_identifier: Optional[pulumi.Input[float]] = None): + """ + Properties of the NetworkVirtualApplianceConnection subresource. + :param pulumi.Input[float] asn: Network Virtual Appliance ASN. + :param pulumi.Input[Sequence[pulumi.Input[str]]] bgp_peer_address: List of bgpPeerAddresses for the NVA instances + :param pulumi.Input[bool] enable_internet_security: Enable internet security. + :param pulumi.Input[str] name: The name of the resource. + :param pulumi.Input['RoutingConfigurationArgs'] routing_configuration: The Routing Configuration indicating the associated and propagated route tables on this connection. + :param pulumi.Input[float] tunnel_identifier: Unique identifier for the connection. + """ + if asn is not None: + pulumi.set(__self__, "asn", asn) + if bgp_peer_address is not None: + pulumi.set(__self__, "bgp_peer_address", bgp_peer_address) + if enable_internet_security is not None: + pulumi.set(__self__, "enable_internet_security", enable_internet_security) + if name is not None: + pulumi.set(__self__, "name", name) + if routing_configuration is not None: + pulumi.set(__self__, "routing_configuration", routing_configuration) + if tunnel_identifier is not None: + pulumi.set(__self__, "tunnel_identifier", tunnel_identifier) + + @property + @pulumi.getter + def asn(self) -> Optional[pulumi.Input[float]]: + """ + Network Virtual Appliance ASN. + """ + return pulumi.get(self, "asn") + + @asn.setter + def asn(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "asn", value) + + @property + @pulumi.getter(name="bgpPeerAddress") + def bgp_peer_address(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of bgpPeerAddresses for the NVA instances + """ + return pulumi.get(self, "bgp_peer_address") + + @bgp_peer_address.setter + def bgp_peer_address(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "bgp_peer_address", value) + + @property + @pulumi.getter(name="enableInternetSecurity") + def enable_internet_security(self) -> Optional[pulumi.Input[bool]]: + """ + Enable internet security. + """ + return pulumi.get(self, "enable_internet_security") + + @enable_internet_security.setter + def enable_internet_security(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_internet_security", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the resource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="routingConfiguration") + def routing_configuration(self) -> Optional[pulumi.Input['RoutingConfigurationArgs']]: + """ + The Routing Configuration indicating the associated and propagated route tables on this connection. + """ + return pulumi.get(self, "routing_configuration") + + @routing_configuration.setter + def routing_configuration(self, value: Optional[pulumi.Input['RoutingConfigurationArgs']]): + pulumi.set(self, "routing_configuration", value) + + @property + @pulumi.getter(name="tunnelIdentifier") + def tunnel_identifier(self) -> Optional[pulumi.Input[float]]: + """ + Unique identifier for the connection. + """ + return pulumi.get(self, "tunnel_identifier") + + @tunnel_identifier.setter + def tunnel_identifier(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "tunnel_identifier", value) + + @pulumi.input_type class O365BreakOutCategoryPoliciesArgs: def __init__(__self__, *, @@ -19733,6 +19839,222 @@ def priority(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "priority", value) +@pulumi.input_type +class VpnServerConfigurationPropertiesArgs: + def __init__(__self__, *, + aad_authentication_parameters: Optional[pulumi.Input['AadAuthenticationParametersArgs']] = None, + configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]] = None, + radius_server_address: Optional[pulumi.Input[str]] = None, + radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]] = None, + radius_server_secret: Optional[pulumi.Input[str]] = None, + radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]] = None, + vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, + vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, + vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, + vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]] = None, + vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None): + """ + Parameters for VpnServerConfiguration. + :param pulumi.Input['AadAuthenticationParametersArgs'] aad_authentication_parameters: The set of aad vpn authentication parameters. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. + :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. + :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. + :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. + :param pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. + :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. + """ + if aad_authentication_parameters is not None: + pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) + if configuration_policy_groups is not None: + pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + if name is not None: + pulumi.set(__self__, "name", name) + if radius_client_root_certificates is not None: + pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_root_certificates is not None: + pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if radius_servers is not None: + pulumi.set(__self__, "radius_servers", radius_servers) + if vpn_authentication_types is not None: + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) + if vpn_client_root_certificates is not None: + pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter(name="aadAuthenticationParameters") + def aad_authentication_parameters(self) -> Optional[pulumi.Input['AadAuthenticationParametersArgs']]: + """ + The set of aad vpn authentication parameters. + """ + return pulumi.get(self, "aad_authentication_parameters") + + @aad_authentication_parameters.setter + def aad_authentication_parameters(self, value: Optional[pulumi.Input['AadAuthenticationParametersArgs']]): + pulumi.set(self, "aad_authentication_parameters", value) + + @property + @pulumi.getter(name="configurationPolicyGroups") + def configuration_policy_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]: + """ + List of all VpnServerConfigurationPolicyGroups. + """ + return pulumi.get(self, "configuration_policy_groups") + + @configuration_policy_groups.setter + def configuration_policy_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]): + pulumi.set(self, "configuration_policy_groups", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the VpnServerConfiguration that is unique within a resource group. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="radiusClientRootCertificates") + def radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]: + """ + Radius client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_client_root_certificates") + + @radius_client_root_certificates.setter + def radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]): + pulumi.set(self, "radius_client_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[pulumi.Input[str]]: + """ + The radius server address property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @radius_server_address.setter + def radius_server_address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_address", value) + + @property + @pulumi.getter(name="radiusServerRootCertificates") + def radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]: + """ + Radius Server root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_server_root_certificates") + + @radius_server_root_certificates.setter + def radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]): + pulumi.set(self, "radius_server_root_certificates", value) + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[pulumi.Input[str]]: + """ + The radius secret property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @radius_server_secret.setter + def radius_server_secret(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "radius_server_secret", value) + + @property + @pulumi.getter(name="radiusServers") + def radius_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]: + """ + Multiple Radius Server configuration for VpnServerConfiguration. + """ + return pulumi.get(self, "radius_servers") + + @radius_servers.setter + def radius_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]): + pulumi.set(self, "radius_servers", value) + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]: + """ + VPN authentication types for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @vpn_authentication_types.setter + def vpn_authentication_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]): + pulumi.set(self, "vpn_authentication_types", value) + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: + """ + VpnClientIpsecPolicies for VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @vpn_client_ipsec_policies.setter + def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): + pulumi.set(self, "vpn_client_ipsec_policies", value) + + @property + @pulumi.getter(name="vpnClientRevokedCertificates") + def vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]: + """ + VPN client revoked certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_revoked_certificates") + + @vpn_client_revoked_certificates.setter + def vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]): + pulumi.set(self, "vpn_client_revoked_certificates", value) + + @property + @pulumi.getter(name="vpnClientRootCertificates") + def vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]: + """ + VPN client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_root_certificates") + + @vpn_client_root_certificates.setter + def vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]): + pulumi.set(self, "vpn_client_root_certificates", value) + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: + """ + VPN protocols for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @vpn_protocols.setter + def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): + pulumi.set(self, "vpn_protocols", value) + + @pulumi.input_type class VpnSiteLinkConnectionArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/network/v20230901/get_network_virtual_appliance_connection.py b/sdk/python/pulumi_azure_native/network/v20230901/get_network_virtual_appliance_connection.py index d16481e0d843..c07dd4111e3a 100644 --- a/sdk/python/pulumi_azure_native/network/v20230901/get_network_virtual_appliance_connection.py +++ b/sdk/python/pulumi_azure_native/network/v20230901/get_network_virtual_appliance_connection.py @@ -22,55 +22,16 @@ class GetNetworkVirtualApplianceConnectionResult: """ NetworkVirtualApplianceConnection resource. """ - def __init__(__self__, asn=None, bgp_peer_address=None, enable_internet_security=None, id=None, name=None, provisioning_state=None, routing_configuration=None, tunnel_identifier=None): - if asn and not isinstance(asn, float): - raise TypeError("Expected argument 'asn' to be a float") - pulumi.set(__self__, "asn", asn) - if bgp_peer_address and not isinstance(bgp_peer_address, list): - raise TypeError("Expected argument 'bgp_peer_address' to be a list") - pulumi.set(__self__, "bgp_peer_address", bgp_peer_address) - if enable_internet_security and not isinstance(enable_internet_security, bool): - raise TypeError("Expected argument 'enable_internet_security' to be a bool") - pulumi.set(__self__, "enable_internet_security", enable_internet_security) + def __init__(__self__, id=None, name=None, properties=None): if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if routing_configuration and not isinstance(routing_configuration, dict): - raise TypeError("Expected argument 'routing_configuration' to be a dict") - pulumi.set(__self__, "routing_configuration", routing_configuration) - if tunnel_identifier and not isinstance(tunnel_identifier, float): - raise TypeError("Expected argument 'tunnel_identifier' to be a float") - pulumi.set(__self__, "tunnel_identifier", tunnel_identifier) - - @property - @pulumi.getter - def asn(self) -> Optional[float]: - """ - Network Virtual Appliance ASN. - """ - return pulumi.get(self, "asn") - - @property - @pulumi.getter(name="bgpPeerAddress") - def bgp_peer_address(self) -> Optional[Sequence[str]]: - """ - List of bgpPeerAddresses for the NVA instances - """ - return pulumi.get(self, "bgp_peer_address") - - @property - @pulumi.getter(name="enableInternetSecurity") - def enable_internet_security(self) -> Optional[bool]: - """ - Enable internet security. - """ - return pulumi.get(self, "enable_internet_security") + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) @property @pulumi.getter @@ -89,28 +50,12 @@ def name(self) -> Optional[str]: return pulumi.get(self, "name") @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state of the NetworkVirtualApplianceConnection resource. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="routingConfiguration") - def routing_configuration(self) -> Optional['outputs.RoutingConfigurationResponse']: - """ - The Routing Configuration indicating the associated and propagated route tables on this connection. - """ - return pulumi.get(self, "routing_configuration") - - @property - @pulumi.getter(name="tunnelIdentifier") - def tunnel_identifier(self) -> Optional[float]: + @pulumi.getter + def properties(self) -> 'outputs.NetworkVirtualApplianceConnectionPropertiesResponse': """ - Unique identifier for the connection. + Properties of the express route connection. """ - return pulumi.get(self, "tunnel_identifier") + return pulumi.get(self, "properties") class AwaitableGetNetworkVirtualApplianceConnectionResult(GetNetworkVirtualApplianceConnectionResult): @@ -119,14 +64,9 @@ def __await__(self): if False: yield self return GetNetworkVirtualApplianceConnectionResult( - asn=self.asn, - bgp_peer_address=self.bgp_peer_address, - enable_internet_security=self.enable_internet_security, id=self.id, name=self.name, - provisioning_state=self.provisioning_state, - routing_configuration=self.routing_configuration, - tunnel_identifier=self.tunnel_identifier) + properties=self.properties) def get_network_virtual_appliance_connection(connection_name: Optional[str] = None, @@ -149,14 +89,9 @@ def get_network_virtual_appliance_connection(connection_name: Optional[str] = No __ret__ = pulumi.runtime.invoke('azure-native:network/v20230901:getNetworkVirtualApplianceConnection', __args__, opts=opts, typ=GetNetworkVirtualApplianceConnectionResult).value return AwaitableGetNetworkVirtualApplianceConnectionResult( - asn=pulumi.get(__ret__, 'asn'), - bgp_peer_address=pulumi.get(__ret__, 'bgp_peer_address'), - enable_internet_security=pulumi.get(__ret__, 'enable_internet_security'), id=pulumi.get(__ret__, 'id'), name=pulumi.get(__ret__, 'name'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), - routing_configuration=pulumi.get(__ret__, 'routing_configuration'), - tunnel_identifier=pulumi.get(__ret__, 'tunnel_identifier')) + properties=pulumi.get(__ret__, 'properties')) @_utilities.lift_output_func(get_network_virtual_appliance_connection) diff --git a/sdk/python/pulumi_azure_native/network/v20230901/get_vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/v20230901/get_vpn_server_configuration.py index c8ecb65886f4..3991873be57c 100644 --- a/sdk/python/pulumi_azure_native/network/v20230901/get_vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/v20230901/get_vpn_server_configuration.py @@ -22,13 +22,7 @@ class GetVpnServerConfigurationResult: """ VpnServerConfiguration Resource. """ - def __init__(__self__, aad_authentication_parameters=None, configuration_policy_groups=None, etag=None, id=None, location=None, name=None, p2_s_vpn_gateways=None, provisioning_state=None, radius_client_root_certificates=None, radius_server_address=None, radius_server_root_certificates=None, radius_server_secret=None, radius_servers=None, tags=None, type=None, vpn_authentication_types=None, vpn_client_ipsec_policies=None, vpn_client_revoked_certificates=None, vpn_client_root_certificates=None, vpn_protocols=None): - if aad_authentication_parameters and not isinstance(aad_authentication_parameters, dict): - raise TypeError("Expected argument 'aad_authentication_parameters' to be a dict") - pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) - if configuration_policy_groups and not isinstance(configuration_policy_groups, list): - raise TypeError("Expected argument 'configuration_policy_groups' to be a list") - pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + def __init__(__self__, etag=None, id=None, location=None, name=None, properties=None, tags=None, type=None): if etag and not isinstance(etag, str): raise TypeError("Expected argument 'etag' to be a str") pulumi.set(__self__, "etag", etag) @@ -41,64 +35,15 @@ def __init__(__self__, aad_authentication_parameters=None, configuration_policy_ if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if p2_s_vpn_gateways and not isinstance(p2_s_vpn_gateways, list): - raise TypeError("Expected argument 'p2_s_vpn_gateways' to be a list") - pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if radius_client_root_certificates and not isinstance(radius_client_root_certificates, list): - raise TypeError("Expected argument 'radius_client_root_certificates' to be a list") - pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) - if radius_server_address and not isinstance(radius_server_address, str): - raise TypeError("Expected argument 'radius_server_address' to be a str") - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_root_certificates and not isinstance(radius_server_root_certificates, list): - raise TypeError("Expected argument 'radius_server_root_certificates' to be a list") - pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) - if radius_server_secret and not isinstance(radius_server_secret, str): - raise TypeError("Expected argument 'radius_server_secret' to be a str") - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if radius_servers and not isinstance(radius_servers, list): - raise TypeError("Expected argument 'radius_servers' to be a list") - pulumi.set(__self__, "radius_servers", radius_servers) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) 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 vpn_authentication_types and not isinstance(vpn_authentication_types, list): - raise TypeError("Expected argument 'vpn_authentication_types' to be a list") - pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) - if vpn_client_ipsec_policies and not isinstance(vpn_client_ipsec_policies, list): - raise TypeError("Expected argument 'vpn_client_ipsec_policies' to be a list") - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_client_revoked_certificates and not isinstance(vpn_client_revoked_certificates, list): - raise TypeError("Expected argument 'vpn_client_revoked_certificates' to be a list") - pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) - if vpn_client_root_certificates and not isinstance(vpn_client_root_certificates, list): - raise TypeError("Expected argument 'vpn_client_root_certificates' to be a list") - pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) - if vpn_protocols and not isinstance(vpn_protocols, list): - raise TypeError("Expected argument 'vpn_protocols' to be a list") - pulumi.set(__self__, "vpn_protocols", vpn_protocols) - - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> Optional['outputs.AadAuthenticationParametersResponse']: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]: - """ - List of all VpnServerConfigurationPolicyGroups. - """ - return pulumi.get(self, "configuration_policy_groups") @property @pulumi.getter @@ -133,60 +78,12 @@ def name(self) -> str: return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> Sequence['outputs.P2SVpnGatewayResponse']: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[str]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[str]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> Optional[Sequence['outputs.RadiusServerResponse']]: + @pulumi.getter + def properties(self) -> 'outputs.VpnServerConfigurationPropertiesResponse': """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -204,46 +101,6 @@ def type(self) -> str: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> Optional[Sequence[str]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[Sequence[str]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - class AwaitableGetVpnServerConfigurationResult(GetVpnServerConfigurationResult): # pylint: disable=using-constant-test @@ -251,26 +108,13 @@ def __await__(self): if False: yield self return GetVpnServerConfigurationResult( - aad_authentication_parameters=self.aad_authentication_parameters, - configuration_policy_groups=self.configuration_policy_groups, etag=self.etag, id=self.id, location=self.location, name=self.name, - p2_s_vpn_gateways=self.p2_s_vpn_gateways, - provisioning_state=self.provisioning_state, - radius_client_root_certificates=self.radius_client_root_certificates, - radius_server_address=self.radius_server_address, - radius_server_root_certificates=self.radius_server_root_certificates, - radius_server_secret=self.radius_server_secret, - radius_servers=self.radius_servers, + properties=self.properties, tags=self.tags, - type=self.type, - vpn_authentication_types=self.vpn_authentication_types, - vpn_client_ipsec_policies=self.vpn_client_ipsec_policies, - vpn_client_revoked_certificates=self.vpn_client_revoked_certificates, - vpn_client_root_certificates=self.vpn_client_root_certificates, - vpn_protocols=self.vpn_protocols) + type=self.type) def get_vpn_server_configuration(resource_group_name: Optional[str] = None, @@ -290,26 +134,13 @@ def get_vpn_server_configuration(resource_group_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:network/v20230901:getVpnServerConfiguration', __args__, opts=opts, typ=GetVpnServerConfigurationResult).value return AwaitableGetVpnServerConfigurationResult( - aad_authentication_parameters=pulumi.get(__ret__, 'aad_authentication_parameters'), - configuration_policy_groups=pulumi.get(__ret__, 'configuration_policy_groups'), etag=pulumi.get(__ret__, 'etag'), id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), - p2_s_vpn_gateways=pulumi.get(__ret__, 'p2_s_vpn_gateways'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), - radius_client_root_certificates=pulumi.get(__ret__, 'radius_client_root_certificates'), - radius_server_address=pulumi.get(__ret__, 'radius_server_address'), - radius_server_root_certificates=pulumi.get(__ret__, 'radius_server_root_certificates'), - radius_server_secret=pulumi.get(__ret__, 'radius_server_secret'), - radius_servers=pulumi.get(__ret__, 'radius_servers'), + properties=pulumi.get(__ret__, 'properties'), tags=pulumi.get(__ret__, 'tags'), - type=pulumi.get(__ret__, 'type'), - vpn_authentication_types=pulumi.get(__ret__, 'vpn_authentication_types'), - vpn_client_ipsec_policies=pulumi.get(__ret__, 'vpn_client_ipsec_policies'), - vpn_client_revoked_certificates=pulumi.get(__ret__, 'vpn_client_revoked_certificates'), - vpn_client_root_certificates=pulumi.get(__ret__, 'vpn_client_root_certificates'), - vpn_protocols=pulumi.get(__ret__, 'vpn_protocols')) + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_vpn_server_configuration) diff --git a/sdk/python/pulumi_azure_native/network/v20230901/network_virtual_appliance_connection.py b/sdk/python/pulumi_azure_native/network/v20230901/network_virtual_appliance_connection.py index 0c6ca4ac8966..5ddb9f103e89 100644 --- a/sdk/python/pulumi_azure_native/network/v20230901/network_virtual_appliance_connection.py +++ b/sdk/python/pulumi_azure_native/network/v20230901/network_virtual_appliance_connection.py @@ -19,45 +19,29 @@ class NetworkVirtualApplianceConnectionArgs: def __init__(__self__, *, network_virtual_appliance_name: pulumi.Input[str], resource_group_name: pulumi.Input[str], - asn: Optional[pulumi.Input[float]] = None, - bgp_peer_address: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, connection_name: Optional[pulumi.Input[str]] = None, - enable_internet_security: Optional[pulumi.Input[bool]] = None, id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - routing_configuration: Optional[pulumi.Input['RoutingConfigurationArgs']] = None, - tunnel_identifier: Optional[pulumi.Input[float]] = None): + properties: Optional[pulumi.Input['NetworkVirtualApplianceConnectionPropertiesArgs']] = None): """ The set of arguments for constructing a NetworkVirtualApplianceConnection resource. :param pulumi.Input[str] network_virtual_appliance_name: The name of the Network Virtual Appliance. :param pulumi.Input[str] resource_group_name: The name of the resource group. - :param pulumi.Input[float] asn: Network Virtual Appliance ASN. - :param pulumi.Input[Sequence[pulumi.Input[str]]] bgp_peer_address: List of bgpPeerAddresses for the NVA instances :param pulumi.Input[str] connection_name: The name of the NVA connection. - :param pulumi.Input[bool] enable_internet_security: Enable internet security. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] name: The name of the resource. - :param pulumi.Input['RoutingConfigurationArgs'] routing_configuration: The Routing Configuration indicating the associated and propagated route tables on this connection. - :param pulumi.Input[float] tunnel_identifier: Unique identifier for the connection. + :param pulumi.Input['NetworkVirtualApplianceConnectionPropertiesArgs'] properties: Properties of the express route connection. """ pulumi.set(__self__, "network_virtual_appliance_name", network_virtual_appliance_name) pulumi.set(__self__, "resource_group_name", resource_group_name) - if asn is not None: - pulumi.set(__self__, "asn", asn) - if bgp_peer_address is not None: - pulumi.set(__self__, "bgp_peer_address", bgp_peer_address) if connection_name is not None: pulumi.set(__self__, "connection_name", connection_name) - if enable_internet_security is not None: - pulumi.set(__self__, "enable_internet_security", enable_internet_security) if id is not None: pulumi.set(__self__, "id", id) if name is not None: pulumi.set(__self__, "name", name) - if routing_configuration is not None: - pulumi.set(__self__, "routing_configuration", routing_configuration) - if tunnel_identifier is not None: - pulumi.set(__self__, "tunnel_identifier", tunnel_identifier) + if properties is not None: + pulumi.set(__self__, "properties", properties) @property @pulumi.getter(name="networkVirtualApplianceName") @@ -83,30 +67,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter - def asn(self) -> Optional[pulumi.Input[float]]: - """ - Network Virtual Appliance ASN. - """ - return pulumi.get(self, "asn") - - @asn.setter - def asn(self, value: Optional[pulumi.Input[float]]): - pulumi.set(self, "asn", value) - - @property - @pulumi.getter(name="bgpPeerAddress") - def bgp_peer_address(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - """ - List of bgpPeerAddresses for the NVA instances - """ - return pulumi.get(self, "bgp_peer_address") - - @bgp_peer_address.setter - def bgp_peer_address(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "bgp_peer_address", value) - @property @pulumi.getter(name="connectionName") def connection_name(self) -> Optional[pulumi.Input[str]]: @@ -119,18 +79,6 @@ def connection_name(self) -> Optional[pulumi.Input[str]]: def connection_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "connection_name", value) - @property - @pulumi.getter(name="enableInternetSecurity") - def enable_internet_security(self) -> Optional[pulumi.Input[bool]]: - """ - Enable internet security. - """ - return pulumi.get(self, "enable_internet_security") - - @enable_internet_security.setter - def enable_internet_security(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "enable_internet_security", value) - @property @pulumi.getter def id(self) -> Optional[pulumi.Input[str]]: @@ -156,28 +104,16 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) @property - @pulumi.getter(name="routingConfiguration") - def routing_configuration(self) -> Optional[pulumi.Input['RoutingConfigurationArgs']]: - """ - The Routing Configuration indicating the associated and propagated route tables on this connection. - """ - return pulumi.get(self, "routing_configuration") - - @routing_configuration.setter - def routing_configuration(self, value: Optional[pulumi.Input['RoutingConfigurationArgs']]): - pulumi.set(self, "routing_configuration", value) - - @property - @pulumi.getter(name="tunnelIdentifier") - def tunnel_identifier(self) -> Optional[pulumi.Input[float]]: + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['NetworkVirtualApplianceConnectionPropertiesArgs']]: """ - Unique identifier for the connection. + Properties of the express route connection. """ - return pulumi.get(self, "tunnel_identifier") + return pulumi.get(self, "properties") - @tunnel_identifier.setter - def tunnel_identifier(self, value: Optional[pulumi.Input[float]]): - pulumi.set(self, "tunnel_identifier", value) + @properties.setter + def properties(self, value: Optional[pulumi.Input['NetworkVirtualApplianceConnectionPropertiesArgs']]): + pulumi.set(self, "properties", value) class NetworkVirtualApplianceConnection(pulumi.CustomResource): @@ -185,32 +121,24 @@ class NetworkVirtualApplianceConnection(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - asn: Optional[pulumi.Input[float]] = None, - bgp_peer_address: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, connection_name: Optional[pulumi.Input[str]] = None, - enable_internet_security: Optional[pulumi.Input[bool]] = None, id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_virtual_appliance_name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['NetworkVirtualApplianceConnectionPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, - routing_configuration: Optional[pulumi.Input[pulumi.InputType['RoutingConfigurationArgs']]] = None, - tunnel_identifier: Optional[pulumi.Input[float]] = None, __props__=None): """ NetworkVirtualApplianceConnection resource. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[float] asn: Network Virtual Appliance ASN. - :param pulumi.Input[Sequence[pulumi.Input[str]]] bgp_peer_address: List of bgpPeerAddresses for the NVA instances :param pulumi.Input[str] connection_name: The name of the NVA connection. - :param pulumi.Input[bool] enable_internet_security: Enable internet security. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] name: The name of the resource. :param pulumi.Input[str] network_virtual_appliance_name: The name of the Network Virtual Appliance. + :param pulumi.Input[pulumi.InputType['NetworkVirtualApplianceConnectionPropertiesArgs']] properties: Properties of the express route connection. :param pulumi.Input[str] resource_group_name: The name of the resource group. - :param pulumi.Input[pulumi.InputType['RoutingConfigurationArgs']] routing_configuration: The Routing Configuration indicating the associated and propagated route tables on this connection. - :param pulumi.Input[float] tunnel_identifier: Unique identifier for the connection. """ ... @overload @@ -236,16 +164,12 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - asn: Optional[pulumi.Input[float]] = None, - bgp_peer_address: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, connection_name: Optional[pulumi.Input[str]] = None, - enable_internet_security: Optional[pulumi.Input[bool]] = None, id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, network_virtual_appliance_name: Optional[pulumi.Input[str]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['NetworkVirtualApplianceConnectionPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, - routing_configuration: Optional[pulumi.Input[pulumi.InputType['RoutingConfigurationArgs']]] = None, - tunnel_identifier: Optional[pulumi.Input[float]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -255,21 +179,16 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = NetworkVirtualApplianceConnectionArgs.__new__(NetworkVirtualApplianceConnectionArgs) - __props__.__dict__["asn"] = asn - __props__.__dict__["bgp_peer_address"] = bgp_peer_address __props__.__dict__["connection_name"] = connection_name - __props__.__dict__["enable_internet_security"] = enable_internet_security __props__.__dict__["id"] = id __props__.__dict__["name"] = name if network_virtual_appliance_name is None and not opts.urn: raise TypeError("Missing required property 'network_virtual_appliance_name'") __props__.__dict__["network_virtual_appliance_name"] = network_virtual_appliance_name + __props__.__dict__["properties"] = properties if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name - __props__.__dict__["routing_configuration"] = routing_configuration - __props__.__dict__["tunnel_identifier"] = tunnel_identifier - __props__.__dict__["provisioning_state"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:network/v20230601:NetworkVirtualApplianceConnection")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(NetworkVirtualApplianceConnection, __self__).__init__( @@ -294,39 +213,10 @@ def get(resource_name: str, __props__ = NetworkVirtualApplianceConnectionArgs.__new__(NetworkVirtualApplianceConnectionArgs) - __props__.__dict__["asn"] = None - __props__.__dict__["bgp_peer_address"] = None - __props__.__dict__["enable_internet_security"] = None __props__.__dict__["name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["routing_configuration"] = None - __props__.__dict__["tunnel_identifier"] = None + __props__.__dict__["properties"] = None return NetworkVirtualApplianceConnection(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter - def asn(self) -> pulumi.Output[Optional[float]]: - """ - Network Virtual Appliance ASN. - """ - return pulumi.get(self, "asn") - - @property - @pulumi.getter(name="bgpPeerAddress") - def bgp_peer_address(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - List of bgpPeerAddresses for the NVA instances - """ - return pulumi.get(self, "bgp_peer_address") - - @property - @pulumi.getter(name="enableInternetSecurity") - def enable_internet_security(self) -> pulumi.Output[Optional[bool]]: - """ - Enable internet security. - """ - return pulumi.get(self, "enable_internet_security") - @property @pulumi.getter def name(self) -> pulumi.Output[Optional[str]]: @@ -336,26 +226,10 @@ def name(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "name") @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state of the NetworkVirtualApplianceConnection resource. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="routingConfiguration") - def routing_configuration(self) -> pulumi.Output[Optional['outputs.RoutingConfigurationResponse']]: - """ - The Routing Configuration indicating the associated and propagated route tables on this connection. - """ - return pulumi.get(self, "routing_configuration") - - @property - @pulumi.getter(name="tunnelIdentifier") - def tunnel_identifier(self) -> pulumi.Output[Optional[float]]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.NetworkVirtualApplianceConnectionPropertiesResponse']: """ - Unique identifier for the connection. + Properties of the express route connection. """ - return pulumi.get(self, "tunnel_identifier") + return pulumi.get(self, "properties") diff --git a/sdk/python/pulumi_azure_native/network/v20230901/outputs.py b/sdk/python/pulumi_azure_native/network/v20230901/outputs.py index bf219f16f969..5f2ede8f2a13 100644 --- a/sdk/python/pulumi_azure_native/network/v20230901/outputs.py +++ b/sdk/python/pulumi_azure_native/network/v20230901/outputs.py @@ -208,6 +208,7 @@ 'NetworkManagerSecurityGroupItemResponse', 'NetworkRuleResponse', 'NetworkSecurityGroupResponse', + 'NetworkVirtualApplianceConnectionPropertiesResponse', 'O365BreakOutCategoryPoliciesResponse', 'O365PolicyPropertiesResponse', 'Office365PolicyPropertiesResponse', @@ -310,6 +311,7 @@ 'VpnServerConfigVpnClientRootCertificateResponse', 'VpnServerConfigurationPolicyGroupMemberResponse', 'VpnServerConfigurationPolicyGroupResponse', + 'VpnServerConfigurationPropertiesResponse', 'VpnSiteLinkConnectionResponse', 'VpnSiteLinkResponse', 'WebApplicationFirewallCustomRuleResponse', @@ -19345,6 +19347,125 @@ def tags(self) -> Optional[Mapping[str, str]]: return pulumi.get(self, "tags") +@pulumi.output_type +class NetworkVirtualApplianceConnectionPropertiesResponse(dict): + """ + Properties of the NetworkVirtualApplianceConnection subresource. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "provisioningState": + suggest = "provisioning_state" + elif key == "bgpPeerAddress": + suggest = "bgp_peer_address" + elif key == "enableInternetSecurity": + suggest = "enable_internet_security" + elif key == "routingConfiguration": + suggest = "routing_configuration" + elif key == "tunnelIdentifier": + suggest = "tunnel_identifier" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NetworkVirtualApplianceConnectionPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NetworkVirtualApplianceConnectionPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NetworkVirtualApplianceConnectionPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + provisioning_state: str, + asn: Optional[float] = None, + bgp_peer_address: Optional[Sequence[str]] = None, + enable_internet_security: Optional[bool] = None, + name: Optional[str] = None, + routing_configuration: Optional['outputs.RoutingConfigurationResponse'] = None, + tunnel_identifier: Optional[float] = None): + """ + Properties of the NetworkVirtualApplianceConnection subresource. + :param str provisioning_state: The provisioning state of the NetworkVirtualApplianceConnection resource. + :param float asn: Network Virtual Appliance ASN. + :param Sequence[str] bgp_peer_address: List of bgpPeerAddresses for the NVA instances + :param bool enable_internet_security: Enable internet security. + :param str name: The name of the resource. + :param 'RoutingConfigurationResponse' routing_configuration: The Routing Configuration indicating the associated and propagated route tables on this connection. + :param float tunnel_identifier: Unique identifier for the connection. + """ + pulumi.set(__self__, "provisioning_state", provisioning_state) + if asn is not None: + pulumi.set(__self__, "asn", asn) + if bgp_peer_address is not None: + pulumi.set(__self__, "bgp_peer_address", bgp_peer_address) + if enable_internet_security is not None: + pulumi.set(__self__, "enable_internet_security", enable_internet_security) + if name is not None: + pulumi.set(__self__, "name", name) + if routing_configuration is not None: + pulumi.set(__self__, "routing_configuration", routing_configuration) + if tunnel_identifier is not None: + pulumi.set(__self__, "tunnel_identifier", tunnel_identifier) + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the NetworkVirtualApplianceConnection resource. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter + def asn(self) -> Optional[float]: + """ + Network Virtual Appliance ASN. + """ + return pulumi.get(self, "asn") + + @property + @pulumi.getter(name="bgpPeerAddress") + def bgp_peer_address(self) -> Optional[Sequence[str]]: + """ + List of bgpPeerAddresses for the NVA instances + """ + return pulumi.get(self, "bgp_peer_address") + + @property + @pulumi.getter(name="enableInternetSecurity") + def enable_internet_security(self) -> Optional[bool]: + """ + Enable internet security. + """ + return pulumi.get(self, "enable_internet_security") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the resource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="routingConfiguration") + def routing_configuration(self) -> Optional['outputs.RoutingConfigurationResponse']: + """ + The Routing Configuration indicating the associated and propagated route tables on this connection. + """ + return pulumi.get(self, "routing_configuration") + + @property + @pulumi.getter(name="tunnelIdentifier") + def tunnel_identifier(self) -> Optional[float]: + """ + Unique identifier for the connection. + """ + return pulumi.get(self, "tunnel_identifier") + + @pulumi.output_type class O365BreakOutCategoryPoliciesResponse(dict): """ @@ -29685,6 +29806,249 @@ def priority(self) -> Optional[int]: return pulumi.get(self, "priority") +@pulumi.output_type +class VpnServerConfigurationPropertiesResponse(dict): + """ + Parameters for VpnServerConfiguration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "p2SVpnGateways": + suggest = "p2_s_vpn_gateways" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "aadAuthenticationParameters": + suggest = "aad_authentication_parameters" + elif key == "configurationPolicyGroups": + suggest = "configuration_policy_groups" + elif key == "radiusClientRootCertificates": + suggest = "radius_client_root_certificates" + elif key == "radiusServerAddress": + suggest = "radius_server_address" + elif key == "radiusServerRootCertificates": + suggest = "radius_server_root_certificates" + elif key == "radiusServerSecret": + suggest = "radius_server_secret" + elif key == "radiusServers": + suggest = "radius_servers" + elif key == "vpnAuthenticationTypes": + suggest = "vpn_authentication_types" + elif key == "vpnClientIpsecPolicies": + suggest = "vpn_client_ipsec_policies" + elif key == "vpnClientRevokedCertificates": + suggest = "vpn_client_revoked_certificates" + elif key == "vpnClientRootCertificates": + suggest = "vpn_client_root_certificates" + elif key == "vpnProtocols": + suggest = "vpn_protocols" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnServerConfigurationPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnServerConfigurationPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + etag: str, + p2_s_vpn_gateways: Sequence['outputs.P2SVpnGatewayResponse'], + provisioning_state: str, + aad_authentication_parameters: Optional['outputs.AadAuthenticationParametersResponse'] = None, + configuration_policy_groups: Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']] = None, + name: Optional[str] = None, + radius_client_root_certificates: Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']] = None, + radius_server_address: Optional[str] = None, + radius_server_root_certificates: Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']] = None, + radius_server_secret: Optional[str] = None, + radius_servers: Optional[Sequence['outputs.RadiusServerResponse']] = None, + vpn_authentication_types: Optional[Sequence[str]] = None, + vpn_client_ipsec_policies: Optional[Sequence['outputs.IpsecPolicyResponse']] = None, + vpn_client_revoked_certificates: Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']] = None, + vpn_client_root_certificates: Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']] = None, + vpn_protocols: Optional[Sequence[str]] = None): + """ + Parameters for VpnServerConfiguration. + :param str etag: A unique read-only string that changes whenever the resource is updated. + :param Sequence['P2SVpnGatewayResponse'] p2_s_vpn_gateways: List of references to P2SVpnGateways. + :param str provisioning_state: The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :param 'AadAuthenticationParametersResponse' aad_authentication_parameters: The set of aad vpn authentication parameters. + :param Sequence['VpnServerConfigurationPolicyGroupResponse'] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. + :param str name: The name of the VpnServerConfiguration that is unique within a resource group. + :param Sequence['VpnServerConfigRadiusClientRootCertificateResponse'] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. + :param str radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. + :param Sequence['VpnServerConfigRadiusServerRootCertificateResponse'] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. + :param str radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. + :param Sequence['RadiusServerResponse'] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param Sequence[str] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. + :param Sequence['IpsecPolicyResponse'] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. + :param Sequence['VpnServerConfigVpnClientRevokedCertificateResponse'] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. + :param Sequence['VpnServerConfigVpnClientRootCertificateResponse'] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. + :param Sequence[str] vpn_protocols: VPN protocols for the VpnServerConfiguration. + """ + pulumi.set(__self__, "etag", etag) + pulumi.set(__self__, "p2_s_vpn_gateways", p2_s_vpn_gateways) + pulumi.set(__self__, "provisioning_state", provisioning_state) + if aad_authentication_parameters is not None: + pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) + if configuration_policy_groups is not None: + pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) + if name is not None: + pulumi.set(__self__, "name", name) + if radius_client_root_certificates is not None: + pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) + if radius_server_address is not None: + pulumi.set(__self__, "radius_server_address", radius_server_address) + if radius_server_root_certificates is not None: + pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) + if radius_server_secret is not None: + pulumi.set(__self__, "radius_server_secret", radius_server_secret) + if radius_servers is not None: + pulumi.set(__self__, "radius_servers", radius_servers) + if vpn_authentication_types is not None: + pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) + if vpn_client_ipsec_policies is not None: + pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) + if vpn_client_revoked_certificates is not None: + pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) + if vpn_client_root_certificates is not None: + pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) + if vpn_protocols is not None: + pulumi.set(__self__, "vpn_protocols", vpn_protocols) + + @property + @pulumi.getter + def etag(self) -> str: + """ + A unique read-only string that changes whenever the resource is updated. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter(name="p2SVpnGateways") + def p2_s_vpn_gateways(self) -> Sequence['outputs.P2SVpnGatewayResponse']: + """ + List of references to P2SVpnGateways. + """ + return pulumi.get(self, "p2_s_vpn_gateways") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="aadAuthenticationParameters") + def aad_authentication_parameters(self) -> Optional['outputs.AadAuthenticationParametersResponse']: + """ + The set of aad vpn authentication parameters. + """ + return pulumi.get(self, "aad_authentication_parameters") + + @property + @pulumi.getter(name="configurationPolicyGroups") + def configuration_policy_groups(self) -> Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]: + """ + List of all VpnServerConfigurationPolicyGroups. + """ + return pulumi.get(self, "configuration_policy_groups") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the VpnServerConfiguration that is unique within a resource group. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="radiusClientRootCertificates") + def radius_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]: + """ + Radius client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_client_root_certificates") + + @property + @pulumi.getter(name="radiusServerAddress") + def radius_server_address(self) -> Optional[str]: + """ + The radius server address property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_address") + + @property + @pulumi.getter(name="radiusServerRootCertificates") + def radius_server_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]: + """ + Radius Server root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "radius_server_root_certificates") + + @property + @pulumi.getter(name="radiusServerSecret") + def radius_server_secret(self) -> Optional[str]: + """ + The radius secret property of the VpnServerConfiguration resource for point to site client connection. + """ + return pulumi.get(self, "radius_server_secret") + + @property + @pulumi.getter(name="radiusServers") + def radius_servers(self) -> Optional[Sequence['outputs.RadiusServerResponse']]: + """ + Multiple Radius Server configuration for VpnServerConfiguration. + """ + return pulumi.get(self, "radius_servers") + + @property + @pulumi.getter(name="vpnAuthenticationTypes") + def vpn_authentication_types(self) -> Optional[Sequence[str]]: + """ + VPN authentication types for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_authentication_types") + + @property + @pulumi.getter(name="vpnClientIpsecPolicies") + def vpn_client_ipsec_policies(self) -> Optional[Sequence['outputs.IpsecPolicyResponse']]: + """ + VpnClientIpsecPolicies for VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_ipsec_policies") + + @property + @pulumi.getter(name="vpnClientRevokedCertificates") + def vpn_client_revoked_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]: + """ + VPN client revoked certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_revoked_certificates") + + @property + @pulumi.getter(name="vpnClientRootCertificates") + def vpn_client_root_certificates(self) -> Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]: + """ + VPN client root certificate of VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_client_root_certificates") + + @property + @pulumi.getter(name="vpnProtocols") + def vpn_protocols(self) -> Optional[Sequence[str]]: + """ + VPN protocols for the VpnServerConfiguration. + """ + return pulumi.get(self, "vpn_protocols") + + @pulumi.output_type class VpnSiteLinkConnectionResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/network/v20230901/vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/v20230901/vpn_server_configuration.py index 2fb6448407e7..8164ac1ef04b 100644 --- a/sdk/python/pulumi_azure_native/network/v20230901/vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/v20230901/vpn_server_configuration.py @@ -18,78 +18,33 @@ class VpnServerConfigurationArgs: def __init__(__self__, *, resource_group_name: pulumi.Input[str], - aad_authentication_parameters: Optional[pulumi.Input['AadAuthenticationParametersArgs']] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]] = None, + properties: Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a VpnServerConfiguration resource. :param pulumi.Input[str] resource_group_name: The resource group name of the VpnServerConfiguration. - :param pulumi.Input['AadAuthenticationParametersArgs'] aad_authentication_parameters: The set of aad vpn authentication parameters. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] location: Resource location. - :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input['VpnServerConfigurationPropertiesArgs'] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. :param pulumi.Input[str] vpn_server_configuration_name: The name of the VpnServerConfiguration being created or updated. """ pulumi.set(__self__, "resource_group_name", resource_group_name) - if aad_authentication_parameters is not None: - pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) - if configuration_policy_groups is not None: - pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) if id is not None: pulumi.set(__self__, "id", id) if location is not None: pulumi.set(__self__, "location", location) if name is not None: pulumi.set(__self__, "name", name) - if radius_client_root_certificates is not None: - pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) - if radius_server_address is not None: - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_root_certificates is not None: - pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) - if radius_server_secret is not None: - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if radius_servers is not None: - pulumi.set(__self__, "radius_servers", radius_servers) + if properties is not None: + pulumi.set(__self__, "properties", properties) if tags is not None: pulumi.set(__self__, "tags", tags) - if vpn_authentication_types is not None: - pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) - if vpn_client_ipsec_policies is not None: - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_client_revoked_certificates is not None: - pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) - if vpn_client_root_certificates is not None: - pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) - if vpn_protocols is not None: - pulumi.set(__self__, "vpn_protocols", vpn_protocols) if vpn_server_configuration_name is not None: pulumi.set(__self__, "vpn_server_configuration_name", vpn_server_configuration_name) @@ -105,31 +60,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> Optional[pulumi.Input['AadAuthenticationParametersArgs']]: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @aad_authentication_parameters.setter - def aad_authentication_parameters(self, value: Optional[pulumi.Input['AadAuthenticationParametersArgs']]): - pulumi.set(self, "aad_authentication_parameters", value) - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]: - """ - List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - """ - return pulumi.get(self, "configuration_policy_groups") - - @configuration_policy_groups.setter - def configuration_policy_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]): - pulumi.set(self, "configuration_policy_groups", value) - @property @pulumi.getter def id(self) -> Optional[pulumi.Input[str]]: @@ -158,7 +88,7 @@ def location(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the VpnServerConfiguration that is unique within a resource group. + The name of the resource that is unique within a resource group. This name can be used to access the resource. """ return pulumi.get(self, "name") @@ -167,64 +97,16 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @radius_client_root_certificates.setter - def radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]): - pulumi.set(self, "radius_client_root_certificates", value) - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[pulumi.Input[str]]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @radius_server_address.setter - def radius_server_address(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_address", value) - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @radius_server_root_certificates.setter - def radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]): - pulumi.set(self, "radius_server_root_certificates", value) - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[pulumi.Input[str]]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @radius_server_secret.setter - def radius_server_secret(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_secret", value) - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]: + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']]: """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") - @radius_servers.setter - def radius_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]): - pulumi.set(self, "radius_servers", value) + @properties.setter + def properties(self, value: Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']]): + pulumi.set(self, "properties", value) @property @pulumi.getter @@ -238,66 +120,6 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @vpn_authentication_types.setter - def vpn_authentication_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]): - pulumi.set(self, "vpn_authentication_types", value) - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @vpn_client_ipsec_policies.setter - def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): - pulumi.set(self, "vpn_client_ipsec_policies", value) - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @vpn_client_revoked_certificates.setter - def vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]): - pulumi.set(self, "vpn_client_revoked_certificates", value) - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @vpn_client_root_certificates.setter - def vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]): - pulumi.set(self, "vpn_client_root_certificates", value) - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - - @vpn_protocols.setter - def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): - pulumi.set(self, "vpn_protocols", value) - @property @pulumi.getter(name="vpnServerConfigurationName") def vpn_server_configuration_name(self) -> Optional[pulumi.Input[str]]: @@ -316,23 +138,12 @@ class VpnServerConfiguration(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - aad_authentication_parameters: Optional[pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']]] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -340,24 +151,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']] aad_authentication_parameters: The set of aad vpn authentication parameters. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] location: Resource location. - :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[str] resource_group_name: The resource group name of the VpnServerConfiguration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. :param pulumi.Input[str] vpn_server_configuration_name: The name of the VpnServerConfiguration being created or updated. """ ... @@ -384,23 +183,12 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - aad_authentication_parameters: Optional[pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']]] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -411,29 +199,16 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = VpnServerConfigurationArgs.__new__(VpnServerConfigurationArgs) - __props__.__dict__["aad_authentication_parameters"] = aad_authentication_parameters - __props__.__dict__["configuration_policy_groups"] = configuration_policy_groups __props__.__dict__["id"] = id __props__.__dict__["location"] = location __props__.__dict__["name"] = name - __props__.__dict__["radius_client_root_certificates"] = radius_client_root_certificates - __props__.__dict__["radius_server_address"] = radius_server_address - __props__.__dict__["radius_server_root_certificates"] = radius_server_root_certificates - __props__.__dict__["radius_server_secret"] = radius_server_secret - __props__.__dict__["radius_servers"] = radius_servers + __props__.__dict__["properties"] = properties if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["tags"] = tags - __props__.__dict__["vpn_authentication_types"] = vpn_authentication_types - __props__.__dict__["vpn_client_ipsec_policies"] = vpn_client_ipsec_policies - __props__.__dict__["vpn_client_revoked_certificates"] = vpn_client_revoked_certificates - __props__.__dict__["vpn_client_root_certificates"] = vpn_client_root_certificates - __props__.__dict__["vpn_protocols"] = vpn_protocols __props__.__dict__["vpn_server_configuration_name"] = vpn_server_configuration_name __props__.__dict__["etag"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:network:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190901:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20191101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20191201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200301:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200401:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200601:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200701:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20201101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210301:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220701:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220901:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20221101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230401:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230601:VpnServerConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -459,43 +234,14 @@ def get(resource_name: str, __props__ = VpnServerConfigurationArgs.__new__(VpnServerConfigurationArgs) - __props__.__dict__["aad_authentication_parameters"] = None - __props__.__dict__["configuration_policy_groups"] = None __props__.__dict__["etag"] = None __props__.__dict__["location"] = None __props__.__dict__["name"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["radius_client_root_certificates"] = None - __props__.__dict__["radius_server_address"] = None - __props__.__dict__["radius_server_root_certificates"] = None - __props__.__dict__["radius_server_secret"] = None - __props__.__dict__["radius_servers"] = None + __props__.__dict__["properties"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None - __props__.__dict__["vpn_authentication_types"] = None - __props__.__dict__["vpn_client_ipsec_policies"] = None - __props__.__dict__["vpn_client_revoked_certificates"] = None - __props__.__dict__["vpn_client_root_certificates"] = None - __props__.__dict__["vpn_protocols"] = None return VpnServerConfiguration(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> pulumi.Output[Optional['outputs.AadAuthenticationParametersResponse']]: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]]: - """ - List of all VpnServerConfigurationPolicyGroups. - """ - return pulumi.get(self, "configuration_policy_groups") - @property @pulumi.getter def etag(self) -> pulumi.Output[str]: @@ -521,60 +267,12 @@ def name(self) -> pulumi.Output[str]: return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> pulumi.Output[Sequence['outputs.P2SVpnGatewayResponse']]: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> pulumi.Output[Optional[str]]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> pulumi.Output[Optional[str]]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> pulumi.Output[Optional[Sequence['outputs.RadiusServerResponse']]]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.VpnServerConfigurationPropertiesResponse']: """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -592,43 +290,3 @@ def type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> pulumi.Output[Optional[Sequence['outputs.IpsecPolicyResponse']]]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - diff --git a/sdk/python/pulumi_azure_native/network/vpn_server_configuration.py b/sdk/python/pulumi_azure_native/network/vpn_server_configuration.py index 533b079b5b34..21bbdafa6256 100644 --- a/sdk/python/pulumi_azure_native/network/vpn_server_configuration.py +++ b/sdk/python/pulumi_azure_native/network/vpn_server_configuration.py @@ -18,78 +18,33 @@ class VpnServerConfigurationArgs: def __init__(__self__, *, resource_group_name: pulumi.Input[str], - aad_authentication_parameters: Optional[pulumi.Input['AadAuthenticationParametersArgs']] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]] = None, + properties: Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a VpnServerConfiguration resource. :param pulumi.Input[str] resource_group_name: The resource group name of the VpnServerConfiguration. - :param pulumi.Input['AadAuthenticationParametersArgs'] aad_authentication_parameters: The set of aad vpn authentication parameters. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] location: Resource location. - :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input['VpnServerConfigurationPropertiesArgs'] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. :param pulumi.Input[str] vpn_server_configuration_name: The name of the VpnServerConfiguration being created or updated. """ pulumi.set(__self__, "resource_group_name", resource_group_name) - if aad_authentication_parameters is not None: - pulumi.set(__self__, "aad_authentication_parameters", aad_authentication_parameters) - if configuration_policy_groups is not None: - pulumi.set(__self__, "configuration_policy_groups", configuration_policy_groups) if id is not None: pulumi.set(__self__, "id", id) if location is not None: pulumi.set(__self__, "location", location) if name is not None: pulumi.set(__self__, "name", name) - if radius_client_root_certificates is not None: - pulumi.set(__self__, "radius_client_root_certificates", radius_client_root_certificates) - if radius_server_address is not None: - pulumi.set(__self__, "radius_server_address", radius_server_address) - if radius_server_root_certificates is not None: - pulumi.set(__self__, "radius_server_root_certificates", radius_server_root_certificates) - if radius_server_secret is not None: - pulumi.set(__self__, "radius_server_secret", radius_server_secret) - if radius_servers is not None: - pulumi.set(__self__, "radius_servers", radius_servers) + if properties is not None: + pulumi.set(__self__, "properties", properties) if tags is not None: pulumi.set(__self__, "tags", tags) - if vpn_authentication_types is not None: - pulumi.set(__self__, "vpn_authentication_types", vpn_authentication_types) - if vpn_client_ipsec_policies is not None: - pulumi.set(__self__, "vpn_client_ipsec_policies", vpn_client_ipsec_policies) - if vpn_client_revoked_certificates is not None: - pulumi.set(__self__, "vpn_client_revoked_certificates", vpn_client_revoked_certificates) - if vpn_client_root_certificates is not None: - pulumi.set(__self__, "vpn_client_root_certificates", vpn_client_root_certificates) - if vpn_protocols is not None: - pulumi.set(__self__, "vpn_protocols", vpn_protocols) if vpn_server_configuration_name is not None: pulumi.set(__self__, "vpn_server_configuration_name", vpn_server_configuration_name) @@ -105,31 +60,6 @@ def resource_group_name(self) -> pulumi.Input[str]: def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> Optional[pulumi.Input['AadAuthenticationParametersArgs']]: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @aad_authentication_parameters.setter - def aad_authentication_parameters(self, value: Optional[pulumi.Input['AadAuthenticationParametersArgs']]): - pulumi.set(self, "aad_authentication_parameters", value) - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]: - """ - List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. - """ - return pulumi.get(self, "configuration_policy_groups") - - @configuration_policy_groups.setter - def configuration_policy_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigurationPolicyGroupArgs']]]]): - pulumi.set(self, "configuration_policy_groups", value) - @property @pulumi.getter def id(self) -> Optional[pulumi.Input[str]]: @@ -158,7 +88,7 @@ def location(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The name of the VpnServerConfiguration that is unique within a resource group. + The name of the resource that is unique within a resource group. This name can be used to access the resource. """ return pulumi.get(self, "name") @@ -167,64 +97,16 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @radius_client_root_certificates.setter - def radius_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusClientRootCertificateArgs']]]]): - pulumi.set(self, "radius_client_root_certificates", value) - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> Optional[pulumi.Input[str]]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @radius_server_address.setter - def radius_server_address(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_address", value) - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @radius_server_root_certificates.setter - def radius_server_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigRadiusServerRootCertificateArgs']]]]): - pulumi.set(self, "radius_server_root_certificates", value) - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> Optional[pulumi.Input[str]]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @radius_server_secret.setter - def radius_server_secret(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "radius_server_secret", value) - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]: + @pulumi.getter + def properties(self) -> Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']]: """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") - @radius_servers.setter - def radius_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RadiusServerArgs']]]]): - pulumi.set(self, "radius_servers", value) + @properties.setter + def properties(self, value: Optional[pulumi.Input['VpnServerConfigurationPropertiesArgs']]): + pulumi.set(self, "properties", value) @property @pulumi.getter @@ -238,66 +120,6 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @vpn_authentication_types.setter - def vpn_authentication_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]]): - pulumi.set(self, "vpn_authentication_types", value) - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @vpn_client_ipsec_policies.setter - def vpn_client_ipsec_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IpsecPolicyArgs']]]]): - pulumi.set(self, "vpn_client_ipsec_policies", value) - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @vpn_client_revoked_certificates.setter - def vpn_client_revoked_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRevokedCertificateArgs']]]]): - pulumi.set(self, "vpn_client_revoked_certificates", value) - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @vpn_client_root_certificates.setter - def vpn_client_root_certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VpnServerConfigVpnClientRootCertificateArgs']]]]): - pulumi.set(self, "vpn_client_root_certificates", value) - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - - @vpn_protocols.setter - def vpn_protocols(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]]): - pulumi.set(self, "vpn_protocols", value) - @property @pulumi.getter(name="vpnServerConfigurationName") def vpn_server_configuration_name(self) -> Optional[pulumi.Input[str]]: @@ -316,23 +138,12 @@ class VpnServerConfiguration(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - aad_authentication_parameters: Optional[pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']]] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -343,24 +154,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']] aad_authentication_parameters: The set of aad vpn authentication parameters. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]] configuration_policy_groups: List of all VpnServerConfigurationPolicyGroups. - These are also available as standalone resources. Do not mix inline and standalone resource as they will conflict with each other, leading to resources deletion. :param pulumi.Input[str] id: Resource ID. :param pulumi.Input[str] location: Resource location. - :param pulumi.Input[str] name: The name of the VpnServerConfiguration that is unique within a resource group. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]] radius_client_root_certificates: Radius client root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_address: The radius server address property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]] radius_server_root_certificates: Radius Server root certificate of VpnServerConfiguration. - :param pulumi.Input[str] radius_server_secret: The radius secret property of the VpnServerConfiguration resource for point to site client connection. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]] radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. + :param pulumi.Input[str] name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + :param pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']] properties: Properties of the P2SVpnServer configuration. :param pulumi.Input[str] resource_group_name: The resource group name of the VpnServerConfiguration. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]] vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]] vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]] vpn_client_revoked_certificates: VPN client revoked certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]] vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. - :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]] vpn_protocols: VPN protocols for the VpnServerConfiguration. :param pulumi.Input[str] vpn_server_configuration_name: The name of the VpnServerConfiguration being created or updated. """ ... @@ -390,23 +189,12 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - aad_authentication_parameters: Optional[pulumi.Input[pulumi.InputType['AadAuthenticationParametersArgs']]] = None, - configuration_policy_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigurationPolicyGroupArgs']]]]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - radius_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusClientRootCertificateArgs']]]]] = None, - radius_server_address: Optional[pulumi.Input[str]] = None, - radius_server_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigRadiusServerRootCertificateArgs']]]]] = None, - radius_server_secret: Optional[pulumi.Input[str]] = None, - radius_servers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RadiusServerArgs']]]]] = None, + properties: Optional[pulumi.Input[pulumi.InputType['VpnServerConfigurationPropertiesArgs']]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - vpn_authentication_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnAuthenticationType']]]]] = None, - vpn_client_ipsec_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['IpsecPolicyArgs']]]]] = None, - vpn_client_revoked_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRevokedCertificateArgs']]]]] = None, - vpn_client_root_certificates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VpnServerConfigVpnClientRootCertificateArgs']]]]] = None, - vpn_protocols: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'VpnGatewayTunnelingProtocol']]]]] = None, vpn_server_configuration_name: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -417,29 +205,16 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = VpnServerConfigurationArgs.__new__(VpnServerConfigurationArgs) - __props__.__dict__["aad_authentication_parameters"] = aad_authentication_parameters - __props__.__dict__["configuration_policy_groups"] = configuration_policy_groups __props__.__dict__["id"] = id __props__.__dict__["location"] = location __props__.__dict__["name"] = name - __props__.__dict__["radius_client_root_certificates"] = radius_client_root_certificates - __props__.__dict__["radius_server_address"] = radius_server_address - __props__.__dict__["radius_server_root_certificates"] = radius_server_root_certificates - __props__.__dict__["radius_server_secret"] = radius_server_secret - __props__.__dict__["radius_servers"] = radius_servers + __props__.__dict__["properties"] = properties if resource_group_name is None and not opts.urn: raise TypeError("Missing required property 'resource_group_name'") __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["tags"] = tags - __props__.__dict__["vpn_authentication_types"] = vpn_authentication_types - __props__.__dict__["vpn_client_ipsec_policies"] = vpn_client_ipsec_policies - __props__.__dict__["vpn_client_revoked_certificates"] = vpn_client_revoked_certificates - __props__.__dict__["vpn_client_root_certificates"] = vpn_client_root_certificates - __props__.__dict__["vpn_protocols"] = vpn_protocols __props__.__dict__["vpn_server_configuration_name"] = vpn_server_configuration_name __props__.__dict__["etag"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None __props__.__dict__["type"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:network/v20190801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20190901:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20191101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20191201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200301:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200401:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200601:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200701:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20200801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20201101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210301:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20210801:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220701:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20220901:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20221101:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230201:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230401:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230501:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230601:VpnServerConfiguration"), pulumi.Alias(type_="azure-native:network/v20230901:VpnServerConfiguration")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) @@ -465,43 +240,14 @@ def get(resource_name: str, __props__ = VpnServerConfigurationArgs.__new__(VpnServerConfigurationArgs) - __props__.__dict__["aad_authentication_parameters"] = None - __props__.__dict__["configuration_policy_groups"] = None __props__.__dict__["etag"] = None __props__.__dict__["location"] = None __props__.__dict__["name"] = None - __props__.__dict__["p2_s_vpn_gateways"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["radius_client_root_certificates"] = None - __props__.__dict__["radius_server_address"] = None - __props__.__dict__["radius_server_root_certificates"] = None - __props__.__dict__["radius_server_secret"] = None - __props__.__dict__["radius_servers"] = None + __props__.__dict__["properties"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None - __props__.__dict__["vpn_authentication_types"] = None - __props__.__dict__["vpn_client_ipsec_policies"] = None - __props__.__dict__["vpn_client_revoked_certificates"] = None - __props__.__dict__["vpn_client_root_certificates"] = None - __props__.__dict__["vpn_protocols"] = None return VpnServerConfiguration(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="aadAuthenticationParameters") - def aad_authentication_parameters(self) -> pulumi.Output[Optional['outputs.AadAuthenticationParametersResponse']]: - """ - The set of aad vpn authentication parameters. - """ - return pulumi.get(self, "aad_authentication_parameters") - - @property - @pulumi.getter(name="configurationPolicyGroups") - def configuration_policy_groups(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigurationPolicyGroupResponse']]]: - """ - List of all VpnServerConfigurationPolicyGroups. - """ - return pulumi.get(self, "configuration_policy_groups") - @property @pulumi.getter def etag(self) -> pulumi.Output[str]: @@ -527,60 +273,12 @@ def name(self) -> pulumi.Output[str]: return pulumi.get(self, "name") @property - @pulumi.getter(name="p2SVpnGateways") - def p2_s_vpn_gateways(self) -> pulumi.Output[Sequence['outputs.P2SVpnGatewayResponse']]: - """ - List of references to P2SVpnGateways. - """ - return pulumi.get(self, "p2_s_vpn_gateways") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="radiusClientRootCertificates") - def radius_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigRadiusClientRootCertificateResponse']]]: - """ - Radius client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_client_root_certificates") - - @property - @pulumi.getter(name="radiusServerAddress") - def radius_server_address(self) -> pulumi.Output[Optional[str]]: - """ - The radius server address property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_address") - - @property - @pulumi.getter(name="radiusServerRootCertificates") - def radius_server_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigRadiusServerRootCertificateResponse']]]: - """ - Radius Server root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "radius_server_root_certificates") - - @property - @pulumi.getter(name="radiusServerSecret") - def radius_server_secret(self) -> pulumi.Output[Optional[str]]: - """ - The radius secret property of the VpnServerConfiguration resource for point to site client connection. - """ - return pulumi.get(self, "radius_server_secret") - - @property - @pulumi.getter(name="radiusServers") - def radius_servers(self) -> pulumi.Output[Optional[Sequence['outputs.RadiusServerResponse']]]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.VpnServerConfigurationPropertiesResponse']: """ - Multiple Radius Server configuration for VpnServerConfiguration. + Properties of the P2SVpnServer configuration. """ - return pulumi.get(self, "radius_servers") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -598,43 +296,3 @@ def type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vpnAuthenticationTypes") - def vpn_authentication_types(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - VPN authentication types for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_authentication_types") - - @property - @pulumi.getter(name="vpnClientIpsecPolicies") - def vpn_client_ipsec_policies(self) -> pulumi.Output[Optional[Sequence['outputs.IpsecPolicyResponse']]]: - """ - VpnClientIpsecPolicies for VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_ipsec_policies") - - @property - @pulumi.getter(name="vpnClientRevokedCertificates") - def vpn_client_revoked_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigVpnClientRevokedCertificateResponse']]]: - """ - VPN client revoked certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_revoked_certificates") - - @property - @pulumi.getter(name="vpnClientRootCertificates") - def vpn_client_root_certificates(self) -> pulumi.Output[Optional[Sequence['outputs.VpnServerConfigVpnClientRootCertificateResponse']]]: - """ - VPN client root certificate of VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_client_root_certificates") - - @property - @pulumi.getter(name="vpnProtocols") - def vpn_protocols(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - VPN protocols for the VpnServerConfiguration. - """ - return pulumi.get(self, "vpn_protocols") - diff --git a/sdk/python/pulumi_azure_native/security/__init__.py b/sdk/python/pulumi_azure_native/security/__init__.py index 607cddc92d31..23d7ddbe1fdb 100644 --- a/sdk/python/pulumi_azure_native/security/__init__.py +++ b/sdk/python/pulumi_azure_native/security/__init__.py @@ -21,6 +21,7 @@ from .connector import * from .custom_assessment_automation import * from .custom_entity_store_assignment import * +from .defender_for_storage import * from .dev_ops_configuration import * from .device_security_group import * from .get_adaptive_application_control import * @@ -38,6 +39,7 @@ from .get_connector import * from .get_custom_assessment_automation import * from .get_custom_entity_store_assignment import * +from .get_defender_for_storage import * from .get_dev_ops_configuration import * from .get_device_security_group import * from .get_governance_assignment import * @@ -99,6 +101,8 @@ v20220701preview = __v20220701preview import pulumi_azure_native.security.v20221120preview as __v20221120preview v20221120preview = __v20221120preview + import pulumi_azure_native.security.v20221201preview as __v20221201preview + v20221201preview = __v20221201preview import pulumi_azure_native.security.v20230101preview as __v20230101preview v20230101preview = __v20230101preview import pulumi_azure_native.security.v20230201preview as __v20230201preview @@ -128,6 +132,7 @@ v20220101preview = _utilities.lazy_import('pulumi_azure_native.security.v20220101preview') v20220701preview = _utilities.lazy_import('pulumi_azure_native.security.v20220701preview') v20221120preview = _utilities.lazy_import('pulumi_azure_native.security.v20221120preview') + v20221201preview = _utilities.lazy_import('pulumi_azure_native.security.v20221201preview') v20230101preview = _utilities.lazy_import('pulumi_azure_native.security.v20230101preview') v20230201preview = _utilities.lazy_import('pulumi_azure_native.security.v20230201preview') v20230301preview = _utilities.lazy_import('pulumi_azure_native.security.v20230301preview') diff --git a/sdk/python/pulumi_azure_native/security/_inputs.py b/sdk/python/pulumi_azure_native/security/_inputs.py index 6b8484c2bf5e..422fcf41715d 100644 --- a/sdk/python/pulumi_azure_native/security/_inputs.py +++ b/sdk/python/pulumi_azure_native/security/_inputs.py @@ -109,6 +109,7 @@ 'JitNetworkAccessRequestPortArgs', 'JitNetworkAccessRequestVirtualMachineArgs', 'JitNetworkAccessRequestArgs', + 'MalwareScanningPropertiesArgs', 'OnPremiseResourceDetailsArgs', 'OnPremiseSqlResourceDetailsArgs', 'PathRecommendationArgs', @@ -124,6 +125,7 @@ 'SecurityAssessmentPartnerDataArgs', 'SecurityContactPropertiesAlertNotificationsArgs', 'SecurityContactPropertiesNotificationsByRoleArgs', + 'SensitiveDataDiscoveryPropertiesArgs', 'ServicePrincipalPropertiesArgs', 'StandardComponentPropertiesArgs', 'SuppressionAlertsScopeArgs', @@ -4811,6 +4813,62 @@ def justification(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "justification", value) +@pulumi.input_type +class MalwareScanningPropertiesArgs: + def __init__(__self__, *, + cap_gb_per_month: Optional[pulumi.Input[int]] = None, + is_enabled: Optional[pulumi.Input[bool]] = None, + scan_results_event_grid_topic_resource_id: Optional[pulumi.Input[str]] = None): + """ + Properties of Malware Scanning. + :param pulumi.Input[int] cap_gb_per_month: Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + :param pulumi.Input[bool] is_enabled: Indicates whether On Upload malware scanning should be enabled. + :param pulumi.Input[str] scan_results_event_grid_topic_resource_id: Optional. Resource id of an Event Grid Topic to send scan results to. + """ + if cap_gb_per_month is not None: + pulumi.set(__self__, "cap_gb_per_month", cap_gb_per_month) + if is_enabled is not None: + pulumi.set(__self__, "is_enabled", is_enabled) + if scan_results_event_grid_topic_resource_id is not None: + pulumi.set(__self__, "scan_results_event_grid_topic_resource_id", scan_results_event_grid_topic_resource_id) + + @property + @pulumi.getter(name="capGBPerMonth") + def cap_gb_per_month(self) -> Optional[pulumi.Input[int]]: + """ + Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + """ + return pulumi.get(self, "cap_gb_per_month") + + @cap_gb_per_month.setter + def cap_gb_per_month(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "cap_gb_per_month", value) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether On Upload malware scanning should be enabled. + """ + return pulumi.get(self, "is_enabled") + + @is_enabled.setter + def is_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_enabled", value) + + @property + @pulumi.getter(name="scanResultsEventGridTopicResourceId") + def scan_results_event_grid_topic_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + Optional. Resource id of an Event Grid Topic to send scan results to. + """ + return pulumi.get(self, "scan_results_event_grid_topic_resource_id") + + @scan_results_event_grid_topic_resource_id.setter + def scan_results_event_grid_topic_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scan_results_event_grid_topic_resource_id", value) + + @pulumi.input_type class OnPremiseResourceDetailsArgs: def __init__(__self__, *, @@ -5814,6 +5872,30 @@ def state(self, value: Optional[pulumi.Input[Union[str, 'State']]]): pulumi.set(self, "state", value) +@pulumi.input_type +class SensitiveDataDiscoveryPropertiesArgs: + def __init__(__self__, *, + is_enabled: Optional[pulumi.Input[bool]] = None): + """ + Properties of Sensitive Data Discovery. + :param pulumi.Input[bool] is_enabled: Indicates whether Sensitive Data Discovery should be enabled. + """ + if is_enabled is not None: + pulumi.set(__self__, "is_enabled", is_enabled) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether Sensitive Data Discovery should be enabled. + """ + return pulumi.get(self, "is_enabled") + + @is_enabled.setter + def is_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_enabled", value) + + @pulumi.input_type class ServicePrincipalPropertiesArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_azure_native/security/defender_for_storage.py b/sdk/python/pulumi_azure_native/security/defender_for_storage.py new file mode 100644 index 000000000000..b44ad89e5235 --- /dev/null +++ b/sdk/python/pulumi_azure_native/security/defender_for_storage.py @@ -0,0 +1,273 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['DefenderForStorageArgs', 'DefenderForStorage'] + +@pulumi.input_type +class DefenderForStorageArgs: + def __init__(__self__, *, + resource_id: pulumi.Input[str], + is_enabled: Optional[pulumi.Input[bool]] = None, + malware_scanning: Optional[pulumi.Input['MalwareScanningPropertiesArgs']] = None, + override_subscription_level_settings: Optional[pulumi.Input[bool]] = None, + sensitive_data_discovery: Optional[pulumi.Input['SensitiveDataDiscoveryPropertiesArgs']] = None, + setting_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DefenderForStorage resource. + :param pulumi.Input[str] resource_id: The identifier of the resource. + :param pulumi.Input[bool] is_enabled: Indicates whether Defender for Storage is enabled on this storage account. + :param pulumi.Input['MalwareScanningPropertiesArgs'] malware_scanning: Properties of Malware Scanning. + :param pulumi.Input[bool] override_subscription_level_settings: Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + :param pulumi.Input['SensitiveDataDiscoveryPropertiesArgs'] sensitive_data_discovery: Properties of Sensitive Data Discovery. + :param pulumi.Input[str] setting_name: Defender for Storage setting name. + """ + pulumi.set(__self__, "resource_id", resource_id) + if is_enabled is not None: + pulumi.set(__self__, "is_enabled", is_enabled) + if malware_scanning is not None: + pulumi.set(__self__, "malware_scanning", malware_scanning) + if override_subscription_level_settings is not None: + pulumi.set(__self__, "override_subscription_level_settings", override_subscription_level_settings) + if sensitive_data_discovery is not None: + pulumi.set(__self__, "sensitive_data_discovery", sensitive_data_discovery) + if setting_name is not None: + pulumi.set(__self__, "setting_name", setting_name) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Input[str]: + """ + The identifier of the resource. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_id", value) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether Defender for Storage is enabled on this storage account. + """ + return pulumi.get(self, "is_enabled") + + @is_enabled.setter + def is_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_enabled", value) + + @property + @pulumi.getter(name="malwareScanning") + def malware_scanning(self) -> Optional[pulumi.Input['MalwareScanningPropertiesArgs']]: + """ + Properties of Malware Scanning. + """ + return pulumi.get(self, "malware_scanning") + + @malware_scanning.setter + def malware_scanning(self, value: Optional[pulumi.Input['MalwareScanningPropertiesArgs']]): + pulumi.set(self, "malware_scanning", value) + + @property + @pulumi.getter(name="overrideSubscriptionLevelSettings") + def override_subscription_level_settings(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + """ + return pulumi.get(self, "override_subscription_level_settings") + + @override_subscription_level_settings.setter + def override_subscription_level_settings(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "override_subscription_level_settings", value) + + @property + @pulumi.getter(name="sensitiveDataDiscovery") + def sensitive_data_discovery(self) -> Optional[pulumi.Input['SensitiveDataDiscoveryPropertiesArgs']]: + """ + Properties of Sensitive Data Discovery. + """ + return pulumi.get(self, "sensitive_data_discovery") + + @sensitive_data_discovery.setter + def sensitive_data_discovery(self, value: Optional[pulumi.Input['SensitiveDataDiscoveryPropertiesArgs']]): + pulumi.set(self, "sensitive_data_discovery", value) + + @property + @pulumi.getter(name="settingName") + def setting_name(self) -> Optional[pulumi.Input[str]]: + """ + Defender for Storage setting name. + """ + return pulumi.get(self, "setting_name") + + @setting_name.setter + def setting_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "setting_name", value) + + +class DefenderForStorage(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + is_enabled: Optional[pulumi.Input[bool]] = None, + malware_scanning: Optional[pulumi.Input[pulumi.InputType['MalwareScanningPropertiesArgs']]] = None, + override_subscription_level_settings: Optional[pulumi.Input[bool]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + sensitive_data_discovery: Optional[pulumi.Input[pulumi.InputType['SensitiveDataDiscoveryPropertiesArgs']]] = None, + setting_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The Defender for Storage resource. + Azure REST API version: 2022-12-01-preview. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] is_enabled: Indicates whether Defender for Storage is enabled on this storage account. + :param pulumi.Input[pulumi.InputType['MalwareScanningPropertiesArgs']] malware_scanning: Properties of Malware Scanning. + :param pulumi.Input[bool] override_subscription_level_settings: Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + :param pulumi.Input[str] resource_id: The identifier of the resource. + :param pulumi.Input[pulumi.InputType['SensitiveDataDiscoveryPropertiesArgs']] sensitive_data_discovery: Properties of Sensitive Data Discovery. + :param pulumi.Input[str] setting_name: Defender for Storage setting name. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DefenderForStorageArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The Defender for Storage resource. + Azure REST API version: 2022-12-01-preview. + + :param str resource_name: The name of the resource. + :param DefenderForStorageArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DefenderForStorageArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + is_enabled: Optional[pulumi.Input[bool]] = None, + malware_scanning: Optional[pulumi.Input[pulumi.InputType['MalwareScanningPropertiesArgs']]] = None, + override_subscription_level_settings: Optional[pulumi.Input[bool]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + sensitive_data_discovery: Optional[pulumi.Input[pulumi.InputType['SensitiveDataDiscoveryPropertiesArgs']]] = None, + setting_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DefenderForStorageArgs.__new__(DefenderForStorageArgs) + + __props__.__dict__["is_enabled"] = is_enabled + __props__.__dict__["malware_scanning"] = malware_scanning + __props__.__dict__["override_subscription_level_settings"] = override_subscription_level_settings + if resource_id is None and not opts.urn: + raise TypeError("Missing required property 'resource_id'") + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["sensitive_data_discovery"] = sensitive_data_discovery + __props__.__dict__["setting_name"] = setting_name + __props__.__dict__["name"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:security/v20221201preview:DefenderForStorage")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(DefenderForStorage, __self__).__init__( + 'azure-native:security:DefenderForStorage', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DefenderForStorage': + """ + Get an existing DefenderForStorage resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DefenderForStorageArgs.__new__(DefenderForStorageArgs) + + __props__.__dict__["is_enabled"] = None + __props__.__dict__["malware_scanning"] = None + __props__.__dict__["name"] = None + __props__.__dict__["override_subscription_level_settings"] = None + __props__.__dict__["sensitive_data_discovery"] = None + __props__.__dict__["type"] = None + return DefenderForStorage(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether Defender for Storage is enabled on this storage account. + """ + return pulumi.get(self, "is_enabled") + + @property + @pulumi.getter(name="malwareScanning") + def malware_scanning(self) -> pulumi.Output[Optional['outputs.MalwareScanningPropertiesResponse']]: + """ + Properties of Malware Scanning. + """ + return pulumi.get(self, "malware_scanning") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="overrideSubscriptionLevelSettings") + def override_subscription_level_settings(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + """ + return pulumi.get(self, "override_subscription_level_settings") + + @property + @pulumi.getter(name="sensitiveDataDiscovery") + def sensitive_data_discovery(self) -> pulumi.Output[Optional['outputs.SensitiveDataDiscoveryPropertiesResponse']]: + """ + Properties of Sensitive Data Discovery. + """ + return pulumi.get(self, "sensitive_data_discovery") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/security/get_defender_for_storage.py b/sdk/python/pulumi_azure_native/security/get_defender_for_storage.py new file mode 100644 index 000000000000..847f516f7086 --- /dev/null +++ b/sdk/python/pulumi_azure_native/security/get_defender_for_storage.py @@ -0,0 +1,159 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetDefenderForStorageResult', + 'AwaitableGetDefenderForStorageResult', + 'get_defender_for_storage', + 'get_defender_for_storage_output', +] + +@pulumi.output_type +class GetDefenderForStorageResult: + """ + The Defender for Storage resource. + """ + def __init__(__self__, id=None, is_enabled=None, malware_scanning=None, name=None, override_subscription_level_settings=None, sensitive_data_discovery=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_enabled and not isinstance(is_enabled, bool): + raise TypeError("Expected argument 'is_enabled' to be a bool") + pulumi.set(__self__, "is_enabled", is_enabled) + if malware_scanning and not isinstance(malware_scanning, dict): + raise TypeError("Expected argument 'malware_scanning' to be a dict") + pulumi.set(__self__, "malware_scanning", malware_scanning) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if override_subscription_level_settings and not isinstance(override_subscription_level_settings, bool): + raise TypeError("Expected argument 'override_subscription_level_settings' to be a bool") + pulumi.set(__self__, "override_subscription_level_settings", override_subscription_level_settings) + if sensitive_data_discovery and not isinstance(sensitive_data_discovery, dict): + raise TypeError("Expected argument 'sensitive_data_discovery' to be a dict") + pulumi.set(__self__, "sensitive_data_discovery", sensitive_data_discovery) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> Optional[bool]: + """ + Indicates whether Defender for Storage is enabled on this storage account. + """ + return pulumi.get(self, "is_enabled") + + @property + @pulumi.getter(name="malwareScanning") + def malware_scanning(self) -> Optional['outputs.MalwareScanningPropertiesResponse']: + """ + Properties of Malware Scanning. + """ + return pulumi.get(self, "malware_scanning") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="overrideSubscriptionLevelSettings") + def override_subscription_level_settings(self) -> Optional[bool]: + """ + Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + """ + return pulumi.get(self, "override_subscription_level_settings") + + @property + @pulumi.getter(name="sensitiveDataDiscovery") + def sensitive_data_discovery(self) -> Optional['outputs.SensitiveDataDiscoveryPropertiesResponse']: + """ + Properties of Sensitive Data Discovery. + """ + return pulumi.get(self, "sensitive_data_discovery") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + +class AwaitableGetDefenderForStorageResult(GetDefenderForStorageResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDefenderForStorageResult( + id=self.id, + is_enabled=self.is_enabled, + malware_scanning=self.malware_scanning, + name=self.name, + override_subscription_level_settings=self.override_subscription_level_settings, + sensitive_data_discovery=self.sensitive_data_discovery, + type=self.type) + + +def get_defender_for_storage(resource_id: Optional[str] = None, + setting_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDefenderForStorageResult: + """ + Gets the Defender for Storage settings for the specified storage account. + Azure REST API version: 2022-12-01-preview. + + + :param str resource_id: The identifier of the resource. + :param str setting_name: Defender for Storage setting name. + """ + __args__ = dict() + __args__['resourceId'] = resource_id + __args__['settingName'] = setting_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:security:getDefenderForStorage', __args__, opts=opts, typ=GetDefenderForStorageResult).value + + return AwaitableGetDefenderForStorageResult( + id=pulumi.get(__ret__, 'id'), + is_enabled=pulumi.get(__ret__, 'is_enabled'), + malware_scanning=pulumi.get(__ret__, 'malware_scanning'), + name=pulumi.get(__ret__, 'name'), + override_subscription_level_settings=pulumi.get(__ret__, 'override_subscription_level_settings'), + sensitive_data_discovery=pulumi.get(__ret__, 'sensitive_data_discovery'), + type=pulumi.get(__ret__, 'type')) + + +@_utilities.lift_output_func(get_defender_for_storage) +def get_defender_for_storage_output(resource_id: Optional[pulumi.Input[str]] = None, + setting_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDefenderForStorageResult]: + """ + Gets the Defender for Storage settings for the specified storage account. + Azure REST API version: 2022-12-01-preview. + + + :param str resource_id: The identifier of the resource. + :param str setting_name: Defender for Storage setting name. + """ + ... diff --git a/sdk/python/pulumi_azure_native/security/outputs.py b/sdk/python/pulumi_azure_native/security/outputs.py index 0a28b0eb958c..01de176995a6 100644 --- a/sdk/python/pulumi_azure_native/security/outputs.py +++ b/sdk/python/pulumi_azure_native/security/outputs.py @@ -122,6 +122,7 @@ 'JitNetworkAccessRequestPortResponse', 'JitNetworkAccessRequestResponse', 'JitNetworkAccessRequestVirtualMachineResponse', + 'MalwareScanningPropertiesResponse', 'OnPremiseResourceDetailsResponse', 'OnPremiseSqlResourceDetailsResponse', 'OperationStatusResponse', @@ -139,6 +140,7 @@ 'SecurityAssessmentPartnerDataResponse', 'SecurityContactPropertiesResponseAlertNotifications', 'SecurityContactPropertiesResponseNotificationsByRole', + 'SensitiveDataDiscoveryPropertiesResponse', 'ServicePrincipalPropertiesResponse', 'StandardComponentPropertiesResponse', 'SuppressionAlertsScopeResponse', @@ -7056,6 +7058,87 @@ def ports(self) -> Sequence['outputs.JitNetworkAccessRequestPortResponse']: return pulumi.get(self, "ports") +@pulumi.output_type +class MalwareScanningPropertiesResponse(dict): + """ + Properties of Malware Scanning. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "operationStatus": + suggest = "operation_status" + elif key == "capGBPerMonth": + suggest = "cap_gb_per_month" + elif key == "isEnabled": + suggest = "is_enabled" + elif key == "scanResultsEventGridTopicResourceId": + suggest = "scan_results_event_grid_topic_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MalwareScanningPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MalwareScanningPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MalwareScanningPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + operation_status: 'outputs.OperationStatusResponse', + cap_gb_per_month: Optional[int] = None, + is_enabled: Optional[bool] = None, + scan_results_event_grid_topic_resource_id: Optional[str] = None): + """ + Properties of Malware Scanning. + :param 'OperationStatusResponse' operation_status: Upon failure or partial success. Additional data describing Malware Scanning enable/disable operation. + :param int cap_gb_per_month: Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + :param bool is_enabled: Indicates whether On Upload malware scanning should be enabled. + :param str scan_results_event_grid_topic_resource_id: Optional. Resource id of an Event Grid Topic to send scan results to. + """ + pulumi.set(__self__, "operation_status", operation_status) + if cap_gb_per_month is not None: + pulumi.set(__self__, "cap_gb_per_month", cap_gb_per_month) + if is_enabled is not None: + pulumi.set(__self__, "is_enabled", is_enabled) + if scan_results_event_grid_topic_resource_id is not None: + pulumi.set(__self__, "scan_results_event_grid_topic_resource_id", scan_results_event_grid_topic_resource_id) + + @property + @pulumi.getter(name="operationStatus") + def operation_status(self) -> 'outputs.OperationStatusResponse': + """ + Upon failure or partial success. Additional data describing Malware Scanning enable/disable operation. + """ + return pulumi.get(self, "operation_status") + + @property + @pulumi.getter(name="capGBPerMonth") + def cap_gb_per_month(self) -> Optional[int]: + """ + Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + """ + return pulumi.get(self, "cap_gb_per_month") + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> Optional[bool]: + """ + Indicates whether On Upload malware scanning should be enabled. + """ + return pulumi.get(self, "is_enabled") + + @property + @pulumi.getter(name="scanResultsEventGridTopicResourceId") + def scan_results_event_grid_topic_resource_id(self) -> Optional[str]: + """ + Optional. Resource id of an Event Grid Topic to send scan results to. + """ + return pulumi.get(self, "scan_results_event_grid_topic_resource_id") + + @pulumi.output_type class OnPremiseResourceDetailsResponse(dict): """ @@ -8151,6 +8234,59 @@ def state(self) -> Optional[str]: return pulumi.get(self, "state") +@pulumi.output_type +class SensitiveDataDiscoveryPropertiesResponse(dict): + """ + Properties of Sensitive Data Discovery. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "operationStatus": + suggest = "operation_status" + elif key == "isEnabled": + suggest = "is_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SensitiveDataDiscoveryPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SensitiveDataDiscoveryPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SensitiveDataDiscoveryPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + operation_status: 'outputs.OperationStatusResponse', + is_enabled: Optional[bool] = None): + """ + Properties of Sensitive Data Discovery. + :param 'OperationStatusResponse' operation_status: Upon failure or partial success. Additional data describing Sensitive Data Discovery enable/disable operation. + :param bool is_enabled: Indicates whether Sensitive Data Discovery should be enabled. + """ + pulumi.set(__self__, "operation_status", operation_status) + if is_enabled is not None: + pulumi.set(__self__, "is_enabled", is_enabled) + + @property + @pulumi.getter(name="operationStatus") + def operation_status(self) -> 'outputs.OperationStatusResponse': + """ + Upon failure or partial success. Additional data describing Sensitive Data Discovery enable/disable operation. + """ + return pulumi.get(self, "operation_status") + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> Optional[bool]: + """ + Indicates whether Sensitive Data Discovery should be enabled. + """ + return pulumi.get(self, "is_enabled") + + @pulumi.output_type class ServicePrincipalPropertiesResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/security/v20221201preview/__init__.py b/sdk/python/pulumi_azure_native/security/v20221201preview/__init__.py new file mode 100644 index 000000000000..327f55364013 --- /dev/null +++ b/sdk/python/pulumi_azure_native/security/v20221201preview/__init__.py @@ -0,0 +1,11 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from ... import _utilities +import typing +# Export this package's modules as members: +from .defender_for_storage import * +from .get_defender_for_storage import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_azure_native/security/v20221201preview/_inputs.py b/sdk/python/pulumi_azure_native/security/v20221201preview/_inputs.py new file mode 100644 index 000000000000..1588f37a068a --- /dev/null +++ b/sdk/python/pulumi_azure_native/security/v20221201preview/_inputs.py @@ -0,0 +1,96 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities + +__all__ = [ + 'MalwareScanningPropertiesArgs', + 'SensitiveDataDiscoveryPropertiesArgs', +] + +@pulumi.input_type +class MalwareScanningPropertiesArgs: + def __init__(__self__, *, + cap_gb_per_month: Optional[pulumi.Input[int]] = None, + is_enabled: Optional[pulumi.Input[bool]] = None, + scan_results_event_grid_topic_resource_id: Optional[pulumi.Input[str]] = None): + """ + Properties of Malware Scanning. + :param pulumi.Input[int] cap_gb_per_month: Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + :param pulumi.Input[bool] is_enabled: Indicates whether On Upload malware scanning should be enabled. + :param pulumi.Input[str] scan_results_event_grid_topic_resource_id: Optional. Resource id of an Event Grid Topic to send scan results to. + """ + if cap_gb_per_month is not None: + pulumi.set(__self__, "cap_gb_per_month", cap_gb_per_month) + if is_enabled is not None: + pulumi.set(__self__, "is_enabled", is_enabled) + if scan_results_event_grid_topic_resource_id is not None: + pulumi.set(__self__, "scan_results_event_grid_topic_resource_id", scan_results_event_grid_topic_resource_id) + + @property + @pulumi.getter(name="capGBPerMonth") + def cap_gb_per_month(self) -> Optional[pulumi.Input[int]]: + """ + Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + """ + return pulumi.get(self, "cap_gb_per_month") + + @cap_gb_per_month.setter + def cap_gb_per_month(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "cap_gb_per_month", value) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether On Upload malware scanning should be enabled. + """ + return pulumi.get(self, "is_enabled") + + @is_enabled.setter + def is_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_enabled", value) + + @property + @pulumi.getter(name="scanResultsEventGridTopicResourceId") + def scan_results_event_grid_topic_resource_id(self) -> Optional[pulumi.Input[str]]: + """ + Optional. Resource id of an Event Grid Topic to send scan results to. + """ + return pulumi.get(self, "scan_results_event_grid_topic_resource_id") + + @scan_results_event_grid_topic_resource_id.setter + def scan_results_event_grid_topic_resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scan_results_event_grid_topic_resource_id", value) + + +@pulumi.input_type +class SensitiveDataDiscoveryPropertiesArgs: + def __init__(__self__, *, + is_enabled: Optional[pulumi.Input[bool]] = None): + """ + Properties of Sensitive Data Discovery. + :param pulumi.Input[bool] is_enabled: Indicates whether Sensitive Data Discovery should be enabled. + """ + if is_enabled is not None: + pulumi.set(__self__, "is_enabled", is_enabled) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether Sensitive Data Discovery should be enabled. + """ + return pulumi.get(self, "is_enabled") + + @is_enabled.setter + def is_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_enabled", value) + + diff --git a/sdk/python/pulumi_azure_native/security/v20221201preview/defender_for_storage.py b/sdk/python/pulumi_azure_native/security/v20221201preview/defender_for_storage.py new file mode 100644 index 000000000000..896e9c4cf630 --- /dev/null +++ b/sdk/python/pulumi_azure_native/security/v20221201preview/defender_for_storage.py @@ -0,0 +1,271 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['DefenderForStorageArgs', 'DefenderForStorage'] + +@pulumi.input_type +class DefenderForStorageArgs: + def __init__(__self__, *, + resource_id: pulumi.Input[str], + is_enabled: Optional[pulumi.Input[bool]] = None, + malware_scanning: Optional[pulumi.Input['MalwareScanningPropertiesArgs']] = None, + override_subscription_level_settings: Optional[pulumi.Input[bool]] = None, + sensitive_data_discovery: Optional[pulumi.Input['SensitiveDataDiscoveryPropertiesArgs']] = None, + setting_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a DefenderForStorage resource. + :param pulumi.Input[str] resource_id: The identifier of the resource. + :param pulumi.Input[bool] is_enabled: Indicates whether Defender for Storage is enabled on this storage account. + :param pulumi.Input['MalwareScanningPropertiesArgs'] malware_scanning: Properties of Malware Scanning. + :param pulumi.Input[bool] override_subscription_level_settings: Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + :param pulumi.Input['SensitiveDataDiscoveryPropertiesArgs'] sensitive_data_discovery: Properties of Sensitive Data Discovery. + :param pulumi.Input[str] setting_name: Defender for Storage setting name. + """ + pulumi.set(__self__, "resource_id", resource_id) + if is_enabled is not None: + pulumi.set(__self__, "is_enabled", is_enabled) + if malware_scanning is not None: + pulumi.set(__self__, "malware_scanning", malware_scanning) + if override_subscription_level_settings is not None: + pulumi.set(__self__, "override_subscription_level_settings", override_subscription_level_settings) + if sensitive_data_discovery is not None: + pulumi.set(__self__, "sensitive_data_discovery", sensitive_data_discovery) + if setting_name is not None: + pulumi.set(__self__, "setting_name", setting_name) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Input[str]: + """ + The identifier of the resource. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_id", value) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether Defender for Storage is enabled on this storage account. + """ + return pulumi.get(self, "is_enabled") + + @is_enabled.setter + def is_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_enabled", value) + + @property + @pulumi.getter(name="malwareScanning") + def malware_scanning(self) -> Optional[pulumi.Input['MalwareScanningPropertiesArgs']]: + """ + Properties of Malware Scanning. + """ + return pulumi.get(self, "malware_scanning") + + @malware_scanning.setter + def malware_scanning(self, value: Optional[pulumi.Input['MalwareScanningPropertiesArgs']]): + pulumi.set(self, "malware_scanning", value) + + @property + @pulumi.getter(name="overrideSubscriptionLevelSettings") + def override_subscription_level_settings(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + """ + return pulumi.get(self, "override_subscription_level_settings") + + @override_subscription_level_settings.setter + def override_subscription_level_settings(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "override_subscription_level_settings", value) + + @property + @pulumi.getter(name="sensitiveDataDiscovery") + def sensitive_data_discovery(self) -> Optional[pulumi.Input['SensitiveDataDiscoveryPropertiesArgs']]: + """ + Properties of Sensitive Data Discovery. + """ + return pulumi.get(self, "sensitive_data_discovery") + + @sensitive_data_discovery.setter + def sensitive_data_discovery(self, value: Optional[pulumi.Input['SensitiveDataDiscoveryPropertiesArgs']]): + pulumi.set(self, "sensitive_data_discovery", value) + + @property + @pulumi.getter(name="settingName") + def setting_name(self) -> Optional[pulumi.Input[str]]: + """ + Defender for Storage setting name. + """ + return pulumi.get(self, "setting_name") + + @setting_name.setter + def setting_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "setting_name", value) + + +class DefenderForStorage(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + is_enabled: Optional[pulumi.Input[bool]] = None, + malware_scanning: Optional[pulumi.Input[pulumi.InputType['MalwareScanningPropertiesArgs']]] = None, + override_subscription_level_settings: Optional[pulumi.Input[bool]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + sensitive_data_discovery: Optional[pulumi.Input[pulumi.InputType['SensitiveDataDiscoveryPropertiesArgs']]] = None, + setting_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + The Defender for Storage resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] is_enabled: Indicates whether Defender for Storage is enabled on this storage account. + :param pulumi.Input[pulumi.InputType['MalwareScanningPropertiesArgs']] malware_scanning: Properties of Malware Scanning. + :param pulumi.Input[bool] override_subscription_level_settings: Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + :param pulumi.Input[str] resource_id: The identifier of the resource. + :param pulumi.Input[pulumi.InputType['SensitiveDataDiscoveryPropertiesArgs']] sensitive_data_discovery: Properties of Sensitive Data Discovery. + :param pulumi.Input[str] setting_name: Defender for Storage setting name. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DefenderForStorageArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The Defender for Storage resource. + + :param str resource_name: The name of the resource. + :param DefenderForStorageArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DefenderForStorageArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + is_enabled: Optional[pulumi.Input[bool]] = None, + malware_scanning: Optional[pulumi.Input[pulumi.InputType['MalwareScanningPropertiesArgs']]] = None, + override_subscription_level_settings: Optional[pulumi.Input[bool]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + sensitive_data_discovery: Optional[pulumi.Input[pulumi.InputType['SensitiveDataDiscoveryPropertiesArgs']]] = None, + setting_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DefenderForStorageArgs.__new__(DefenderForStorageArgs) + + __props__.__dict__["is_enabled"] = is_enabled + __props__.__dict__["malware_scanning"] = malware_scanning + __props__.__dict__["override_subscription_level_settings"] = override_subscription_level_settings + if resource_id is None and not opts.urn: + raise TypeError("Missing required property 'resource_id'") + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["sensitive_data_discovery"] = sensitive_data_discovery + __props__.__dict__["setting_name"] = setting_name + __props__.__dict__["name"] = None + __props__.__dict__["type"] = None + alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:security:DefenderForStorage")]) + opts = pulumi.ResourceOptions.merge(opts, alias_opts) + super(DefenderForStorage, __self__).__init__( + 'azure-native:security/v20221201preview:DefenderForStorage', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DefenderForStorage': + """ + Get an existing DefenderForStorage resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DefenderForStorageArgs.__new__(DefenderForStorageArgs) + + __props__.__dict__["is_enabled"] = None + __props__.__dict__["malware_scanning"] = None + __props__.__dict__["name"] = None + __props__.__dict__["override_subscription_level_settings"] = None + __props__.__dict__["sensitive_data_discovery"] = None + __props__.__dict__["type"] = None + return DefenderForStorage(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether Defender for Storage is enabled on this storage account. + """ + return pulumi.get(self, "is_enabled") + + @property + @pulumi.getter(name="malwareScanning") + def malware_scanning(self) -> pulumi.Output[Optional['outputs.MalwareScanningPropertiesResponse']]: + """ + Properties of Malware Scanning. + """ + return pulumi.get(self, "malware_scanning") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="overrideSubscriptionLevelSettings") + def override_subscription_level_settings(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + """ + return pulumi.get(self, "override_subscription_level_settings") + + @property + @pulumi.getter(name="sensitiveDataDiscovery") + def sensitive_data_discovery(self) -> pulumi.Output[Optional['outputs.SensitiveDataDiscoveryPropertiesResponse']]: + """ + Properties of Sensitive Data Discovery. + """ + return pulumi.get(self, "sensitive_data_discovery") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Resource type + """ + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_azure_native/security/v20221201preview/get_defender_for_storage.py b/sdk/python/pulumi_azure_native/security/v20221201preview/get_defender_for_storage.py new file mode 100644 index 000000000000..33e1ffac98e1 --- /dev/null +++ b/sdk/python/pulumi_azure_native/security/v20221201preview/get_defender_for_storage.py @@ -0,0 +1,157 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'GetDefenderForStorageResult', + 'AwaitableGetDefenderForStorageResult', + 'get_defender_for_storage', + 'get_defender_for_storage_output', +] + +@pulumi.output_type +class GetDefenderForStorageResult: + """ + The Defender for Storage resource. + """ + def __init__(__self__, id=None, is_enabled=None, malware_scanning=None, name=None, override_subscription_level_settings=None, sensitive_data_discovery=None, type=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if is_enabled and not isinstance(is_enabled, bool): + raise TypeError("Expected argument 'is_enabled' to be a bool") + pulumi.set(__self__, "is_enabled", is_enabled) + if malware_scanning and not isinstance(malware_scanning, dict): + raise TypeError("Expected argument 'malware_scanning' to be a dict") + pulumi.set(__self__, "malware_scanning", malware_scanning) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if override_subscription_level_settings and not isinstance(override_subscription_level_settings, bool): + raise TypeError("Expected argument 'override_subscription_level_settings' to be a bool") + pulumi.set(__self__, "override_subscription_level_settings", override_subscription_level_settings) + if sensitive_data_discovery and not isinstance(sensitive_data_discovery, dict): + raise TypeError("Expected argument 'sensitive_data_discovery' to be a dict") + pulumi.set(__self__, "sensitive_data_discovery", sensitive_data_discovery) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def id(self) -> str: + """ + Resource Id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> Optional[bool]: + """ + Indicates whether Defender for Storage is enabled on this storage account. + """ + return pulumi.get(self, "is_enabled") + + @property + @pulumi.getter(name="malwareScanning") + def malware_scanning(self) -> Optional['outputs.MalwareScanningPropertiesResponse']: + """ + Properties of Malware Scanning. + """ + return pulumi.get(self, "malware_scanning") + + @property + @pulumi.getter + def name(self) -> str: + """ + Resource name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="overrideSubscriptionLevelSettings") + def override_subscription_level_settings(self) -> Optional[bool]: + """ + Indicates whether the settings defined for this storage account should override the settings defined for the subscription. + """ + return pulumi.get(self, "override_subscription_level_settings") + + @property + @pulumi.getter(name="sensitiveDataDiscovery") + def sensitive_data_discovery(self) -> Optional['outputs.SensitiveDataDiscoveryPropertiesResponse']: + """ + Properties of Sensitive Data Discovery. + """ + return pulumi.get(self, "sensitive_data_discovery") + + @property + @pulumi.getter + def type(self) -> str: + """ + Resource type + """ + return pulumi.get(self, "type") + + +class AwaitableGetDefenderForStorageResult(GetDefenderForStorageResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDefenderForStorageResult( + id=self.id, + is_enabled=self.is_enabled, + malware_scanning=self.malware_scanning, + name=self.name, + override_subscription_level_settings=self.override_subscription_level_settings, + sensitive_data_discovery=self.sensitive_data_discovery, + type=self.type) + + +def get_defender_for_storage(resource_id: Optional[str] = None, + setting_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDefenderForStorageResult: + """ + Gets the Defender for Storage settings for the specified storage account. + + + :param str resource_id: The identifier of the resource. + :param str setting_name: Defender for Storage setting name. + """ + __args__ = dict() + __args__['resourceId'] = resource_id + __args__['settingName'] = setting_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('azure-native:security/v20221201preview:getDefenderForStorage', __args__, opts=opts, typ=GetDefenderForStorageResult).value + + return AwaitableGetDefenderForStorageResult( + id=pulumi.get(__ret__, 'id'), + is_enabled=pulumi.get(__ret__, 'is_enabled'), + malware_scanning=pulumi.get(__ret__, 'malware_scanning'), + name=pulumi.get(__ret__, 'name'), + override_subscription_level_settings=pulumi.get(__ret__, 'override_subscription_level_settings'), + sensitive_data_discovery=pulumi.get(__ret__, 'sensitive_data_discovery'), + type=pulumi.get(__ret__, 'type')) + + +@_utilities.lift_output_func(get_defender_for_storage) +def get_defender_for_storage_output(resource_id: Optional[pulumi.Input[str]] = None, + setting_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDefenderForStorageResult]: + """ + Gets the Defender for Storage settings for the specified storage account. + + + :param str resource_id: The identifier of the resource. + :param str setting_name: Defender for Storage setting name. + """ + ... diff --git a/sdk/python/pulumi_azure_native/security/v20221201preview/outputs.py b/sdk/python/pulumi_azure_native/security/v20221201preview/outputs.py new file mode 100644 index 000000000000..2a68c21c9c38 --- /dev/null +++ b/sdk/python/pulumi_azure_native/security/v20221201preview/outputs.py @@ -0,0 +1,187 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from ... import _utilities +from . import outputs + +__all__ = [ + 'MalwareScanningPropertiesResponse', + 'OperationStatusResponse', + 'SensitiveDataDiscoveryPropertiesResponse', +] + +@pulumi.output_type +class MalwareScanningPropertiesResponse(dict): + """ + Properties of Malware Scanning. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "operationStatus": + suggest = "operation_status" + elif key == "capGBPerMonth": + suggest = "cap_gb_per_month" + elif key == "isEnabled": + suggest = "is_enabled" + elif key == "scanResultsEventGridTopicResourceId": + suggest = "scan_results_event_grid_topic_resource_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MalwareScanningPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MalwareScanningPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MalwareScanningPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + operation_status: 'outputs.OperationStatusResponse', + cap_gb_per_month: Optional[int] = None, + is_enabled: Optional[bool] = None, + scan_results_event_grid_topic_resource_id: Optional[str] = None): + """ + Properties of Malware Scanning. + :param 'OperationStatusResponse' operation_status: Upon failure or partial success. Additional data describing Malware Scanning enable/disable operation. + :param int cap_gb_per_month: Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + :param bool is_enabled: Indicates whether On Upload malware scanning should be enabled. + :param str scan_results_event_grid_topic_resource_id: Optional. Resource id of an Event Grid Topic to send scan results to. + """ + pulumi.set(__self__, "operation_status", operation_status) + if cap_gb_per_month is not None: + pulumi.set(__self__, "cap_gb_per_month", cap_gb_per_month) + if is_enabled is not None: + pulumi.set(__self__, "is_enabled", is_enabled) + if scan_results_event_grid_topic_resource_id is not None: + pulumi.set(__self__, "scan_results_event_grid_topic_resource_id", scan_results_event_grid_topic_resource_id) + + @property + @pulumi.getter(name="operationStatus") + def operation_status(self) -> 'outputs.OperationStatusResponse': + """ + Upon failure or partial success. Additional data describing Malware Scanning enable/disable operation. + """ + return pulumi.get(self, "operation_status") + + @property + @pulumi.getter(name="capGBPerMonth") + def cap_gb_per_month(self) -> Optional[int]: + """ + Defines the max GB to be scanned per Month. Set to -1 if no capping is needed. + """ + return pulumi.get(self, "cap_gb_per_month") + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> Optional[bool]: + """ + Indicates whether On Upload malware scanning should be enabled. + """ + return pulumi.get(self, "is_enabled") + + @property + @pulumi.getter(name="scanResultsEventGridTopicResourceId") + def scan_results_event_grid_topic_resource_id(self) -> Optional[str]: + """ + Optional. Resource id of an Event Grid Topic to send scan results to. + """ + return pulumi.get(self, "scan_results_event_grid_topic_resource_id") + + +@pulumi.output_type +class OperationStatusResponse(dict): + """ + A status describing the success/failure of the enablement/disablement operation. + """ + def __init__(__self__, *, + code: Optional[str] = None, + message: Optional[str] = None): + """ + A status describing the success/failure of the enablement/disablement operation. + :param str code: The operation status code. + :param str message: Additional information regarding the success/failure of the operation. + """ + if code is not None: + pulumi.set(__self__, "code", code) + if message is not None: + pulumi.set(__self__, "message", message) + + @property + @pulumi.getter + def code(self) -> Optional[str]: + """ + The operation status code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + Additional information regarding the success/failure of the operation. + """ + return pulumi.get(self, "message") + + +@pulumi.output_type +class SensitiveDataDiscoveryPropertiesResponse(dict): + """ + Properties of Sensitive Data Discovery. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "operationStatus": + suggest = "operation_status" + elif key == "isEnabled": + suggest = "is_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SensitiveDataDiscoveryPropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SensitiveDataDiscoveryPropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SensitiveDataDiscoveryPropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + operation_status: 'outputs.OperationStatusResponse', + is_enabled: Optional[bool] = None): + """ + Properties of Sensitive Data Discovery. + :param 'OperationStatusResponse' operation_status: Upon failure or partial success. Additional data describing Sensitive Data Discovery enable/disable operation. + :param bool is_enabled: Indicates whether Sensitive Data Discovery should be enabled. + """ + pulumi.set(__self__, "operation_status", operation_status) + if is_enabled is not None: + pulumi.set(__self__, "is_enabled", is_enabled) + + @property + @pulumi.getter(name="operationStatus") + def operation_status(self) -> 'outputs.OperationStatusResponse': + """ + Upon failure or partial success. Additional data describing Sensitive Data Discovery enable/disable operation. + """ + return pulumi.get(self, "operation_status") + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> Optional[bool]: + """ + Indicates whether Sensitive Data Discovery should be enabled. + """ + return pulumi.get(self, "is_enabled") + + diff --git a/sdk/python/pulumi_azure_native/vmwarecloudsimple/dedicated_cloud_node.py b/sdk/python/pulumi_azure_native/vmwarecloudsimple/dedicated_cloud_node.py index 1aceb8e7995a..db8aeb4ffd98 100644 --- a/sdk/python/pulumi_azure_native/vmwarecloudsimple/dedicated_cloud_node.py +++ b/sdk/python/pulumi_azure_native/vmwarecloudsimple/dedicated_cloud_node.py @@ -295,16 +295,8 @@ def _internal_init(__self__, __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["sku"] = sku __props__.__dict__["tags"] = tags - __props__.__dict__["availability_zone_name"] = None - __props__.__dict__["cloud_rack_name"] = None - __props__.__dict__["created"] = None - __props__.__dict__["placement_group_name"] = None - __props__.__dict__["private_cloud_id"] = None - __props__.__dict__["private_cloud_name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["status"] = None + __props__.__dict__["properties"] = None __props__.__dict__["type"] = None - __props__.__dict__["vmware_cluster_name"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:vmwarecloudsimple/v20190401:DedicatedCloudNode")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DedicatedCloudNode, __self__).__init__( @@ -329,58 +321,14 @@ def get(resource_name: str, __props__ = DedicatedCloudNodeArgs.__new__(DedicatedCloudNodeArgs) - __props__.__dict__["availability_zone_id"] = None - __props__.__dict__["availability_zone_name"] = None - __props__.__dict__["cloud_rack_name"] = None - __props__.__dict__["created"] = None __props__.__dict__["location"] = None __props__.__dict__["name"] = None - __props__.__dict__["nodes_count"] = None - __props__.__dict__["placement_group_id"] = None - __props__.__dict__["placement_group_name"] = None - __props__.__dict__["private_cloud_id"] = None - __props__.__dict__["private_cloud_name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["purchase_id"] = None + __props__.__dict__["properties"] = None __props__.__dict__["sku"] = None - __props__.__dict__["status"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None - __props__.__dict__["vmware_cluster_name"] = None return DedicatedCloudNode(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="availabilityZoneId") - def availability_zone_id(self) -> pulumi.Output[str]: - """ - Availability Zone id, e.g. "az1" - """ - return pulumi.get(self, "availability_zone_id") - - @property - @pulumi.getter(name="availabilityZoneName") - def availability_zone_name(self) -> pulumi.Output[str]: - """ - Availability Zone name, e.g. "Availability Zone 1" - """ - return pulumi.get(self, "availability_zone_name") - - @property - @pulumi.getter(name="cloudRackName") - def cloud_rack_name(self) -> pulumi.Output[str]: - """ - VMWare Cloud Rack Name - """ - return pulumi.get(self, "cloud_rack_name") - - @property - @pulumi.getter - def created(self) -> pulumi.Output[str]: - """ - date time the resource was created - """ - return pulumi.get(self, "created") - @property @pulumi.getter def location(self) -> pulumi.Output[str]: @@ -393,65 +341,17 @@ def location(self) -> pulumi.Output[str]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - SKU's name + {dedicatedCloudNodeName} """ return pulumi.get(self, "name") @property - @pulumi.getter(name="nodesCount") - def nodes_count(self) -> pulumi.Output[int]: - """ - count of nodes to create - """ - return pulumi.get(self, "nodes_count") - - @property - @pulumi.getter(name="placementGroupId") - def placement_group_id(self) -> pulumi.Output[str]: - """ - Placement Group id, e.g. "n1" - """ - return pulumi.get(self, "placement_group_id") - - @property - @pulumi.getter(name="placementGroupName") - def placement_group_name(self) -> pulumi.Output[str]: - """ - Placement Name, e.g. "Placement Group 1" - """ - return pulumi.get(self, "placement_group_name") - - @property - @pulumi.getter(name="privateCloudId") - def private_cloud_id(self) -> pulumi.Output[str]: - """ - Private Cloud Id - """ - return pulumi.get(self, "private_cloud_id") - - @property - @pulumi.getter(name="privateCloudName") - def private_cloud_name(self) -> pulumi.Output[str]: - """ - Resource Pool Name - """ - return pulumi.get(self, "private_cloud_name") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning status of the resource - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="purchaseId") - def purchase_id(self) -> pulumi.Output[str]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.DedicatedCloudNodePropertiesResponse']: """ - purchase id + Dedicated Cloud Nodes properties """ - return pulumi.get(self, "purchase_id") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -461,14 +361,6 @@ def sku(self) -> pulumi.Output[Optional['outputs.SkuResponse']]: """ return pulumi.get(self, "sku") - @property - @pulumi.getter - def status(self) -> pulumi.Output[str]: - """ - Node status, indicates is private cloud set up on this node or not - """ - return pulumi.get(self, "status") - @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: @@ -485,11 +377,3 @@ def type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vmwareClusterName") - def vmware_cluster_name(self) -> pulumi.Output[str]: - """ - VMWare Cluster Name - """ - return pulumi.get(self, "vmware_cluster_name") - diff --git a/sdk/python/pulumi_azure_native/vmwarecloudsimple/get_dedicated_cloud_node.py b/sdk/python/pulumi_azure_native/vmwarecloudsimple/get_dedicated_cloud_node.py index f21e029aff6f..dff790fe2dde 100644 --- a/sdk/python/pulumi_azure_native/vmwarecloudsimple/get_dedicated_cloud_node.py +++ b/sdk/python/pulumi_azure_native/vmwarecloudsimple/get_dedicated_cloud_node.py @@ -22,19 +22,7 @@ class GetDedicatedCloudNodeResult: """ Dedicated cloud node model """ - def __init__(__self__, availability_zone_id=None, availability_zone_name=None, cloud_rack_name=None, created=None, id=None, location=None, name=None, nodes_count=None, placement_group_id=None, placement_group_name=None, private_cloud_id=None, private_cloud_name=None, provisioning_state=None, purchase_id=None, sku=None, status=None, tags=None, type=None, vmware_cluster_name=None): - if availability_zone_id and not isinstance(availability_zone_id, str): - raise TypeError("Expected argument 'availability_zone_id' to be a str") - pulumi.set(__self__, "availability_zone_id", availability_zone_id) - if availability_zone_name and not isinstance(availability_zone_name, str): - raise TypeError("Expected argument 'availability_zone_name' to be a str") - pulumi.set(__self__, "availability_zone_name", availability_zone_name) - if cloud_rack_name and not isinstance(cloud_rack_name, str): - raise TypeError("Expected argument 'cloud_rack_name' to be a str") - pulumi.set(__self__, "cloud_rack_name", cloud_rack_name) - if created and not isinstance(created, str): - raise TypeError("Expected argument 'created' to be a str") - pulumi.set(__self__, "created", created) + def __init__(__self__, id=None, location=None, name=None, properties=None, sku=None, tags=None, type=None): if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -44,80 +32,24 @@ def __init__(__self__, availability_zone_id=None, availability_zone_name=None, c if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if nodes_count and not isinstance(nodes_count, int): - raise TypeError("Expected argument 'nodes_count' to be a int") - pulumi.set(__self__, "nodes_count", nodes_count) - if placement_group_id and not isinstance(placement_group_id, str): - raise TypeError("Expected argument 'placement_group_id' to be a str") - pulumi.set(__self__, "placement_group_id", placement_group_id) - if placement_group_name and not isinstance(placement_group_name, str): - raise TypeError("Expected argument 'placement_group_name' to be a str") - pulumi.set(__self__, "placement_group_name", placement_group_name) - if private_cloud_id and not isinstance(private_cloud_id, str): - raise TypeError("Expected argument 'private_cloud_id' to be a str") - pulumi.set(__self__, "private_cloud_id", private_cloud_id) - if private_cloud_name and not isinstance(private_cloud_name, str): - raise TypeError("Expected argument 'private_cloud_name' to be a str") - pulumi.set(__self__, "private_cloud_name", private_cloud_name) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if purchase_id and not isinstance(purchase_id, str): - raise TypeError("Expected argument 'purchase_id' to be a str") - pulumi.set(__self__, "purchase_id", purchase_id) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) if sku and not isinstance(sku, dict): raise TypeError("Expected argument 'sku' to be a dict") pulumi.set(__self__, "sku", sku) - if status and not isinstance(status, str): - raise TypeError("Expected argument 'status' to be a str") - pulumi.set(__self__, "status", status) 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 vmware_cluster_name and not isinstance(vmware_cluster_name, str): - raise TypeError("Expected argument 'vmware_cluster_name' to be a str") - pulumi.set(__self__, "vmware_cluster_name", vmware_cluster_name) - - @property - @pulumi.getter(name="availabilityZoneId") - def availability_zone_id(self) -> str: - """ - Availability Zone id, e.g. "az1" - """ - return pulumi.get(self, "availability_zone_id") - - @property - @pulumi.getter(name="availabilityZoneName") - def availability_zone_name(self) -> str: - """ - Availability Zone name, e.g. "Availability Zone 1" - """ - return pulumi.get(self, "availability_zone_name") - - @property - @pulumi.getter(name="cloudRackName") - def cloud_rack_name(self) -> str: - """ - VMWare Cloud Rack Name - """ - return pulumi.get(self, "cloud_rack_name") - - @property - @pulumi.getter - def created(self) -> str: - """ - date time the resource was created - """ - return pulumi.get(self, "created") @property @pulumi.getter def id(self) -> str: """ - SKU's id + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/dedicatedCloudNodes/{dedicatedCloudNodeName} """ return pulumi.get(self, "id") @@ -133,65 +65,17 @@ def location(self) -> str: @pulumi.getter def name(self) -> str: """ - SKU's name + {dedicatedCloudNodeName} """ return pulumi.get(self, "name") @property - @pulumi.getter(name="nodesCount") - def nodes_count(self) -> int: - """ - count of nodes to create - """ - return pulumi.get(self, "nodes_count") - - @property - @pulumi.getter(name="placementGroupId") - def placement_group_id(self) -> str: - """ - Placement Group id, e.g. "n1" - """ - return pulumi.get(self, "placement_group_id") - - @property - @pulumi.getter(name="placementGroupName") - def placement_group_name(self) -> str: - """ - Placement Name, e.g. "Placement Group 1" - """ - return pulumi.get(self, "placement_group_name") - - @property - @pulumi.getter(name="privateCloudId") - def private_cloud_id(self) -> str: - """ - Private Cloud Id - """ - return pulumi.get(self, "private_cloud_id") - - @property - @pulumi.getter(name="privateCloudName") - def private_cloud_name(self) -> str: - """ - Resource Pool Name - """ - return pulumi.get(self, "private_cloud_name") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning status of the resource - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="purchaseId") - def purchase_id(self) -> str: + @pulumi.getter + def properties(self) -> 'outputs.DedicatedCloudNodePropertiesResponse': """ - purchase id + Dedicated Cloud Nodes properties """ - return pulumi.get(self, "purchase_id") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -201,14 +85,6 @@ def sku(self) -> Optional['outputs.SkuResponse']: """ return pulumi.get(self, "sku") - @property - @pulumi.getter - def status(self) -> str: - """ - Node status, indicates is private cloud set up on this node or not - """ - return pulumi.get(self, "status") - @property @pulumi.getter def tags(self) -> Optional[Mapping[str, str]]: @@ -225,14 +101,6 @@ def type(self) -> str: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vmwareClusterName") - def vmware_cluster_name(self) -> str: - """ - VMWare Cluster Name - """ - return pulumi.get(self, "vmware_cluster_name") - class AwaitableGetDedicatedCloudNodeResult(GetDedicatedCloudNodeResult): # pylint: disable=using-constant-test @@ -240,25 +108,13 @@ def __await__(self): if False: yield self return GetDedicatedCloudNodeResult( - availability_zone_id=self.availability_zone_id, - availability_zone_name=self.availability_zone_name, - cloud_rack_name=self.cloud_rack_name, - created=self.created, id=self.id, location=self.location, name=self.name, - nodes_count=self.nodes_count, - placement_group_id=self.placement_group_id, - placement_group_name=self.placement_group_name, - private_cloud_id=self.private_cloud_id, - private_cloud_name=self.private_cloud_name, - provisioning_state=self.provisioning_state, - purchase_id=self.purchase_id, + properties=self.properties, sku=self.sku, - status=self.status, tags=self.tags, - type=self.type, - vmware_cluster_name=self.vmware_cluster_name) + type=self.type) def get_dedicated_cloud_node(dedicated_cloud_node_name: Optional[str] = None, @@ -279,25 +135,13 @@ def get_dedicated_cloud_node(dedicated_cloud_node_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:vmwarecloudsimple:getDedicatedCloudNode', __args__, opts=opts, typ=GetDedicatedCloudNodeResult).value return AwaitableGetDedicatedCloudNodeResult( - availability_zone_id=pulumi.get(__ret__, 'availability_zone_id'), - availability_zone_name=pulumi.get(__ret__, 'availability_zone_name'), - cloud_rack_name=pulumi.get(__ret__, 'cloud_rack_name'), - created=pulumi.get(__ret__, 'created'), id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), - nodes_count=pulumi.get(__ret__, 'nodes_count'), - placement_group_id=pulumi.get(__ret__, 'placement_group_id'), - placement_group_name=pulumi.get(__ret__, 'placement_group_name'), - private_cloud_id=pulumi.get(__ret__, 'private_cloud_id'), - private_cloud_name=pulumi.get(__ret__, 'private_cloud_name'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), - purchase_id=pulumi.get(__ret__, 'purchase_id'), + properties=pulumi.get(__ret__, 'properties'), sku=pulumi.get(__ret__, 'sku'), - status=pulumi.get(__ret__, 'status'), tags=pulumi.get(__ret__, 'tags'), - type=pulumi.get(__ret__, 'type'), - vmware_cluster_name=pulumi.get(__ret__, 'vmware_cluster_name')) + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_dedicated_cloud_node) diff --git a/sdk/python/pulumi_azure_native/vmwarecloudsimple/outputs.py b/sdk/python/pulumi_azure_native/vmwarecloudsimple/outputs.py index 251629b694cf..d6e0b0ecefee 100644 --- a/sdk/python/pulumi_azure_native/vmwarecloudsimple/outputs.py +++ b/sdk/python/pulumi_azure_native/vmwarecloudsimple/outputs.py @@ -12,6 +12,7 @@ from ._enums import * __all__ = [ + 'DedicatedCloudNodePropertiesResponse', 'GuestOSCustomizationResponse', 'GuestOSNICCustomizationResponse', 'ResourcePoolResponse', @@ -22,6 +23,219 @@ 'VirtualNicResponse', ] +@pulumi.output_type +class DedicatedCloudNodePropertiesResponse(dict): + """ + Properties of dedicated cloud node + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "availabilityZoneId": + suggest = "availability_zone_id" + elif key == "availabilityZoneName": + suggest = "availability_zone_name" + elif key == "cloudRackName": + suggest = "cloud_rack_name" + elif key == "nodesCount": + suggest = "nodes_count" + elif key == "placementGroupId": + suggest = "placement_group_id" + elif key == "placementGroupName": + suggest = "placement_group_name" + elif key == "privateCloudId": + suggest = "private_cloud_id" + elif key == "privateCloudName": + suggest = "private_cloud_name" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "purchaseId": + suggest = "purchase_id" + elif key == "vmwareClusterName": + suggest = "vmware_cluster_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DedicatedCloudNodePropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DedicatedCloudNodePropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DedicatedCloudNodePropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + availability_zone_id: str, + availability_zone_name: str, + cloud_rack_name: str, + created: str, + id: str, + name: str, + nodes_count: int, + placement_group_id: str, + placement_group_name: str, + private_cloud_id: str, + private_cloud_name: str, + provisioning_state: str, + purchase_id: str, + status: str, + vmware_cluster_name: str): + """ + Properties of dedicated cloud node + :param str availability_zone_id: Availability Zone id, e.g. "az1" + :param str availability_zone_name: Availability Zone name, e.g. "Availability Zone 1" + :param str cloud_rack_name: VMWare Cloud Rack Name + :param str created: date time the resource was created + :param str id: SKU's id + :param str name: SKU's name + :param int nodes_count: count of nodes to create + :param str placement_group_id: Placement Group id, e.g. "n1" + :param str placement_group_name: Placement Name, e.g. "Placement Group 1" + :param str private_cloud_id: Private Cloud Id + :param str private_cloud_name: Resource Pool Name + :param str provisioning_state: The provisioning status of the resource + :param str purchase_id: purchase id + :param str status: Node status, indicates is private cloud set up on this node or not + :param str vmware_cluster_name: VMWare Cluster Name + """ + pulumi.set(__self__, "availability_zone_id", availability_zone_id) + pulumi.set(__self__, "availability_zone_name", availability_zone_name) + pulumi.set(__self__, "cloud_rack_name", cloud_rack_name) + pulumi.set(__self__, "created", created) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "nodes_count", nodes_count) + pulumi.set(__self__, "placement_group_id", placement_group_id) + pulumi.set(__self__, "placement_group_name", placement_group_name) + pulumi.set(__self__, "private_cloud_id", private_cloud_id) + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "purchase_id", purchase_id) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "vmware_cluster_name", vmware_cluster_name) + + @property + @pulumi.getter(name="availabilityZoneId") + def availability_zone_id(self) -> str: + """ + Availability Zone id, e.g. "az1" + """ + return pulumi.get(self, "availability_zone_id") + + @property + @pulumi.getter(name="availabilityZoneName") + def availability_zone_name(self) -> str: + """ + Availability Zone name, e.g. "Availability Zone 1" + """ + return pulumi.get(self, "availability_zone_name") + + @property + @pulumi.getter(name="cloudRackName") + def cloud_rack_name(self) -> str: + """ + VMWare Cloud Rack Name + """ + return pulumi.get(self, "cloud_rack_name") + + @property + @pulumi.getter + def created(self) -> str: + """ + date time the resource was created + """ + return pulumi.get(self, "created") + + @property + @pulumi.getter + def id(self) -> str: + """ + SKU's id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + SKU's name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nodesCount") + def nodes_count(self) -> int: + """ + count of nodes to create + """ + return pulumi.get(self, "nodes_count") + + @property + @pulumi.getter(name="placementGroupId") + def placement_group_id(self) -> str: + """ + Placement Group id, e.g. "n1" + """ + return pulumi.get(self, "placement_group_id") + + @property + @pulumi.getter(name="placementGroupName") + def placement_group_name(self) -> str: + """ + Placement Name, e.g. "Placement Group 1" + """ + return pulumi.get(self, "placement_group_name") + + @property + @pulumi.getter(name="privateCloudId") + def private_cloud_id(self) -> str: + """ + Private Cloud Id + """ + return pulumi.get(self, "private_cloud_id") + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> str: + """ + Resource Pool Name + """ + return pulumi.get(self, "private_cloud_name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning status of the resource + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="purchaseId") + def purchase_id(self) -> str: + """ + purchase id + """ + return pulumi.get(self, "purchase_id") + + @property + @pulumi.getter + def status(self) -> str: + """ + Node status, indicates is private cloud set up on this node or not + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="vmwareClusterName") + def vmware_cluster_name(self) -> str: + """ + VMWare Cluster Name + """ + return pulumi.get(self, "vmware_cluster_name") + + @pulumi.output_type class GuestOSCustomizationResponse(dict): """ diff --git a/sdk/python/pulumi_azure_native/vmwarecloudsimple/v20190401/dedicated_cloud_node.py b/sdk/python/pulumi_azure_native/vmwarecloudsimple/v20190401/dedicated_cloud_node.py index afaf9c077bac..3190850f03b5 100644 --- a/sdk/python/pulumi_azure_native/vmwarecloudsimple/v20190401/dedicated_cloud_node.py +++ b/sdk/python/pulumi_azure_native/vmwarecloudsimple/v20190401/dedicated_cloud_node.py @@ -293,16 +293,8 @@ def _internal_init(__self__, __props__.__dict__["resource_group_name"] = resource_group_name __props__.__dict__["sku"] = sku __props__.__dict__["tags"] = tags - __props__.__dict__["availability_zone_name"] = None - __props__.__dict__["cloud_rack_name"] = None - __props__.__dict__["created"] = None - __props__.__dict__["placement_group_name"] = None - __props__.__dict__["private_cloud_id"] = None - __props__.__dict__["private_cloud_name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["status"] = None + __props__.__dict__["properties"] = None __props__.__dict__["type"] = None - __props__.__dict__["vmware_cluster_name"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:vmwarecloudsimple:DedicatedCloudNode")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) super(DedicatedCloudNode, __self__).__init__( @@ -327,58 +319,14 @@ def get(resource_name: str, __props__ = DedicatedCloudNodeArgs.__new__(DedicatedCloudNodeArgs) - __props__.__dict__["availability_zone_id"] = None - __props__.__dict__["availability_zone_name"] = None - __props__.__dict__["cloud_rack_name"] = None - __props__.__dict__["created"] = None __props__.__dict__["location"] = None __props__.__dict__["name"] = None - __props__.__dict__["nodes_count"] = None - __props__.__dict__["placement_group_id"] = None - __props__.__dict__["placement_group_name"] = None - __props__.__dict__["private_cloud_id"] = None - __props__.__dict__["private_cloud_name"] = None - __props__.__dict__["provisioning_state"] = None - __props__.__dict__["purchase_id"] = None + __props__.__dict__["properties"] = None __props__.__dict__["sku"] = None - __props__.__dict__["status"] = None __props__.__dict__["tags"] = None __props__.__dict__["type"] = None - __props__.__dict__["vmware_cluster_name"] = None return DedicatedCloudNode(resource_name, opts=opts, __props__=__props__) - @property - @pulumi.getter(name="availabilityZoneId") - def availability_zone_id(self) -> pulumi.Output[str]: - """ - Availability Zone id, e.g. "az1" - """ - return pulumi.get(self, "availability_zone_id") - - @property - @pulumi.getter(name="availabilityZoneName") - def availability_zone_name(self) -> pulumi.Output[str]: - """ - Availability Zone name, e.g. "Availability Zone 1" - """ - return pulumi.get(self, "availability_zone_name") - - @property - @pulumi.getter(name="cloudRackName") - def cloud_rack_name(self) -> pulumi.Output[str]: - """ - VMWare Cloud Rack Name - """ - return pulumi.get(self, "cloud_rack_name") - - @property - @pulumi.getter - def created(self) -> pulumi.Output[str]: - """ - date time the resource was created - """ - return pulumi.get(self, "created") - @property @pulumi.getter def location(self) -> pulumi.Output[str]: @@ -391,65 +339,17 @@ def location(self) -> pulumi.Output[str]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - SKU's name + {dedicatedCloudNodeName} """ return pulumi.get(self, "name") @property - @pulumi.getter(name="nodesCount") - def nodes_count(self) -> pulumi.Output[int]: - """ - count of nodes to create - """ - return pulumi.get(self, "nodes_count") - - @property - @pulumi.getter(name="placementGroupId") - def placement_group_id(self) -> pulumi.Output[str]: - """ - Placement Group id, e.g. "n1" - """ - return pulumi.get(self, "placement_group_id") - - @property - @pulumi.getter(name="placementGroupName") - def placement_group_name(self) -> pulumi.Output[str]: - """ - Placement Name, e.g. "Placement Group 1" - """ - return pulumi.get(self, "placement_group_name") - - @property - @pulumi.getter(name="privateCloudId") - def private_cloud_id(self) -> pulumi.Output[str]: - """ - Private Cloud Id - """ - return pulumi.get(self, "private_cloud_id") - - @property - @pulumi.getter(name="privateCloudName") - def private_cloud_name(self) -> pulumi.Output[str]: - """ - Resource Pool Name - """ - return pulumi.get(self, "private_cloud_name") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> pulumi.Output[str]: - """ - The provisioning status of the resource - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="purchaseId") - def purchase_id(self) -> pulumi.Output[str]: + @pulumi.getter + def properties(self) -> pulumi.Output['outputs.DedicatedCloudNodePropertiesResponse']: """ - purchase id + Dedicated Cloud Nodes properties """ - return pulumi.get(self, "purchase_id") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -459,14 +359,6 @@ def sku(self) -> pulumi.Output[Optional['outputs.SkuResponse']]: """ return pulumi.get(self, "sku") - @property - @pulumi.getter - def status(self) -> pulumi.Output[str]: - """ - Node status, indicates is private cloud set up on this node or not - """ - return pulumi.get(self, "status") - @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: @@ -483,11 +375,3 @@ def type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vmwareClusterName") - def vmware_cluster_name(self) -> pulumi.Output[str]: - """ - VMWare Cluster Name - """ - return pulumi.get(self, "vmware_cluster_name") - diff --git a/sdk/python/pulumi_azure_native/vmwarecloudsimple/v20190401/get_dedicated_cloud_node.py b/sdk/python/pulumi_azure_native/vmwarecloudsimple/v20190401/get_dedicated_cloud_node.py index fa165587c64d..fac01f7041c6 100644 --- a/sdk/python/pulumi_azure_native/vmwarecloudsimple/v20190401/get_dedicated_cloud_node.py +++ b/sdk/python/pulumi_azure_native/vmwarecloudsimple/v20190401/get_dedicated_cloud_node.py @@ -22,19 +22,7 @@ class GetDedicatedCloudNodeResult: """ Dedicated cloud node model """ - def __init__(__self__, availability_zone_id=None, availability_zone_name=None, cloud_rack_name=None, created=None, id=None, location=None, name=None, nodes_count=None, placement_group_id=None, placement_group_name=None, private_cloud_id=None, private_cloud_name=None, provisioning_state=None, purchase_id=None, sku=None, status=None, tags=None, type=None, vmware_cluster_name=None): - if availability_zone_id and not isinstance(availability_zone_id, str): - raise TypeError("Expected argument 'availability_zone_id' to be a str") - pulumi.set(__self__, "availability_zone_id", availability_zone_id) - if availability_zone_name and not isinstance(availability_zone_name, str): - raise TypeError("Expected argument 'availability_zone_name' to be a str") - pulumi.set(__self__, "availability_zone_name", availability_zone_name) - if cloud_rack_name and not isinstance(cloud_rack_name, str): - raise TypeError("Expected argument 'cloud_rack_name' to be a str") - pulumi.set(__self__, "cloud_rack_name", cloud_rack_name) - if created and not isinstance(created, str): - raise TypeError("Expected argument 'created' to be a str") - pulumi.set(__self__, "created", created) + def __init__(__self__, id=None, location=None, name=None, properties=None, sku=None, tags=None, type=None): if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -44,80 +32,24 @@ def __init__(__self__, availability_zone_id=None, availability_zone_name=None, c if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if nodes_count and not isinstance(nodes_count, int): - raise TypeError("Expected argument 'nodes_count' to be a int") - pulumi.set(__self__, "nodes_count", nodes_count) - if placement_group_id and not isinstance(placement_group_id, str): - raise TypeError("Expected argument 'placement_group_id' to be a str") - pulumi.set(__self__, "placement_group_id", placement_group_id) - if placement_group_name and not isinstance(placement_group_name, str): - raise TypeError("Expected argument 'placement_group_name' to be a str") - pulumi.set(__self__, "placement_group_name", placement_group_name) - if private_cloud_id and not isinstance(private_cloud_id, str): - raise TypeError("Expected argument 'private_cloud_id' to be a str") - pulumi.set(__self__, "private_cloud_id", private_cloud_id) - if private_cloud_name and not isinstance(private_cloud_name, str): - raise TypeError("Expected argument 'private_cloud_name' to be a str") - pulumi.set(__self__, "private_cloud_name", private_cloud_name) - if provisioning_state and not isinstance(provisioning_state, str): - raise TypeError("Expected argument 'provisioning_state' to be a str") - pulumi.set(__self__, "provisioning_state", provisioning_state) - if purchase_id and not isinstance(purchase_id, str): - raise TypeError("Expected argument 'purchase_id' to be a str") - pulumi.set(__self__, "purchase_id", purchase_id) + if properties and not isinstance(properties, dict): + raise TypeError("Expected argument 'properties' to be a dict") + pulumi.set(__self__, "properties", properties) if sku and not isinstance(sku, dict): raise TypeError("Expected argument 'sku' to be a dict") pulumi.set(__self__, "sku", sku) - if status and not isinstance(status, str): - raise TypeError("Expected argument 'status' to be a str") - pulumi.set(__self__, "status", status) 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 vmware_cluster_name and not isinstance(vmware_cluster_name, str): - raise TypeError("Expected argument 'vmware_cluster_name' to be a str") - pulumi.set(__self__, "vmware_cluster_name", vmware_cluster_name) - - @property - @pulumi.getter(name="availabilityZoneId") - def availability_zone_id(self) -> str: - """ - Availability Zone id, e.g. "az1" - """ - return pulumi.get(self, "availability_zone_id") - - @property - @pulumi.getter(name="availabilityZoneName") - def availability_zone_name(self) -> str: - """ - Availability Zone name, e.g. "Availability Zone 1" - """ - return pulumi.get(self, "availability_zone_name") - - @property - @pulumi.getter(name="cloudRackName") - def cloud_rack_name(self) -> str: - """ - VMWare Cloud Rack Name - """ - return pulumi.get(self, "cloud_rack_name") - - @property - @pulumi.getter - def created(self) -> str: - """ - date time the resource was created - """ - return pulumi.get(self, "created") @property @pulumi.getter def id(self) -> str: """ - SKU's id + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/dedicatedCloudNodes/{dedicatedCloudNodeName} """ return pulumi.get(self, "id") @@ -133,65 +65,17 @@ def location(self) -> str: @pulumi.getter def name(self) -> str: """ - SKU's name + {dedicatedCloudNodeName} """ return pulumi.get(self, "name") @property - @pulumi.getter(name="nodesCount") - def nodes_count(self) -> int: - """ - count of nodes to create - """ - return pulumi.get(self, "nodes_count") - - @property - @pulumi.getter(name="placementGroupId") - def placement_group_id(self) -> str: - """ - Placement Group id, e.g. "n1" - """ - return pulumi.get(self, "placement_group_id") - - @property - @pulumi.getter(name="placementGroupName") - def placement_group_name(self) -> str: - """ - Placement Name, e.g. "Placement Group 1" - """ - return pulumi.get(self, "placement_group_name") - - @property - @pulumi.getter(name="privateCloudId") - def private_cloud_id(self) -> str: - """ - Private Cloud Id - """ - return pulumi.get(self, "private_cloud_id") - - @property - @pulumi.getter(name="privateCloudName") - def private_cloud_name(self) -> str: - """ - Resource Pool Name - """ - return pulumi.get(self, "private_cloud_name") - - @property - @pulumi.getter(name="provisioningState") - def provisioning_state(self) -> str: - """ - The provisioning status of the resource - """ - return pulumi.get(self, "provisioning_state") - - @property - @pulumi.getter(name="purchaseId") - def purchase_id(self) -> str: + @pulumi.getter + def properties(self) -> 'outputs.DedicatedCloudNodePropertiesResponse': """ - purchase id + Dedicated Cloud Nodes properties """ - return pulumi.get(self, "purchase_id") + return pulumi.get(self, "properties") @property @pulumi.getter @@ -201,14 +85,6 @@ def sku(self) -> Optional['outputs.SkuResponse']: """ return pulumi.get(self, "sku") - @property - @pulumi.getter - def status(self) -> str: - """ - Node status, indicates is private cloud set up on this node or not - """ - return pulumi.get(self, "status") - @property @pulumi.getter def tags(self) -> Optional[Mapping[str, str]]: @@ -225,14 +101,6 @@ def type(self) -> str: """ return pulumi.get(self, "type") - @property - @pulumi.getter(name="vmwareClusterName") - def vmware_cluster_name(self) -> str: - """ - VMWare Cluster Name - """ - return pulumi.get(self, "vmware_cluster_name") - class AwaitableGetDedicatedCloudNodeResult(GetDedicatedCloudNodeResult): # pylint: disable=using-constant-test @@ -240,25 +108,13 @@ def __await__(self): if False: yield self return GetDedicatedCloudNodeResult( - availability_zone_id=self.availability_zone_id, - availability_zone_name=self.availability_zone_name, - cloud_rack_name=self.cloud_rack_name, - created=self.created, id=self.id, location=self.location, name=self.name, - nodes_count=self.nodes_count, - placement_group_id=self.placement_group_id, - placement_group_name=self.placement_group_name, - private_cloud_id=self.private_cloud_id, - private_cloud_name=self.private_cloud_name, - provisioning_state=self.provisioning_state, - purchase_id=self.purchase_id, + properties=self.properties, sku=self.sku, - status=self.status, tags=self.tags, - type=self.type, - vmware_cluster_name=self.vmware_cluster_name) + type=self.type) def get_dedicated_cloud_node(dedicated_cloud_node_name: Optional[str] = None, @@ -278,25 +134,13 @@ def get_dedicated_cloud_node(dedicated_cloud_node_name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('azure-native:vmwarecloudsimple/v20190401:getDedicatedCloudNode', __args__, opts=opts, typ=GetDedicatedCloudNodeResult).value return AwaitableGetDedicatedCloudNodeResult( - availability_zone_id=pulumi.get(__ret__, 'availability_zone_id'), - availability_zone_name=pulumi.get(__ret__, 'availability_zone_name'), - cloud_rack_name=pulumi.get(__ret__, 'cloud_rack_name'), - created=pulumi.get(__ret__, 'created'), id=pulumi.get(__ret__, 'id'), location=pulumi.get(__ret__, 'location'), name=pulumi.get(__ret__, 'name'), - nodes_count=pulumi.get(__ret__, 'nodes_count'), - placement_group_id=pulumi.get(__ret__, 'placement_group_id'), - placement_group_name=pulumi.get(__ret__, 'placement_group_name'), - private_cloud_id=pulumi.get(__ret__, 'private_cloud_id'), - private_cloud_name=pulumi.get(__ret__, 'private_cloud_name'), - provisioning_state=pulumi.get(__ret__, 'provisioning_state'), - purchase_id=pulumi.get(__ret__, 'purchase_id'), + properties=pulumi.get(__ret__, 'properties'), sku=pulumi.get(__ret__, 'sku'), - status=pulumi.get(__ret__, 'status'), tags=pulumi.get(__ret__, 'tags'), - type=pulumi.get(__ret__, 'type'), - vmware_cluster_name=pulumi.get(__ret__, 'vmware_cluster_name')) + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_dedicated_cloud_node) diff --git a/sdk/python/pulumi_azure_native/vmwarecloudsimple/v20190401/outputs.py b/sdk/python/pulumi_azure_native/vmwarecloudsimple/v20190401/outputs.py index a0d2b81c9f71..2e1b2159f685 100644 --- a/sdk/python/pulumi_azure_native/vmwarecloudsimple/v20190401/outputs.py +++ b/sdk/python/pulumi_azure_native/vmwarecloudsimple/v20190401/outputs.py @@ -12,6 +12,7 @@ from ._enums import * __all__ = [ + 'DedicatedCloudNodePropertiesResponse', 'GuestOSCustomizationResponse', 'GuestOSNICCustomizationResponse', 'ResourcePoolResponse', @@ -22,6 +23,219 @@ 'VirtualNicResponse', ] +@pulumi.output_type +class DedicatedCloudNodePropertiesResponse(dict): + """ + Properties of dedicated cloud node + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "availabilityZoneId": + suggest = "availability_zone_id" + elif key == "availabilityZoneName": + suggest = "availability_zone_name" + elif key == "cloudRackName": + suggest = "cloud_rack_name" + elif key == "nodesCount": + suggest = "nodes_count" + elif key == "placementGroupId": + suggest = "placement_group_id" + elif key == "placementGroupName": + suggest = "placement_group_name" + elif key == "privateCloudId": + suggest = "private_cloud_id" + elif key == "privateCloudName": + suggest = "private_cloud_name" + elif key == "provisioningState": + suggest = "provisioning_state" + elif key == "purchaseId": + suggest = "purchase_id" + elif key == "vmwareClusterName": + suggest = "vmware_cluster_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DedicatedCloudNodePropertiesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DedicatedCloudNodePropertiesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DedicatedCloudNodePropertiesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + availability_zone_id: str, + availability_zone_name: str, + cloud_rack_name: str, + created: str, + id: str, + name: str, + nodes_count: int, + placement_group_id: str, + placement_group_name: str, + private_cloud_id: str, + private_cloud_name: str, + provisioning_state: str, + purchase_id: str, + status: str, + vmware_cluster_name: str): + """ + Properties of dedicated cloud node + :param str availability_zone_id: Availability Zone id, e.g. "az1" + :param str availability_zone_name: Availability Zone name, e.g. "Availability Zone 1" + :param str cloud_rack_name: VMWare Cloud Rack Name + :param str created: date time the resource was created + :param str id: SKU's id + :param str name: SKU's name + :param int nodes_count: count of nodes to create + :param str placement_group_id: Placement Group id, e.g. "n1" + :param str placement_group_name: Placement Name, e.g. "Placement Group 1" + :param str private_cloud_id: Private Cloud Id + :param str private_cloud_name: Resource Pool Name + :param str provisioning_state: The provisioning status of the resource + :param str purchase_id: purchase id + :param str status: Node status, indicates is private cloud set up on this node or not + :param str vmware_cluster_name: VMWare Cluster Name + """ + pulumi.set(__self__, "availability_zone_id", availability_zone_id) + pulumi.set(__self__, "availability_zone_name", availability_zone_name) + pulumi.set(__self__, "cloud_rack_name", cloud_rack_name) + pulumi.set(__self__, "created", created) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "nodes_count", nodes_count) + pulumi.set(__self__, "placement_group_id", placement_group_id) + pulumi.set(__self__, "placement_group_name", placement_group_name) + pulumi.set(__self__, "private_cloud_id", private_cloud_id) + pulumi.set(__self__, "private_cloud_name", private_cloud_name) + pulumi.set(__self__, "provisioning_state", provisioning_state) + pulumi.set(__self__, "purchase_id", purchase_id) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "vmware_cluster_name", vmware_cluster_name) + + @property + @pulumi.getter(name="availabilityZoneId") + def availability_zone_id(self) -> str: + """ + Availability Zone id, e.g. "az1" + """ + return pulumi.get(self, "availability_zone_id") + + @property + @pulumi.getter(name="availabilityZoneName") + def availability_zone_name(self) -> str: + """ + Availability Zone name, e.g. "Availability Zone 1" + """ + return pulumi.get(self, "availability_zone_name") + + @property + @pulumi.getter(name="cloudRackName") + def cloud_rack_name(self) -> str: + """ + VMWare Cloud Rack Name + """ + return pulumi.get(self, "cloud_rack_name") + + @property + @pulumi.getter + def created(self) -> str: + """ + date time the resource was created + """ + return pulumi.get(self, "created") + + @property + @pulumi.getter + def id(self) -> str: + """ + SKU's id + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + SKU's name + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="nodesCount") + def nodes_count(self) -> int: + """ + count of nodes to create + """ + return pulumi.get(self, "nodes_count") + + @property + @pulumi.getter(name="placementGroupId") + def placement_group_id(self) -> str: + """ + Placement Group id, e.g. "n1" + """ + return pulumi.get(self, "placement_group_id") + + @property + @pulumi.getter(name="placementGroupName") + def placement_group_name(self) -> str: + """ + Placement Name, e.g. "Placement Group 1" + """ + return pulumi.get(self, "placement_group_name") + + @property + @pulumi.getter(name="privateCloudId") + def private_cloud_id(self) -> str: + """ + Private Cloud Id + """ + return pulumi.get(self, "private_cloud_id") + + @property + @pulumi.getter(name="privateCloudName") + def private_cloud_name(self) -> str: + """ + Resource Pool Name + """ + return pulumi.get(self, "private_cloud_name") + + @property + @pulumi.getter(name="provisioningState") + def provisioning_state(self) -> str: + """ + The provisioning status of the resource + """ + return pulumi.get(self, "provisioning_state") + + @property + @pulumi.getter(name="purchaseId") + def purchase_id(self) -> str: + """ + purchase id + """ + return pulumi.get(self, "purchase_id") + + @property + @pulumi.getter + def status(self) -> str: + """ + Node status, indicates is private cloud set up on this node or not + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="vmwareClusterName") + def vmware_cluster_name(self) -> str: + """ + VMWare Cluster Name + """ + return pulumi.get(self, "vmware_cluster_name") + + @pulumi.output_type class GuestOSCustomizationResponse(dict): """ diff --git a/versions/v2-lock.json b/versions/v2-lock.json index 7b328b5f6697..4d5f79dce214 100644 --- a/versions/v2-lock.json +++ b/versions/v2-lock.json @@ -2139,6 +2139,7 @@ "Connector": "2020-01-01-preview", "CustomAssessmentAutomation": "2021-07-01-preview", "CustomEntityStoreAssignment": "2021-07-01-preview", + "DefenderForStorage": "2022-12-01-preview", "DevOpsConfiguration": "2023-09-01-preview", "DeviceSecurityGroup": "2019-08-01", "GovernanceAssignment": "2022-01-01-preview", diff --git a/versions/v2-spec.yaml b/versions/v2-spec.yaml index f5bd9d91bdb2..ffd2d9cfee67 100644 --- a/versions/v2-spec.yaml +++ b/versions/v2-spec.yaml @@ -1425,6 +1425,7 @@ Security: Connector: 2020-01-01-preview CustomAssessmentAutomation: 2021-07-01-preview CustomEntityStoreAssignment: 2021-07-01-preview + DefenderForStorage: 2022-12-01-preview DevOpsConfiguration: 2023-09-01-preview DeviceSecurityGroup: "2019-08-01" GovernanceAssignment: 2022-01-01-preview