From d0b146350bf494849914c441e1f578119667d846 Mon Sep 17 00:00:00 2001 From: Pulumi Bot <30351955+pulumi-bot@users.noreply.github.com> Date: Tue, 29 Oct 2024 01:32:55 -0700 Subject: [PATCH] Upgrade terraform-provider-spotinst to v1.196.0 (#863) This PR was generated via `$ upgrade-provider pulumi/pulumi-spotinst --kind=all`. --- - Upgrading terraform-provider-spotinst from 1.195.0 to 1.196.0. Fixes #862 Fixes #860 --- .../bridge-metadata.json | 85 + .../cmd/pulumi-resource-spotinst/schema.json | 621 ++- provider/go.mod | 4 +- provider/go.sum | 8 +- ...eanLaunchSpecUpdatePolicyRollConfigArgs.cs | 6 + ...LaunchSpecUpdatePolicyRollConfigGetArgs.cs | 6 + .../OceanLaunchSpecUpdatePolicyRollConfig.cs | 10 +- sdk/dotnet/ElastigroupAzureV3.cs | 280 + .../ElastigroupAzureV3BootDiagnosticArgs.cs | 29 + ...ElastigroupAzureV3BootDiagnosticGetArgs.cs | 29 + ...astigroupAzureV3CapacityReservationArgs.cs | 29 + ...eservationCapacityReservationGroupsArgs.cs | 29 + ...rvationCapacityReservationGroupsGetArgs.cs | 29 + ...igroupAzureV3CapacityReservationGetArgs.cs | 29 + .../Inputs/ElastigroupAzureV3DataDiskArgs.cs | 29 + .../ElastigroupAzureV3DataDiskGetArgs.cs | 29 + .../Inputs/ElastigroupAzureV3HealthArgs.cs | 37 + .../Inputs/ElastigroupAzureV3HealthGetArgs.cs | 37 + .../ElastigroupAzureV3LoadBalancerArgs.cs | 40 + .../ElastigroupAzureV3LoadBalancerGetArgs.cs | 40 + ...groupAzureV3NetworkNetworkInterfaceArgs.cs | 22 + ...upAzureV3NetworkNetworkInterfaceGetArgs.cs | 22 + ...etworkNetworkInterfaceSecurityGroupArgs.cs | 26 + ...orkNetworkInterfaceSecurityGroupGetArgs.cs | 26 + .../Inputs/ElastigroupAzureV3OsDiskArgs.cs | 26 + .../Inputs/ElastigroupAzureV3OsDiskGetArgs.cs | 26 + ...groupAzureV3ProximityPlacementGroupArgs.cs | 26 + ...upAzureV3ProximityPlacementGroupGetArgs.cs | 26 + .../ElastigroupAzureV3RevertToSpotArgs.cs | 23 + .../ElastigroupAzureV3RevertToSpotGetArgs.cs | 23 + .../ElastigroupAzureV3SchedulingTaskArgs.cs | 50 + ...ElastigroupAzureV3SchedulingTaskGetArgs.cs | 50 + .../Inputs/ElastigroupAzureV3SecretArgs.cs | 36 + .../Inputs/ElastigroupAzureV3SecretGetArgs.cs | 36 + ...ElastigroupAzureV3SecretSourceVaultArgs.cs | 26 + ...stigroupAzureV3SecretSourceVaultGetArgs.cs | 26 + ...igroupAzureV3SecretVaultCertificateArgs.cs | 26 + ...oupAzureV3SecretVaultCertificateGetArgs.cs | 26 + .../Inputs/ElastigroupAzureV3SecurityArgs.cs | 32 + .../ElastigroupAzureV3SecurityGetArgs.cs | 32 + .../Inputs/ElastigroupAzureV3SignalArgs.cs | 26 + .../Inputs/ElastigroupAzureV3SignalGetArgs.cs | 26 + .../Inputs/ElastigroupAzureV3VmSizesArgs.cs | 8 + .../ElastigroupAzureV3VmSizesGetArgs.cs | 8 + .../ElastigroupAzureV3BootDiagnostic.cs | 33 + .../ElastigroupAzureV3CapacityReservation.cs | 33 + ...ityReservationCapacityReservationGroups.cs | 33 + .../Outputs/ElastigroupAzureV3DataDisk.cs | 33 + .../Outputs/ElastigroupAzureV3Health.cs | 37 + .../Outputs/ElastigroupAzureV3LoadBalancer.cs | 41 + ...astigroupAzureV3NetworkNetworkInterface.cs | 16 + ...eV3NetworkNetworkInterfaceSecurityGroup.cs | 29 + .../Outputs/ElastigroupAzureV3OsDisk.cs | 29 + ...astigroupAzureV3ProximityPlacementGroup.cs | 29 + .../Outputs/ElastigroupAzureV3RevertToSpot.cs | 24 + .../ElastigroupAzureV3SchedulingTask.cs | 61 + .../Outputs/ElastigroupAzureV3Secret.cs | 29 + .../ElastigroupAzureV3SecretSourceVault.cs | 29 + ...lastigroupAzureV3SecretVaultCertificate.cs | 29 + .../Outputs/ElastigroupAzureV3Security.cs | 37 + .../Outputs/ElastigroupAzureV3Signal.cs | 29 + .../Outputs/ElastigroupAzureV3VmSizes.cs | 4 + sdk/go/spotinst/aws/pulumiTypes.go | 19 + sdk/go/spotinst/elastigroupAzureV3.go | 310 +- sdk/go/spotinst/pulumiTypes.go | 4502 ++++++++++++----- .../pulumi/spotinst/ElastigroupAzureV3.java | 132 + .../spotinst/ElastigroupAzureV3Args.java | 392 ++ ...nLaunchSpecUpdatePolicyRollConfigArgs.java | 40 + ...OceanLaunchSpecUpdatePolicyRollConfig.java | 24 + .../ElastigroupAzureV3BootDiagnosticArgs.java | 105 + ...tigroupAzureV3CapacityReservationArgs.java | 106 + ...ervationCapacityReservationGroupsArgs.java | 105 + .../ElastigroupAzureV3DataDiskArgs.java | 106 + .../inputs/ElastigroupAzureV3HealthArgs.java | 121 + .../ElastigroupAzureV3LoadBalancerArgs.java | 146 + ...oupAzureV3NetworkNetworkInterfaceArgs.java | 77 + ...workNetworkInterfaceSecurityGroupArgs.java | 80 + .../inputs/ElastigroupAzureV3OsDiskArgs.java | 85 + ...oupAzureV3ProximityPlacementGroupArgs.java | 85 + .../ElastigroupAzureV3RevertToSpotArgs.java | 65 + .../ElastigroupAzureV3SchedulingTaskArgs.java | 227 + .../inputs/ElastigroupAzureV3SecretArgs.java | 95 + ...astigroupAzureV3SecretSourceVaultArgs.java | 85 + ...roupAzureV3SecretVaultCertificateArgs.java | 85 + .../ElastigroupAzureV3SecurityArgs.java | 115 + .../inputs/ElastigroupAzureV3SignalArgs.java | 86 + .../inputs/ElastigroupAzureV3State.java | 392 ++ .../inputs/ElastigroupAzureV3VmSizesArgs.java | 23 + .../ElastigroupAzureV3BootDiagnostic.java | 81 + ...ElastigroupAzureV3CapacityReservation.java | 82 + ...yReservationCapacityReservationGroups.java | 81 + .../outputs/ElastigroupAzureV3DataDisk.java | 81 + .../outputs/ElastigroupAzureV3Health.java | 94 + .../ElastigroupAzureV3LoadBalancer.java | 112 + ...tigroupAzureV3NetworkNetworkInterface.java | 60 + ...3NetworkNetworkInterfaceSecurityGroup.java | 62 + .../outputs/ElastigroupAzureV3OsDisk.java | 66 + ...tigroupAzureV3ProximityPlacementGroup.java | 65 + .../ElastigroupAzureV3RevertToSpot.java | 50 + .../ElastigroupAzureV3SchedulingTask.java | 174 + .../outputs/ElastigroupAzureV3Secret.java | 73 + .../ElastigroupAzureV3SecretSourceVault.java | 65 + ...stigroupAzureV3SecretVaultCertificate.java | 65 + .../outputs/ElastigroupAzureV3Security.java | 89 + .../outputs/ElastigroupAzureV3Signal.java | 66 + .../outputs/ElastigroupAzureV3VmSizes.java | 17 + sdk/nodejs/elastigroupAzureV3.ts | 100 + sdk/nodejs/types/input.ts | 107 + sdk/nodejs/types/output.ts | 107 + sdk/python/pulumi_spotinst/_inputs.py | 924 +++- sdk/python/pulumi_spotinst/aws/_inputs.py | 22 +- sdk/python/pulumi_spotinst/aws/outputs.py | 16 +- .../pulumi_spotinst/elastigroup_azure_v3.py | 686 ++- sdk/python/pulumi_spotinst/outputs.py | 834 ++- 114 files changed, 13113 insertions(+), 1289 deletions(-) create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3BootDiagnosticArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3BootDiagnosticGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroupsGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3DataDiskArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3DataDiskGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3HealthArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3HealthGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3LoadBalancerArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3LoadBalancerGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3OsDiskArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3OsDiskGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3ProximityPlacementGroupArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3ProximityPlacementGroupGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3RevertToSpotArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3RevertToSpotGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3SchedulingTaskArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3SchedulingTaskGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3SecretArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3SecretGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3SecretSourceVaultArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3SecretSourceVaultGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3SecretVaultCertificateArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3SecretVaultCertificateGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3SecurityArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3SecurityGetArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3SignalArgs.cs create mode 100644 sdk/dotnet/Inputs/ElastigroupAzureV3SignalGetArgs.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3BootDiagnostic.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3CapacityReservation.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroups.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3DataDisk.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3Health.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3LoadBalancer.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3OsDisk.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3ProximityPlacementGroup.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3RevertToSpot.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3SchedulingTask.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3Secret.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3SecretSourceVault.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3SecretVaultCertificate.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3Security.cs create mode 100644 sdk/dotnet/Outputs/ElastigroupAzureV3Signal.cs create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3BootDiagnosticArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3CapacityReservationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3DataDiskArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3HealthArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3LoadBalancerArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3OsDiskArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3ProximityPlacementGroupArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3RevertToSpotArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SchedulingTaskArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecretArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecretSourceVaultArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecretVaultCertificateArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecurityArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SignalArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3BootDiagnostic.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3CapacityReservation.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroups.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3DataDisk.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Health.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3LoadBalancer.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3OsDisk.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3ProximityPlacementGroup.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3RevertToSpot.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3SchedulingTask.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Secret.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3SecretSourceVault.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3SecretVaultCertificate.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Security.java create mode 100644 sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Signal.java diff --git a/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json b/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json index 1bd0b7bc..132479e8 100644 --- a/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json @@ -478,6 +478,22 @@ "spotinst_elastigroup_azure_v3": { "current": "spotinst:index/elastigroupAzureV3:ElastigroupAzureV3", "fields": { + "boot_diagnostics": { + "maxItemsOne": false + }, + "capacity_reservation": { + "maxItemsOne": true, + "elem": { + "fields": { + "capacity_reservation_groups": { + "maxItemsOne": true + } + } + } + }, + "data_disk": { + "maxItemsOne": false + }, "extensions": { "maxItemsOne": false, "elem": { @@ -488,6 +504,16 @@ } } }, + "health": { + "maxItemsOne": true, + "elem": { + "fields": { + "health_check_types": { + "maxItemsOne": false + } + } + } + }, "image": { "maxItemsOne": false, "elem": { @@ -504,6 +530,16 @@ } } }, + "load_balancer": { + "maxItemsOne": false, + "elem": { + "fields": { + "backend_pool_names": { + "maxItemsOne": false + } + } + } + }, "login": { "maxItemsOne": true }, @@ -523,6 +559,12 @@ }, "application_security_group": { "maxItemsOne": false + }, + "private_ip_addresses": { + "maxItemsOne": false + }, + "security_group": { + "maxItemsOne": false } } } @@ -530,6 +572,21 @@ } } }, + "optimization_windows": { + "maxItemsOne": false + }, + "os_disk": { + "maxItemsOne": true + }, + "preferred_zones": { + "maxItemsOne": false + }, + "proximity_placement_groups": { + "maxItemsOne": false + }, + "revert_to_spot": { + "maxItemsOne": true + }, "scaling_down_policy": { "maxItemsOne": false, "elem": { @@ -556,6 +613,28 @@ } } }, + "scheduling_task": { + "maxItemsOne": false + }, + "secret": { + "maxItemsOne": false, + "elem": { + "fields": { + "source_vault": { + "maxItemsOne": false + }, + "vault_certificates": { + "maxItemsOne": false + } + } + } + }, + "security": { + "maxItemsOne": true + }, + "signal": { + "maxItemsOne": false + }, "tags": { "maxItemsOne": false }, @@ -566,11 +645,17 @@ "od_sizes": { "maxItemsOne": false }, + "preferred_spot_sizes": { + "maxItemsOne": false + }, "spot_sizes": { "maxItemsOne": false } } } + }, + "zones": { + "maxItemsOne": false } } }, diff --git a/provider/cmd/pulumi-resource-spotinst/schema.json b/provider/cmd/pulumi-resource-spotinst/schema.json index 3925e832..5f422135 100644 --- a/provider/cmd/pulumi-resource-spotinst/schema.json +++ b/provider/cmd/pulumi-resource-spotinst/schema.json @@ -3837,7 +3837,11 @@ "properties": { "batchSizePercentage": { "type": "integer", - "description": "Sets the percentage of the instances to deploy in each batch.\n\n" + "description": "Sets the percentage of the instances to deploy in each batch.\n" + }, + "respectPdb": { + "type": "boolean", + "description": "During the roll, if the parameter is set to `true` we honor PDB during the instance replacement.\n\n\n" } }, "type": "object", @@ -7121,6 +7125,88 @@ "bucketName" ] }, + "spotinst:index/ElastigroupAzureV3BootDiagnostic:ElastigroupAzureV3BootDiagnostic": { + "properties": { + "isEnabled": { + "type": "boolean" + }, + "storageUrl": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object", + "required": [ + "isEnabled", + "type" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "isEnabled", + "storageUrl", + "type" + ] + } + } + }, + "spotinst:index/ElastigroupAzureV3CapacityReservation:ElastigroupAzureV3CapacityReservation": { + "properties": { + "capacityReservationGroups": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3CapacityReservationCapacityReservationGroups:ElastigroupAzureV3CapacityReservationCapacityReservationGroups" + }, + "shouldUtilize": { + "type": "boolean" + }, + "utilizationStrategy": { + "type": "string" + } + }, + "type": "object", + "required": [ + "shouldUtilize", + "utilizationStrategy" + ] + }, + "spotinst:index/ElastigroupAzureV3CapacityReservationCapacityReservationGroups:ElastigroupAzureV3CapacityReservationCapacityReservationGroups": { + "properties": { + "crgName": { + "type": "string" + }, + "crgResourceGroupName": { + "type": "string" + }, + "crgShouldPrioritize": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "crgName", + "crgResourceGroupName" + ] + }, + "spotinst:index/ElastigroupAzureV3DataDisk:ElastigroupAzureV3DataDisk": { + "properties": { + "lun": { + "type": "integer" + }, + "sizeGb": { + "type": "integer" + }, + "type": { + "type": "string" + } + }, + "type": "object", + "required": [ + "lun", + "sizeGb", + "type" + ] + }, "spotinst:index/ElastigroupAzureV3Extension:ElastigroupAzureV3Extension": { "properties": { "apiVersion": { @@ -7194,6 +7280,26 @@ "sourceVault" ] }, + "spotinst:index/ElastigroupAzureV3Health:ElastigroupAzureV3Health": { + "properties": { + "autoHealing": { + "type": "boolean" + }, + "gracePeriod": { + "type": "integer" + }, + "healthCheckTypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "unhealthyDuration": { + "type": "integer" + } + }, + "type": "object" + }, "spotinst:index/ElastigroupAzureV3Image:ElastigroupAzureV3Image": { "properties": { "customs": { @@ -7281,6 +7387,34 @@ "version" ] }, + "spotinst:index/ElastigroupAzureV3LoadBalancer:ElastigroupAzureV3LoadBalancer": { + "properties": { + "backendPoolNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "resourceGroupName": { + "type": "string" + }, + "sku": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object", + "required": [ + "name", + "resourceGroupName", + "type" + ] + }, "spotinst:index/ElastigroupAzureV3Login:ElastigroupAzureV3Login": { "properties": { "password": { @@ -7352,9 +7486,27 @@ "assignPublicIp": { "type": "boolean" }, + "enableIpForwarding": { + "type": "boolean" + }, "isPrimary": { "type": "boolean" }, + "privateIpAddresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "publicIpSku": { + "type": "string" + }, + "securityGroups": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup:ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup" + } + }, "subnetName": { "type": "string" } @@ -7395,6 +7547,57 @@ "resourceGroupName" ] }, + "spotinst:index/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup:ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup": { + "properties": { + "name": { + "type": "string" + }, + "resourceGroupName": { + "type": "string" + } + }, + "type": "object" + }, + "spotinst:index/ElastigroupAzureV3OsDisk:ElastigroupAzureV3OsDisk": { + "properties": { + "sizeGb": { + "type": "integer" + }, + "type": { + "type": "string" + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "spotinst:index/ElastigroupAzureV3ProximityPlacementGroup:ElastigroupAzureV3ProximityPlacementGroup": { + "properties": { + "name": { + "type": "string" + }, + "resourceGroupName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "name", + "resourceGroupName" + ] + }, + "spotinst:index/ElastigroupAzureV3RevertToSpot:ElastigroupAzureV3RevertToSpot": { + "properties": { + "performAt": { + "type": "string" + } + }, + "type": "object", + "required": [ + "performAt" + ] + }, "spotinst:index/ElastigroupAzureV3ScalingDownPolicy:ElastigroupAzureV3ScalingDownPolicy": { "properties": { "action": { @@ -7595,25 +7798,148 @@ "minimum": { "type": "string" }, - "target": { - "type": "string" + "target": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "spotinst:index/ElastigroupAzureV3ScalingUpPolicyDimension:ElastigroupAzureV3ScalingUpPolicyDimension": { + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "spotinst:index/ElastigroupAzureV3SchedulingTask:ElastigroupAzureV3SchedulingTask": { + "properties": { + "adjustment": { + "type": "string" + }, + "adjustmentPercentage": { + "type": "string" + }, + "batchSizePercentage": { + "type": "string" + }, + "cronExpression": { + "type": "string" + }, + "gracePeriod": { + "type": "string" + }, + "isEnabled": { + "type": "boolean" + }, + "scaleMaxCapacity": { + "type": "string" + }, + "scaleMinCapacity": { + "type": "string" + }, + "scaleTargetCapacity": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object", + "required": [ + "cronExpression", + "isEnabled", + "type" + ] + }, + "spotinst:index/ElastigroupAzureV3Secret:ElastigroupAzureV3Secret": { + "properties": { + "sourceVaults": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3SecretSourceVault:ElastigroupAzureV3SecretSourceVault" + } + }, + "vaultCertificates": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3SecretVaultCertificate:ElastigroupAzureV3SecretVaultCertificate" + } + } + }, + "type": "object", + "required": [ + "sourceVaults", + "vaultCertificates" + ] + }, + "spotinst:index/ElastigroupAzureV3SecretSourceVault:ElastigroupAzureV3SecretSourceVault": { + "properties": { + "name": { + "type": "string" + }, + "resourceGroupName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "name", + "resourceGroupName" + ] + }, + "spotinst:index/ElastigroupAzureV3SecretVaultCertificate:ElastigroupAzureV3SecretVaultCertificate": { + "properties": { + "certificateStore": { + "type": "string" + }, + "certificateUrl": { + "type": "string" + } + }, + "type": "object", + "required": [ + "certificateStore", + "certificateUrl" + ] + }, + "spotinst:index/ElastigroupAzureV3Security:ElastigroupAzureV3Security": { + "properties": { + "confidentialOsDiskEncryption": { + "type": "boolean" + }, + "secureBootEnabled": { + "type": "boolean" }, - "type": { + "securityType": { "type": "string" + }, + "vtpmEnabled": { + "type": "boolean" } }, "type": "object" }, - "spotinst:index/ElastigroupAzureV3ScalingUpPolicyDimension:ElastigroupAzureV3ScalingUpPolicyDimension": { + "spotinst:index/ElastigroupAzureV3Signal:ElastigroupAzureV3Signal": { "properties": { - "name": { - "type": "string" + "timeout": { + "type": "integer" }, - "value": { + "type": { "type": "string" } }, - "type": "object" + "type": "object", + "required": [ + "timeout", + "type" + ] }, "spotinst:index/ElastigroupAzureV3Tag:ElastigroupAzureV3Tag": { "properties": { @@ -7638,6 +7964,12 @@ "type": "string" } }, + "preferredSpotSizes": { + "type": "array", + "items": { + "type": "string" + } + }, "spotSizes": { "type": "array", "items": { @@ -18017,9 +18349,30 @@ }, "spotinst:index/elastigroupAzureV3:ElastigroupAzureV3": { "properties": { + "availabilityVsCost": { + "type": "integer" + }, + "bootDiagnostics": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3BootDiagnostic:ElastigroupAzureV3BootDiagnostic" + } + }, + "capacityReservation": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3CapacityReservation:ElastigroupAzureV3CapacityReservation" + }, "customData": { "type": "string" }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3DataDisk:ElastigroupAzureV3DataDisk" + } + }, + "description": { + "type": "string" + }, "desiredCapacity": { "type": "integer" }, @@ -18035,12 +18388,21 @@ "fallbackToOnDemand": { "type": "boolean" }, + "health": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3Health:ElastigroupAzureV3Health" + }, "images": { "type": "array", "items": { "$ref": "#/types/spotinst:index/ElastigroupAzureV3Image:ElastigroupAzureV3Image" } }, + "loadBalancers": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3LoadBalancer:ElastigroupAzureV3LoadBalancer" + } + }, "login": { "$ref": "#/types/spotinst:index/ElastigroupAzureV3Login:ElastigroupAzureV3Login" }, @@ -18065,15 +18427,39 @@ "onDemandCount": { "type": "integer" }, + "optimizationWindows": { + "type": "array", + "items": { + "type": "string" + } + }, "os": { "type": "string" }, + "osDisk": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3OsDisk:ElastigroupAzureV3OsDisk" + }, + "preferredZones": { + "type": "array", + "items": { + "type": "string" + } + }, + "proximityPlacementGroups": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3ProximityPlacementGroup:ElastigroupAzureV3ProximityPlacementGroup" + } + }, "region": { "type": "string" }, "resourceGroupName": { "type": "string" }, + "revertToSpot": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3RevertToSpot:ElastigroupAzureV3RevertToSpot" + }, "scalingDownPolicies": { "type": "array", "items": { @@ -18086,6 +18472,30 @@ "$ref": "#/types/spotinst:index/ElastigroupAzureV3ScalingUpPolicy:ElastigroupAzureV3ScalingUpPolicy" } }, + "schedulingTasks": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3SchedulingTask:ElastigroupAzureV3SchedulingTask" + } + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3Secret:ElastigroupAzureV3Secret" + } + }, + "security": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3Security:ElastigroupAzureV3Security" + }, + "shutdownScript": { + "type": "string" + }, + "signals": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3Signal:ElastigroupAzureV3Signal" + } + }, "spotPercentage": { "type": "integer" }, @@ -18095,11 +18505,24 @@ "$ref": "#/types/spotinst:index/ElastigroupAzureV3Tag:ElastigroupAzureV3Tag" } }, + "userData": { + "type": "string" + }, + "vmNamePrefix": { + "type": "string" + }, "vmSizes": { "$ref": "#/types/spotinst:index/ElastigroupAzureV3VmSizes:ElastigroupAzureV3VmSizes" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + } } }, "required": [ + "bootDiagnostics", "drainingTimeout", "extensions", "fallbackToOnDemand", @@ -18113,9 +18536,30 @@ "vmSizes" ], "inputProperties": { + "availabilityVsCost": { + "type": "integer" + }, + "bootDiagnostics": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3BootDiagnostic:ElastigroupAzureV3BootDiagnostic" + } + }, + "capacityReservation": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3CapacityReservation:ElastigroupAzureV3CapacityReservation" + }, "customData": { "type": "string" }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3DataDisk:ElastigroupAzureV3DataDisk" + } + }, + "description": { + "type": "string" + }, "desiredCapacity": { "type": "integer" }, @@ -18131,12 +18575,21 @@ "fallbackToOnDemand": { "type": "boolean" }, + "health": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3Health:ElastigroupAzureV3Health" + }, "images": { "type": "array", "items": { "$ref": "#/types/spotinst:index/ElastigroupAzureV3Image:ElastigroupAzureV3Image" } }, + "loadBalancers": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3LoadBalancer:ElastigroupAzureV3LoadBalancer" + } + }, "login": { "$ref": "#/types/spotinst:index/ElastigroupAzureV3Login:ElastigroupAzureV3Login" }, @@ -18161,15 +18614,39 @@ "onDemandCount": { "type": "integer" }, + "optimizationWindows": { + "type": "array", + "items": { + "type": "string" + } + }, "os": { "type": "string" }, + "osDisk": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3OsDisk:ElastigroupAzureV3OsDisk" + }, + "preferredZones": { + "type": "array", + "items": { + "type": "string" + } + }, + "proximityPlacementGroups": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3ProximityPlacementGroup:ElastigroupAzureV3ProximityPlacementGroup" + } + }, "region": { "type": "string" }, "resourceGroupName": { "type": "string" }, + "revertToSpot": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3RevertToSpot:ElastigroupAzureV3RevertToSpot" + }, "scalingDownPolicies": { "type": "array", "items": { @@ -18182,6 +18659,30 @@ "$ref": "#/types/spotinst:index/ElastigroupAzureV3ScalingUpPolicy:ElastigroupAzureV3ScalingUpPolicy" } }, + "schedulingTasks": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3SchedulingTask:ElastigroupAzureV3SchedulingTask" + } + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3Secret:ElastigroupAzureV3Secret" + } + }, + "security": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3Security:ElastigroupAzureV3Security" + }, + "shutdownScript": { + "type": "string" + }, + "signals": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3Signal:ElastigroupAzureV3Signal" + } + }, "spotPercentage": { "type": "integer" }, @@ -18191,8 +18692,20 @@ "$ref": "#/types/spotinst:index/ElastigroupAzureV3Tag:ElastigroupAzureV3Tag" } }, + "userData": { + "type": "string" + }, + "vmNamePrefix": { + "type": "string" + }, "vmSizes": { "$ref": "#/types/spotinst:index/ElastigroupAzureV3VmSizes:ElastigroupAzureV3VmSizes" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + } } }, "requiredInputs": [ @@ -18206,9 +18719,30 @@ "stateInputs": { "description": "Input properties used for looking up and filtering ElastigroupAzureV3 resources.\n", "properties": { + "availabilityVsCost": { + "type": "integer" + }, + "bootDiagnostics": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3BootDiagnostic:ElastigroupAzureV3BootDiagnostic" + } + }, + "capacityReservation": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3CapacityReservation:ElastigroupAzureV3CapacityReservation" + }, "customData": { "type": "string" }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3DataDisk:ElastigroupAzureV3DataDisk" + } + }, + "description": { + "type": "string" + }, "desiredCapacity": { "type": "integer" }, @@ -18224,12 +18758,21 @@ "fallbackToOnDemand": { "type": "boolean" }, + "health": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3Health:ElastigroupAzureV3Health" + }, "images": { "type": "array", "items": { "$ref": "#/types/spotinst:index/ElastigroupAzureV3Image:ElastigroupAzureV3Image" } }, + "loadBalancers": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3LoadBalancer:ElastigroupAzureV3LoadBalancer" + } + }, "login": { "$ref": "#/types/spotinst:index/ElastigroupAzureV3Login:ElastigroupAzureV3Login" }, @@ -18254,15 +18797,39 @@ "onDemandCount": { "type": "integer" }, + "optimizationWindows": { + "type": "array", + "items": { + "type": "string" + } + }, "os": { "type": "string" }, + "osDisk": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3OsDisk:ElastigroupAzureV3OsDisk" + }, + "preferredZones": { + "type": "array", + "items": { + "type": "string" + } + }, + "proximityPlacementGroups": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3ProximityPlacementGroup:ElastigroupAzureV3ProximityPlacementGroup" + } + }, "region": { "type": "string" }, "resourceGroupName": { "type": "string" }, + "revertToSpot": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3RevertToSpot:ElastigroupAzureV3RevertToSpot" + }, "scalingDownPolicies": { "type": "array", "items": { @@ -18275,6 +18842,30 @@ "$ref": "#/types/spotinst:index/ElastigroupAzureV3ScalingUpPolicy:ElastigroupAzureV3ScalingUpPolicy" } }, + "schedulingTasks": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3SchedulingTask:ElastigroupAzureV3SchedulingTask" + } + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3Secret:ElastigroupAzureV3Secret" + } + }, + "security": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3Security:ElastigroupAzureV3Security" + }, + "shutdownScript": { + "type": "string" + }, + "signals": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:index/ElastigroupAzureV3Signal:ElastigroupAzureV3Signal" + } + }, "spotPercentage": { "type": "integer" }, @@ -18284,8 +18875,20 @@ "$ref": "#/types/spotinst:index/ElastigroupAzureV3Tag:ElastigroupAzureV3Tag" } }, + "userData": { + "type": "string" + }, + "vmNamePrefix": { + "type": "string" + }, "vmSizes": { "$ref": "#/types/spotinst:index/ElastigroupAzureV3VmSizes:ElastigroupAzureV3VmSizes" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + } } }, "type": "object" diff --git a/provider/go.mod b/provider/go.mod index 46f515bb..5b86cab6 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -7,7 +7,7 @@ toolchain go1.22.7 require ( github.com/pulumi/pulumi-terraform-bridge/v3 v3.93.1 github.com/pulumi/pulumi/sdk/v3 v3.136.1 - github.com/spotinst/terraform-provider-spotinst v1.195.0 + github.com/spotinst/terraform-provider-spotinst v1.196.0 ) replace ( @@ -200,7 +200,7 @@ require ( github.com/spf13/cast v1.5.0 // indirect github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spotinst/spotinst-sdk-go v1.371.0 // indirect + github.com/spotinst/spotinst-sdk-go v1.372.0 // indirect github.com/stretchr/testify v1.9.0 // indirect github.com/teekennedy/goldmark-markdown v0.3.0 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect diff --git a/provider/go.sum b/provider/go.sum index 80b63e6c..9e51c12b 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2023,10 +2023,10 @@ github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spotinst/spotinst-sdk-go v1.371.0 h1:Z/NqT3o0qEGmy/LYyxabrAE88wmt8Ai0V78U8TJttbA= -github.com/spotinst/spotinst-sdk-go v1.371.0/go.mod h1:Tn4/eb0SFY6IXmxz71CClujvbD/PuT+EO6Ta8v6AML4= -github.com/spotinst/terraform-provider-spotinst v1.195.0 h1:IMwRdt5tkHVh/14KF1gJ+m/RChAU/V1OdfNHgJ2c4QU= -github.com/spotinst/terraform-provider-spotinst v1.195.0/go.mod h1:N8sdSyAOiXBkjq5DwbOu8EgSXKJjfmgbBFjQqhRY6Xs= +github.com/spotinst/spotinst-sdk-go v1.372.0 h1:B4/+HK3D2Fe0821DOmw5RO4Lrzo2gi7oa6QWWjr5/7A= +github.com/spotinst/spotinst-sdk-go v1.372.0/go.mod h1:Tn4/eb0SFY6IXmxz71CClujvbD/PuT+EO6Ta8v6AML4= +github.com/spotinst/terraform-provider-spotinst v1.196.0 h1:uWJbzybVln9PYWaa8CMXCaQuRtifK+Hm+Z7MPKfIynQ= +github.com/spotinst/terraform-provider-spotinst v1.196.0/go.mod h1:SmQgOHuPEi4R9NMly/RL851jm6wWl1t8IeBA/wfAJ24= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= diff --git a/sdk/dotnet/Aws/Inputs/OceanLaunchSpecUpdatePolicyRollConfigArgs.cs b/sdk/dotnet/Aws/Inputs/OceanLaunchSpecUpdatePolicyRollConfigArgs.cs index db7f407d..a83836e2 100644 --- a/sdk/dotnet/Aws/Inputs/OceanLaunchSpecUpdatePolicyRollConfigArgs.cs +++ b/sdk/dotnet/Aws/Inputs/OceanLaunchSpecUpdatePolicyRollConfigArgs.cs @@ -18,6 +18,12 @@ public sealed class OceanLaunchSpecUpdatePolicyRollConfigArgs : global::Pulumi.R [Input("batchSizePercentage", required: true)] public Input BatchSizePercentage { get; set; } = null!; + /// + /// During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + /// + [Input("respectPdb")] + public Input? RespectPdb { get; set; } + public OceanLaunchSpecUpdatePolicyRollConfigArgs() { } diff --git a/sdk/dotnet/Aws/Inputs/OceanLaunchSpecUpdatePolicyRollConfigGetArgs.cs b/sdk/dotnet/Aws/Inputs/OceanLaunchSpecUpdatePolicyRollConfigGetArgs.cs index 5b3a4457..1aa526fe 100644 --- a/sdk/dotnet/Aws/Inputs/OceanLaunchSpecUpdatePolicyRollConfigGetArgs.cs +++ b/sdk/dotnet/Aws/Inputs/OceanLaunchSpecUpdatePolicyRollConfigGetArgs.cs @@ -18,6 +18,12 @@ public sealed class OceanLaunchSpecUpdatePolicyRollConfigGetArgs : global::Pulum [Input("batchSizePercentage", required: true)] public Input BatchSizePercentage { get; set; } = null!; + /// + /// During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + /// + [Input("respectPdb")] + public Input? RespectPdb { get; set; } + public OceanLaunchSpecUpdatePolicyRollConfigGetArgs() { } diff --git a/sdk/dotnet/Aws/Outputs/OceanLaunchSpecUpdatePolicyRollConfig.cs b/sdk/dotnet/Aws/Outputs/OceanLaunchSpecUpdatePolicyRollConfig.cs index 346b330c..93801b99 100644 --- a/sdk/dotnet/Aws/Outputs/OceanLaunchSpecUpdatePolicyRollConfig.cs +++ b/sdk/dotnet/Aws/Outputs/OceanLaunchSpecUpdatePolicyRollConfig.cs @@ -17,11 +17,19 @@ public sealed class OceanLaunchSpecUpdatePolicyRollConfig /// Sets the percentage of the instances to deploy in each batch. /// public readonly int BatchSizePercentage; + /// + /// During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + /// + public readonly bool? RespectPdb; [OutputConstructor] - private OceanLaunchSpecUpdatePolicyRollConfig(int batchSizePercentage) + private OceanLaunchSpecUpdatePolicyRollConfig( + int batchSizePercentage, + + bool? respectPdb) { BatchSizePercentage = batchSizePercentage; + RespectPdb = respectPdb; } } } diff --git a/sdk/dotnet/ElastigroupAzureV3.cs b/sdk/dotnet/ElastigroupAzureV3.cs index 2e44f89e..5ca28ddf 100644 --- a/sdk/dotnet/ElastigroupAzureV3.cs +++ b/sdk/dotnet/ElastigroupAzureV3.cs @@ -12,9 +12,24 @@ namespace Pulumi.SpotInst [SpotInstResourceType("spotinst:index/elastigroupAzureV3:ElastigroupAzureV3")] public partial class ElastigroupAzureV3 : global::Pulumi.CustomResource { + [Output("availabilityVsCost")] + public Output AvailabilityVsCost { get; private set; } = null!; + + [Output("bootDiagnostics")] + public Output> BootDiagnostics { get; private set; } = null!; + + [Output("capacityReservation")] + public Output CapacityReservation { get; private set; } = null!; + [Output("customData")] public Output CustomData { get; private set; } = null!; + [Output("dataDisks")] + public Output> DataDisks { get; private set; } = null!; + + [Output("description")] + public Output Description { get; private set; } = null!; + [Output("desiredCapacity")] public Output DesiredCapacity { get; private set; } = null!; @@ -27,9 +42,15 @@ public partial class ElastigroupAzureV3 : global::Pulumi.CustomResource [Output("fallbackToOnDemand")] public Output FallbackToOnDemand { get; private set; } = null!; + [Output("health")] + public Output Health { get; private set; } = null!; + [Output("images")] public Output> Images { get; private set; } = null!; + [Output("loadBalancers")] + public Output> LoadBalancers { get; private set; } = null!; + [Output("login")] public Output Login { get; private set; } = null!; @@ -51,30 +72,69 @@ public partial class ElastigroupAzureV3 : global::Pulumi.CustomResource [Output("onDemandCount")] public Output OnDemandCount { get; private set; } = null!; + [Output("optimizationWindows")] + public Output> OptimizationWindows { get; private set; } = null!; + [Output("os")] public Output Os { get; private set; } = null!; + [Output("osDisk")] + public Output OsDisk { get; private set; } = null!; + + [Output("preferredZones")] + public Output> PreferredZones { get; private set; } = null!; + + [Output("proximityPlacementGroups")] + public Output> ProximityPlacementGroups { get; private set; } = null!; + [Output("region")] public Output Region { get; private set; } = null!; [Output("resourceGroupName")] public Output ResourceGroupName { get; private set; } = null!; + [Output("revertToSpot")] + public Output RevertToSpot { get; private set; } = null!; + [Output("scalingDownPolicies")] public Output> ScalingDownPolicies { get; private set; } = null!; [Output("scalingUpPolicies")] public Output> ScalingUpPolicies { get; private set; } = null!; + [Output("schedulingTasks")] + public Output> SchedulingTasks { get; private set; } = null!; + + [Output("secrets")] + public Output> Secrets { get; private set; } = null!; + + [Output("security")] + public Output Security { get; private set; } = null!; + + [Output("shutdownScript")] + public Output ShutdownScript { get; private set; } = null!; + + [Output("signals")] + public Output> Signals { get; private set; } = null!; + [Output("spotPercentage")] public Output SpotPercentage { get; private set; } = null!; [Output("tags")] public Output> Tags { get; private set; } = null!; + [Output("userData")] + public Output UserData { get; private set; } = null!; + + [Output("vmNamePrefix")] + public Output VmNamePrefix { get; private set; } = null!; + [Output("vmSizes")] public Output VmSizes { get; private set; } = null!; + [Output("zones")] + public Output> Zones { get; private set; } = null!; + /// /// Create a ElastigroupAzureV3 resource with the given unique name, arguments, and options. @@ -121,9 +181,34 @@ public static ElastigroupAzureV3 Get(string name, Input id, ElastigroupA public sealed class ElastigroupAzureV3Args : global::Pulumi.ResourceArgs { + [Input("availabilityVsCost")] + public Input? AvailabilityVsCost { get; set; } + + [Input("bootDiagnostics")] + private InputList? _bootDiagnostics; + public InputList BootDiagnostics + { + get => _bootDiagnostics ?? (_bootDiagnostics = new InputList()); + set => _bootDiagnostics = value; + } + + [Input("capacityReservation")] + public Input? CapacityReservation { get; set; } + [Input("customData")] public Input? CustomData { get; set; } + [Input("dataDisks")] + private InputList? _dataDisks; + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + [Input("description")] + public Input? Description { get; set; } + [Input("desiredCapacity")] public Input? DesiredCapacity { get; set; } @@ -141,6 +226,9 @@ public InputList Extensions [Input("fallbackToOnDemand", required: true)] public Input FallbackToOnDemand { get; set; } = null!; + [Input("health")] + public Input? Health { get; set; } + [Input("images")] private InputList? _images; public InputList Images @@ -149,6 +237,14 @@ public InputList Images set => _images = value; } + [Input("loadBalancers")] + private InputList? _loadBalancers; + public InputList LoadBalancers + { + get => _loadBalancers ?? (_loadBalancers = new InputList()); + set => _loadBalancers = value; + } + [Input("login")] public Input? Login { get; set; } @@ -175,15 +271,45 @@ public InputList ManagedSer [Input("onDemandCount")] public Input? OnDemandCount { get; set; } + [Input("optimizationWindows")] + private InputList? _optimizationWindows; + public InputList OptimizationWindows + { + get => _optimizationWindows ?? (_optimizationWindows = new InputList()); + set => _optimizationWindows = value; + } + [Input("os", required: true)] public Input Os { get; set; } = null!; + [Input("osDisk")] + public Input? OsDisk { get; set; } + + [Input("preferredZones")] + private InputList? _preferredZones; + public InputList PreferredZones + { + get => _preferredZones ?? (_preferredZones = new InputList()); + set => _preferredZones = value; + } + + [Input("proximityPlacementGroups")] + private InputList? _proximityPlacementGroups; + public InputList ProximityPlacementGroups + { + get => _proximityPlacementGroups ?? (_proximityPlacementGroups = new InputList()); + set => _proximityPlacementGroups = value; + } + [Input("region", required: true)] public Input Region { get; set; } = null!; [Input("resourceGroupName", required: true)] public Input ResourceGroupName { get; set; } = null!; + [Input("revertToSpot")] + public Input? RevertToSpot { get; set; } + [Input("scalingDownPolicies")] private InputList? _scalingDownPolicies; public InputList ScalingDownPolicies @@ -200,6 +326,36 @@ public InputList ScalingUpPolicies set => _scalingUpPolicies = value; } + [Input("schedulingTasks")] + private InputList? _schedulingTasks; + public InputList SchedulingTasks + { + get => _schedulingTasks ?? (_schedulingTasks = new InputList()); + set => _schedulingTasks = value; + } + + [Input("secrets")] + private InputList? _secrets; + public InputList Secrets + { + get => _secrets ?? (_secrets = new InputList()); + set => _secrets = value; + } + + [Input("security")] + public Input? Security { get; set; } + + [Input("shutdownScript")] + public Input? ShutdownScript { get; set; } + + [Input("signals")] + private InputList? _signals; + public InputList Signals + { + get => _signals ?? (_signals = new InputList()); + set => _signals = value; + } + [Input("spotPercentage")] public Input? SpotPercentage { get; set; } @@ -211,9 +367,23 @@ public InputList Tags set => _tags = value; } + [Input("userData")] + public Input? UserData { get; set; } + + [Input("vmNamePrefix")] + public Input? VmNamePrefix { get; set; } + [Input("vmSizes", required: true)] public Input VmSizes { get; set; } = null!; + [Input("zones")] + private InputList? _zones; + public InputList Zones + { + get => _zones ?? (_zones = new InputList()); + set => _zones = value; + } + public ElastigroupAzureV3Args() { } @@ -222,9 +392,34 @@ public ElastigroupAzureV3Args() public sealed class ElastigroupAzureV3State : global::Pulumi.ResourceArgs { + [Input("availabilityVsCost")] + public Input? AvailabilityVsCost { get; set; } + + [Input("bootDiagnostics")] + private InputList? _bootDiagnostics; + public InputList BootDiagnostics + { + get => _bootDiagnostics ?? (_bootDiagnostics = new InputList()); + set => _bootDiagnostics = value; + } + + [Input("capacityReservation")] + public Input? CapacityReservation { get; set; } + [Input("customData")] public Input? CustomData { get; set; } + [Input("dataDisks")] + private InputList? _dataDisks; + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + [Input("description")] + public Input? Description { get; set; } + [Input("desiredCapacity")] public Input? DesiredCapacity { get; set; } @@ -242,6 +437,9 @@ public InputList Extensions [Input("fallbackToOnDemand")] public Input? FallbackToOnDemand { get; set; } + [Input("health")] + public Input? Health { get; set; } + [Input("images")] private InputList? _images; public InputList Images @@ -250,6 +448,14 @@ public InputList Images set => _images = value; } + [Input("loadBalancers")] + private InputList? _loadBalancers; + public InputList LoadBalancers + { + get => _loadBalancers ?? (_loadBalancers = new InputList()); + set => _loadBalancers = value; + } + [Input("login")] public Input? Login { get; set; } @@ -276,15 +482,45 @@ public InputList Managed [Input("onDemandCount")] public Input? OnDemandCount { get; set; } + [Input("optimizationWindows")] + private InputList? _optimizationWindows; + public InputList OptimizationWindows + { + get => _optimizationWindows ?? (_optimizationWindows = new InputList()); + set => _optimizationWindows = value; + } + [Input("os")] public Input? Os { get; set; } + [Input("osDisk")] + public Input? OsDisk { get; set; } + + [Input("preferredZones")] + private InputList? _preferredZones; + public InputList PreferredZones + { + get => _preferredZones ?? (_preferredZones = new InputList()); + set => _preferredZones = value; + } + + [Input("proximityPlacementGroups")] + private InputList? _proximityPlacementGroups; + public InputList ProximityPlacementGroups + { + get => _proximityPlacementGroups ?? (_proximityPlacementGroups = new InputList()); + set => _proximityPlacementGroups = value; + } + [Input("region")] public Input? Region { get; set; } [Input("resourceGroupName")] public Input? ResourceGroupName { get; set; } + [Input("revertToSpot")] + public Input? RevertToSpot { get; set; } + [Input("scalingDownPolicies")] private InputList? _scalingDownPolicies; public InputList ScalingDownPolicies @@ -301,6 +537,36 @@ public InputList ScalingUpPolic set => _scalingUpPolicies = value; } + [Input("schedulingTasks")] + private InputList? _schedulingTasks; + public InputList SchedulingTasks + { + get => _schedulingTasks ?? (_schedulingTasks = new InputList()); + set => _schedulingTasks = value; + } + + [Input("secrets")] + private InputList? _secrets; + public InputList Secrets + { + get => _secrets ?? (_secrets = new InputList()); + set => _secrets = value; + } + + [Input("security")] + public Input? Security { get; set; } + + [Input("shutdownScript")] + public Input? ShutdownScript { get; set; } + + [Input("signals")] + private InputList? _signals; + public InputList Signals + { + get => _signals ?? (_signals = new InputList()); + set => _signals = value; + } + [Input("spotPercentage")] public Input? SpotPercentage { get; set; } @@ -312,9 +578,23 @@ public InputList Tags set => _tags = value; } + [Input("userData")] + public Input? UserData { get; set; } + + [Input("vmNamePrefix")] + public Input? VmNamePrefix { get; set; } + [Input("vmSizes")] public Input? VmSizes { get; set; } + [Input("zones")] + private InputList? _zones; + public InputList Zones + { + get => _zones ?? (_zones = new InputList()); + set => _zones = value; + } + public ElastigroupAzureV3State() { } diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3BootDiagnosticArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3BootDiagnosticArgs.cs new file mode 100644 index 00000000..63e27014 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3BootDiagnosticArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3BootDiagnosticArgs : global::Pulumi.ResourceArgs + { + [Input("isEnabled", required: true)] + public Input IsEnabled { get; set; } = null!; + + [Input("storageUrl")] + public Input? StorageUrl { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ElastigroupAzureV3BootDiagnosticArgs() + { + } + public static new ElastigroupAzureV3BootDiagnosticArgs Empty => new ElastigroupAzureV3BootDiagnosticArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3BootDiagnosticGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3BootDiagnosticGetArgs.cs new file mode 100644 index 00000000..8f50aec8 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3BootDiagnosticGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3BootDiagnosticGetArgs : global::Pulumi.ResourceArgs + { + [Input("isEnabled", required: true)] + public Input IsEnabled { get; set; } = null!; + + [Input("storageUrl")] + public Input? StorageUrl { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ElastigroupAzureV3BootDiagnosticGetArgs() + { + } + public static new ElastigroupAzureV3BootDiagnosticGetArgs Empty => new ElastigroupAzureV3BootDiagnosticGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationArgs.cs new file mode 100644 index 00000000..6f8e8722 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3CapacityReservationArgs : global::Pulumi.ResourceArgs + { + [Input("capacityReservationGroups")] + public Input? CapacityReservationGroups { get; set; } + + [Input("shouldUtilize", required: true)] + public Input ShouldUtilize { get; set; } = null!; + + [Input("utilizationStrategy", required: true)] + public Input UtilizationStrategy { get; set; } = null!; + + public ElastigroupAzureV3CapacityReservationArgs() + { + } + public static new ElastigroupAzureV3CapacityReservationArgs Empty => new ElastigroupAzureV3CapacityReservationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs.cs new file mode 100644 index 00000000..eb8ef265 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs : global::Pulumi.ResourceArgs + { + [Input("crgName", required: true)] + public Input CrgName { get; set; } = null!; + + [Input("crgResourceGroupName", required: true)] + public Input CrgResourceGroupName { get; set; } = null!; + + [Input("crgShouldPrioritize")] + public Input? CrgShouldPrioritize { get; set; } + + public ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs() + { + } + public static new ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs Empty => new ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroupsGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroupsGetArgs.cs new file mode 100644 index 00000000..d9bff99d --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroupsGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3CapacityReservationCapacityReservationGroupsGetArgs : global::Pulumi.ResourceArgs + { + [Input("crgName", required: true)] + public Input CrgName { get; set; } = null!; + + [Input("crgResourceGroupName", required: true)] + public Input CrgResourceGroupName { get; set; } = null!; + + [Input("crgShouldPrioritize")] + public Input? CrgShouldPrioritize { get; set; } + + public ElastigroupAzureV3CapacityReservationCapacityReservationGroupsGetArgs() + { + } + public static new ElastigroupAzureV3CapacityReservationCapacityReservationGroupsGetArgs Empty => new ElastigroupAzureV3CapacityReservationCapacityReservationGroupsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationGetArgs.cs new file mode 100644 index 00000000..fc214692 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3CapacityReservationGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3CapacityReservationGetArgs : global::Pulumi.ResourceArgs + { + [Input("capacityReservationGroups")] + public Input? CapacityReservationGroups { get; set; } + + [Input("shouldUtilize", required: true)] + public Input ShouldUtilize { get; set; } = null!; + + [Input("utilizationStrategy", required: true)] + public Input UtilizationStrategy { get; set; } = null!; + + public ElastigroupAzureV3CapacityReservationGetArgs() + { + } + public static new ElastigroupAzureV3CapacityReservationGetArgs Empty => new ElastigroupAzureV3CapacityReservationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3DataDiskArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3DataDiskArgs.cs new file mode 100644 index 00000000..595cb22f --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3DataDiskArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3DataDiskArgs : global::Pulumi.ResourceArgs + { + [Input("lun", required: true)] + public Input Lun { get; set; } = null!; + + [Input("sizeGb", required: true)] + public Input SizeGb { get; set; } = null!; + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ElastigroupAzureV3DataDiskArgs() + { + } + public static new ElastigroupAzureV3DataDiskArgs Empty => new ElastigroupAzureV3DataDiskArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3DataDiskGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3DataDiskGetArgs.cs new file mode 100644 index 00000000..03aa8dc4 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3DataDiskGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3DataDiskGetArgs : global::Pulumi.ResourceArgs + { + [Input("lun", required: true)] + public Input Lun { get; set; } = null!; + + [Input("sizeGb", required: true)] + public Input SizeGb { get; set; } = null!; + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ElastigroupAzureV3DataDiskGetArgs() + { + } + public static new ElastigroupAzureV3DataDiskGetArgs Empty => new ElastigroupAzureV3DataDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3HealthArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3HealthArgs.cs new file mode 100644 index 00000000..ca2a54e2 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3HealthArgs.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3HealthArgs : global::Pulumi.ResourceArgs + { + [Input("autoHealing")] + public Input? AutoHealing { get; set; } + + [Input("gracePeriod")] + public Input? GracePeriod { get; set; } + + [Input("healthCheckTypes")] + private InputList? _healthCheckTypes; + public InputList HealthCheckTypes + { + get => _healthCheckTypes ?? (_healthCheckTypes = new InputList()); + set => _healthCheckTypes = value; + } + + [Input("unhealthyDuration")] + public Input? UnhealthyDuration { get; set; } + + public ElastigroupAzureV3HealthArgs() + { + } + public static new ElastigroupAzureV3HealthArgs Empty => new ElastigroupAzureV3HealthArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3HealthGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3HealthGetArgs.cs new file mode 100644 index 00000000..95004df2 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3HealthGetArgs.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3HealthGetArgs : global::Pulumi.ResourceArgs + { + [Input("autoHealing")] + public Input? AutoHealing { get; set; } + + [Input("gracePeriod")] + public Input? GracePeriod { get; set; } + + [Input("healthCheckTypes")] + private InputList? _healthCheckTypes; + public InputList HealthCheckTypes + { + get => _healthCheckTypes ?? (_healthCheckTypes = new InputList()); + set => _healthCheckTypes = value; + } + + [Input("unhealthyDuration")] + public Input? UnhealthyDuration { get; set; } + + public ElastigroupAzureV3HealthGetArgs() + { + } + public static new ElastigroupAzureV3HealthGetArgs Empty => new ElastigroupAzureV3HealthGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3LoadBalancerArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3LoadBalancerArgs.cs new file mode 100644 index 00000000..313ec853 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3LoadBalancerArgs.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3LoadBalancerArgs : global::Pulumi.ResourceArgs + { + [Input("backendPoolNames")] + private InputList? _backendPoolNames; + public InputList BackendPoolNames + { + get => _backendPoolNames ?? (_backendPoolNames = new InputList()); + set => _backendPoolNames = value; + } + + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("sku")] + public Input? Sku { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ElastigroupAzureV3LoadBalancerArgs() + { + } + public static new ElastigroupAzureV3LoadBalancerArgs Empty => new ElastigroupAzureV3LoadBalancerArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3LoadBalancerGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3LoadBalancerGetArgs.cs new file mode 100644 index 00000000..c119e1d6 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3LoadBalancerGetArgs.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3LoadBalancerGetArgs : global::Pulumi.ResourceArgs + { + [Input("backendPoolNames")] + private InputList? _backendPoolNames; + public InputList BackendPoolNames + { + get => _backendPoolNames ?? (_backendPoolNames = new InputList()); + set => _backendPoolNames = value; + } + + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + [Input("sku")] + public Input? Sku { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ElastigroupAzureV3LoadBalancerGetArgs() + { + } + public static new ElastigroupAzureV3LoadBalancerGetArgs Empty => new ElastigroupAzureV3LoadBalancerGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceArgs.cs index 65975792..7b1ca3cb 100644 --- a/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceArgs.cs +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceArgs.cs @@ -31,9 +31,31 @@ public InputList AssignPublicIp { get; set; } = null!; + [Input("enableIpForwarding")] + public Input? EnableIpForwarding { get; set; } + [Input("isPrimary", required: true)] public Input IsPrimary { get; set; } = null!; + [Input("privateIpAddresses")] + private InputList? _privateIpAddresses; + public InputList PrivateIpAddresses + { + get => _privateIpAddresses ?? (_privateIpAddresses = new InputList()); + set => _privateIpAddresses = value; + } + + [Input("publicIpSku")] + public Input? PublicIpSku { get; set; } + + [Input("securityGroups")] + private InputList? _securityGroups; + public InputList SecurityGroups + { + get => _securityGroups ?? (_securityGroups = new InputList()); + set => _securityGroups = value; + } + [Input("subnetName", required: true)] public Input SubnetName { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceGetArgs.cs index 53c98038..36799795 100644 --- a/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceGetArgs.cs +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceGetArgs.cs @@ -31,9 +31,31 @@ public InputList AssignPublicIp { get; set; } = null!; + [Input("enableIpForwarding")] + public Input? EnableIpForwarding { get; set; } + [Input("isPrimary", required: true)] public Input IsPrimary { get; set; } = null!; + [Input("privateIpAddresses")] + private InputList? _privateIpAddresses; + public InputList PrivateIpAddresses + { + get => _privateIpAddresses ?? (_privateIpAddresses = new InputList()); + set => _privateIpAddresses = value; + } + + [Input("publicIpSku")] + public Input? PublicIpSku { get; set; } + + [Input("securityGroups")] + private InputList? _securityGroups; + public InputList SecurityGroups + { + get => _securityGroups ?? (_securityGroups = new InputList()); + set => _securityGroups = value; + } + [Input("subnetName", required: true)] public Input SubnetName { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs.cs new file mode 100644 index 00000000..bd8f668b --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs : global::Pulumi.ResourceArgs + { + [Input("name")] + public Input? Name { get; set; } + + [Input("resourceGroupName")] + public Input? ResourceGroupName { get; set; } + + public ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs() + { + } + public static new ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs Empty => new ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupGetArgs.cs new file mode 100644 index 00000000..0e529729 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupGetArgs : global::Pulumi.ResourceArgs + { + [Input("name")] + public Input? Name { get; set; } + + [Input("resourceGroupName")] + public Input? ResourceGroupName { get; set; } + + public ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupGetArgs() + { + } + public static new ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupGetArgs Empty => new ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3OsDiskArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3OsDiskArgs.cs new file mode 100644 index 00000000..ec7e6377 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3OsDiskArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3OsDiskArgs : global::Pulumi.ResourceArgs + { + [Input("sizeGb")] + public Input? SizeGb { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ElastigroupAzureV3OsDiskArgs() + { + } + public static new ElastigroupAzureV3OsDiskArgs Empty => new ElastigroupAzureV3OsDiskArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3OsDiskGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3OsDiskGetArgs.cs new file mode 100644 index 00000000..e9123864 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3OsDiskGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3OsDiskGetArgs : global::Pulumi.ResourceArgs + { + [Input("sizeGb")] + public Input? SizeGb { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ElastigroupAzureV3OsDiskGetArgs() + { + } + public static new ElastigroupAzureV3OsDiskGetArgs Empty => new ElastigroupAzureV3OsDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3ProximityPlacementGroupArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3ProximityPlacementGroupArgs.cs new file mode 100644 index 00000000..63eca509 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3ProximityPlacementGroupArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3ProximityPlacementGroupArgs : global::Pulumi.ResourceArgs + { + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public ElastigroupAzureV3ProximityPlacementGroupArgs() + { + } + public static new ElastigroupAzureV3ProximityPlacementGroupArgs Empty => new ElastigroupAzureV3ProximityPlacementGroupArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3ProximityPlacementGroupGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3ProximityPlacementGroupGetArgs.cs new file mode 100644 index 00000000..24fc2c6a --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3ProximityPlacementGroupGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3ProximityPlacementGroupGetArgs : global::Pulumi.ResourceArgs + { + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public ElastigroupAzureV3ProximityPlacementGroupGetArgs() + { + } + public static new ElastigroupAzureV3ProximityPlacementGroupGetArgs Empty => new ElastigroupAzureV3ProximityPlacementGroupGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3RevertToSpotArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3RevertToSpotArgs.cs new file mode 100644 index 00000000..05da042c --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3RevertToSpotArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3RevertToSpotArgs : global::Pulumi.ResourceArgs + { + [Input("performAt", required: true)] + public Input PerformAt { get; set; } = null!; + + public ElastigroupAzureV3RevertToSpotArgs() + { + } + public static new ElastigroupAzureV3RevertToSpotArgs Empty => new ElastigroupAzureV3RevertToSpotArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3RevertToSpotGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3RevertToSpotGetArgs.cs new file mode 100644 index 00000000..c7fbe765 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3RevertToSpotGetArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3RevertToSpotGetArgs : global::Pulumi.ResourceArgs + { + [Input("performAt", required: true)] + public Input PerformAt { get; set; } = null!; + + public ElastigroupAzureV3RevertToSpotGetArgs() + { + } + public static new ElastigroupAzureV3RevertToSpotGetArgs Empty => new ElastigroupAzureV3RevertToSpotGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3SchedulingTaskArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3SchedulingTaskArgs.cs new file mode 100644 index 00000000..0cb0800b --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3SchedulingTaskArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3SchedulingTaskArgs : global::Pulumi.ResourceArgs + { + [Input("adjustment")] + public Input? Adjustment { get; set; } + + [Input("adjustmentPercentage")] + public Input? AdjustmentPercentage { get; set; } + + [Input("batchSizePercentage")] + public Input? BatchSizePercentage { get; set; } + + [Input("cronExpression", required: true)] + public Input CronExpression { get; set; } = null!; + + [Input("gracePeriod")] + public Input? GracePeriod { get; set; } + + [Input("isEnabled", required: true)] + public Input IsEnabled { get; set; } = null!; + + [Input("scaleMaxCapacity")] + public Input? ScaleMaxCapacity { get; set; } + + [Input("scaleMinCapacity")] + public Input? ScaleMinCapacity { get; set; } + + [Input("scaleTargetCapacity")] + public Input? ScaleTargetCapacity { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ElastigroupAzureV3SchedulingTaskArgs() + { + } + public static new ElastigroupAzureV3SchedulingTaskArgs Empty => new ElastigroupAzureV3SchedulingTaskArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3SchedulingTaskGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3SchedulingTaskGetArgs.cs new file mode 100644 index 00000000..cae16541 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3SchedulingTaskGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3SchedulingTaskGetArgs : global::Pulumi.ResourceArgs + { + [Input("adjustment")] + public Input? Adjustment { get; set; } + + [Input("adjustmentPercentage")] + public Input? AdjustmentPercentage { get; set; } + + [Input("batchSizePercentage")] + public Input? BatchSizePercentage { get; set; } + + [Input("cronExpression", required: true)] + public Input CronExpression { get; set; } = null!; + + [Input("gracePeriod")] + public Input? GracePeriod { get; set; } + + [Input("isEnabled", required: true)] + public Input IsEnabled { get; set; } = null!; + + [Input("scaleMaxCapacity")] + public Input? ScaleMaxCapacity { get; set; } + + [Input("scaleMinCapacity")] + public Input? ScaleMinCapacity { get; set; } + + [Input("scaleTargetCapacity")] + public Input? ScaleTargetCapacity { get; set; } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ElastigroupAzureV3SchedulingTaskGetArgs() + { + } + public static new ElastigroupAzureV3SchedulingTaskGetArgs Empty => new ElastigroupAzureV3SchedulingTaskGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3SecretArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3SecretArgs.cs new file mode 100644 index 00000000..442ae68c --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3SecretArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3SecretArgs : global::Pulumi.ResourceArgs + { + [Input("sourceVaults", required: true)] + private InputList? _sourceVaults; + public InputList SourceVaults + { + get => _sourceVaults ?? (_sourceVaults = new InputList()); + set => _sourceVaults = value; + } + + [Input("vaultCertificates", required: true)] + private InputList? _vaultCertificates; + public InputList VaultCertificates + { + get => _vaultCertificates ?? (_vaultCertificates = new InputList()); + set => _vaultCertificates = value; + } + + public ElastigroupAzureV3SecretArgs() + { + } + public static new ElastigroupAzureV3SecretArgs Empty => new ElastigroupAzureV3SecretArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3SecretGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3SecretGetArgs.cs new file mode 100644 index 00000000..12b82546 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3SecretGetArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3SecretGetArgs : global::Pulumi.ResourceArgs + { + [Input("sourceVaults", required: true)] + private InputList? _sourceVaults; + public InputList SourceVaults + { + get => _sourceVaults ?? (_sourceVaults = new InputList()); + set => _sourceVaults = value; + } + + [Input("vaultCertificates", required: true)] + private InputList? _vaultCertificates; + public InputList VaultCertificates + { + get => _vaultCertificates ?? (_vaultCertificates = new InputList()); + set => _vaultCertificates = value; + } + + public ElastigroupAzureV3SecretGetArgs() + { + } + public static new ElastigroupAzureV3SecretGetArgs Empty => new ElastigroupAzureV3SecretGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3SecretSourceVaultArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3SecretSourceVaultArgs.cs new file mode 100644 index 00000000..9ba1cfcf --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3SecretSourceVaultArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3SecretSourceVaultArgs : global::Pulumi.ResourceArgs + { + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public ElastigroupAzureV3SecretSourceVaultArgs() + { + } + public static new ElastigroupAzureV3SecretSourceVaultArgs Empty => new ElastigroupAzureV3SecretSourceVaultArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3SecretSourceVaultGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3SecretSourceVaultGetArgs.cs new file mode 100644 index 00000000..079d17d0 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3SecretSourceVaultGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3SecretSourceVaultGetArgs : global::Pulumi.ResourceArgs + { + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("resourceGroupName", required: true)] + public Input ResourceGroupName { get; set; } = null!; + + public ElastigroupAzureV3SecretSourceVaultGetArgs() + { + } + public static new ElastigroupAzureV3SecretSourceVaultGetArgs Empty => new ElastigroupAzureV3SecretSourceVaultGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3SecretVaultCertificateArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3SecretVaultCertificateArgs.cs new file mode 100644 index 00000000..974c0355 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3SecretVaultCertificateArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3SecretVaultCertificateArgs : global::Pulumi.ResourceArgs + { + [Input("certificateStore", required: true)] + public Input CertificateStore { get; set; } = null!; + + [Input("certificateUrl", required: true)] + public Input CertificateUrl { get; set; } = null!; + + public ElastigroupAzureV3SecretVaultCertificateArgs() + { + } + public static new ElastigroupAzureV3SecretVaultCertificateArgs Empty => new ElastigroupAzureV3SecretVaultCertificateArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3SecretVaultCertificateGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3SecretVaultCertificateGetArgs.cs new file mode 100644 index 00000000..1e4c3bac --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3SecretVaultCertificateGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3SecretVaultCertificateGetArgs : global::Pulumi.ResourceArgs + { + [Input("certificateStore", required: true)] + public Input CertificateStore { get; set; } = null!; + + [Input("certificateUrl", required: true)] + public Input CertificateUrl { get; set; } = null!; + + public ElastigroupAzureV3SecretVaultCertificateGetArgs() + { + } + public static new ElastigroupAzureV3SecretVaultCertificateGetArgs Empty => new ElastigroupAzureV3SecretVaultCertificateGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3SecurityArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3SecurityArgs.cs new file mode 100644 index 00000000..3a0504c8 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3SecurityArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3SecurityArgs : global::Pulumi.ResourceArgs + { + [Input("confidentialOsDiskEncryption")] + public Input? ConfidentialOsDiskEncryption { get; set; } + + [Input("secureBootEnabled")] + public Input? SecureBootEnabled { get; set; } + + [Input("securityType")] + public Input? SecurityType { get; set; } + + [Input("vtpmEnabled")] + public Input? VtpmEnabled { get; set; } + + public ElastigroupAzureV3SecurityArgs() + { + } + public static new ElastigroupAzureV3SecurityArgs Empty => new ElastigroupAzureV3SecurityArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3SecurityGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3SecurityGetArgs.cs new file mode 100644 index 00000000..94129ae3 --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3SecurityGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3SecurityGetArgs : global::Pulumi.ResourceArgs + { + [Input("confidentialOsDiskEncryption")] + public Input? ConfidentialOsDiskEncryption { get; set; } + + [Input("secureBootEnabled")] + public Input? SecureBootEnabled { get; set; } + + [Input("securityType")] + public Input? SecurityType { get; set; } + + [Input("vtpmEnabled")] + public Input? VtpmEnabled { get; set; } + + public ElastigroupAzureV3SecurityGetArgs() + { + } + public static new ElastigroupAzureV3SecurityGetArgs Empty => new ElastigroupAzureV3SecurityGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3SignalArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3SignalArgs.cs new file mode 100644 index 00000000..668d333c --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3SignalArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3SignalArgs : global::Pulumi.ResourceArgs + { + [Input("timeout", required: true)] + public Input Timeout { get; set; } = null!; + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ElastigroupAzureV3SignalArgs() + { + } + public static new ElastigroupAzureV3SignalArgs Empty => new ElastigroupAzureV3SignalArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3SignalGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3SignalGetArgs.cs new file mode 100644 index 00000000..a1e181fc --- /dev/null +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3SignalGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Inputs +{ + + public sealed class ElastigroupAzureV3SignalGetArgs : global::Pulumi.ResourceArgs + { + [Input("timeout", required: true)] + public Input Timeout { get; set; } = null!; + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public ElastigroupAzureV3SignalGetArgs() + { + } + public static new ElastigroupAzureV3SignalGetArgs Empty => new ElastigroupAzureV3SignalGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3VmSizesArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3VmSizesArgs.cs index edbf0bf3..78fa4098 100644 --- a/sdk/dotnet/Inputs/ElastigroupAzureV3VmSizesArgs.cs +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3VmSizesArgs.cs @@ -20,6 +20,14 @@ public InputList OdSizes set => _odSizes = value; } + [Input("preferredSpotSizes")] + private InputList? _preferredSpotSizes; + public InputList PreferredSpotSizes + { + get => _preferredSpotSizes ?? (_preferredSpotSizes = new InputList()); + set => _preferredSpotSizes = value; + } + [Input("spotSizes", required: true)] private InputList? _spotSizes; public InputList SpotSizes diff --git a/sdk/dotnet/Inputs/ElastigroupAzureV3VmSizesGetArgs.cs b/sdk/dotnet/Inputs/ElastigroupAzureV3VmSizesGetArgs.cs index 0ff5b432..9e17d372 100644 --- a/sdk/dotnet/Inputs/ElastigroupAzureV3VmSizesGetArgs.cs +++ b/sdk/dotnet/Inputs/ElastigroupAzureV3VmSizesGetArgs.cs @@ -20,6 +20,14 @@ public InputList OdSizes set => _odSizes = value; } + [Input("preferredSpotSizes")] + private InputList? _preferredSpotSizes; + public InputList PreferredSpotSizes + { + get => _preferredSpotSizes ?? (_preferredSpotSizes = new InputList()); + set => _preferredSpotSizes = value; + } + [Input("spotSizes", required: true)] private InputList? _spotSizes; public InputList SpotSizes diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3BootDiagnostic.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3BootDiagnostic.cs new file mode 100644 index 00000000..1b8255a3 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3BootDiagnostic.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3BootDiagnostic + { + public readonly bool IsEnabled; + public readonly string? StorageUrl; + public readonly string Type; + + [OutputConstructor] + private ElastigroupAzureV3BootDiagnostic( + bool isEnabled, + + string? storageUrl, + + string type) + { + IsEnabled = isEnabled; + StorageUrl = storageUrl; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3CapacityReservation.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3CapacityReservation.cs new file mode 100644 index 00000000..baf58956 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3CapacityReservation.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3CapacityReservation + { + public readonly Outputs.ElastigroupAzureV3CapacityReservationCapacityReservationGroups? CapacityReservationGroups; + public readonly bool ShouldUtilize; + public readonly string UtilizationStrategy; + + [OutputConstructor] + private ElastigroupAzureV3CapacityReservation( + Outputs.ElastigroupAzureV3CapacityReservationCapacityReservationGroups? capacityReservationGroups, + + bool shouldUtilize, + + string utilizationStrategy) + { + CapacityReservationGroups = capacityReservationGroups; + ShouldUtilize = shouldUtilize; + UtilizationStrategy = utilizationStrategy; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroups.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroups.cs new file mode 100644 index 00000000..01ae5c84 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroups.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3CapacityReservationCapacityReservationGroups + { + public readonly string CrgName; + public readonly string CrgResourceGroupName; + public readonly bool? CrgShouldPrioritize; + + [OutputConstructor] + private ElastigroupAzureV3CapacityReservationCapacityReservationGroups( + string crgName, + + string crgResourceGroupName, + + bool? crgShouldPrioritize) + { + CrgName = crgName; + CrgResourceGroupName = crgResourceGroupName; + CrgShouldPrioritize = crgShouldPrioritize; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3DataDisk.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3DataDisk.cs new file mode 100644 index 00000000..753bd635 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3DataDisk.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3DataDisk + { + public readonly int Lun; + public readonly int SizeGb; + public readonly string Type; + + [OutputConstructor] + private ElastigroupAzureV3DataDisk( + int lun, + + int sizeGb, + + string type) + { + Lun = lun; + SizeGb = sizeGb; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3Health.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3Health.cs new file mode 100644 index 00000000..4dff6ca6 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3Health.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3Health + { + public readonly bool? AutoHealing; + public readonly int? GracePeriod; + public readonly ImmutableArray HealthCheckTypes; + public readonly int? UnhealthyDuration; + + [OutputConstructor] + private ElastigroupAzureV3Health( + bool? autoHealing, + + int? gracePeriod, + + ImmutableArray healthCheckTypes, + + int? unhealthyDuration) + { + AutoHealing = autoHealing; + GracePeriod = gracePeriod; + HealthCheckTypes = healthCheckTypes; + UnhealthyDuration = unhealthyDuration; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3LoadBalancer.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3LoadBalancer.cs new file mode 100644 index 00000000..9dde7931 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3LoadBalancer.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3LoadBalancer + { + public readonly ImmutableArray BackendPoolNames; + public readonly string Name; + public readonly string ResourceGroupName; + public readonly string? Sku; + public readonly string Type; + + [OutputConstructor] + private ElastigroupAzureV3LoadBalancer( + ImmutableArray backendPoolNames, + + string name, + + string resourceGroupName, + + string? sku, + + string type) + { + BackendPoolNames = backendPoolNames; + Name = name; + ResourceGroupName = resourceGroupName; + Sku = sku; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3NetworkNetworkInterface.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3NetworkNetworkInterface.cs index 49d49463..a0246d59 100644 --- a/sdk/dotnet/Outputs/ElastigroupAzureV3NetworkNetworkInterface.cs +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3NetworkNetworkInterface.cs @@ -16,7 +16,11 @@ public sealed class ElastigroupAzureV3NetworkNetworkInterface public readonly ImmutableArray AdditionalIpConfigs; public readonly ImmutableArray ApplicationSecurityGroups; public readonly bool AssignPublicIp; + public readonly bool? EnableIpForwarding; public readonly bool IsPrimary; + public readonly ImmutableArray PrivateIpAddresses; + public readonly string? PublicIpSku; + public readonly ImmutableArray SecurityGroups; public readonly string SubnetName; [OutputConstructor] @@ -27,14 +31,26 @@ private ElastigroupAzureV3NetworkNetworkInterface( bool assignPublicIp, + bool? enableIpForwarding, + bool isPrimary, + ImmutableArray privateIpAddresses, + + string? publicIpSku, + + ImmutableArray securityGroups, + string subnetName) { AdditionalIpConfigs = additionalIpConfigs; ApplicationSecurityGroups = applicationSecurityGroups; AssignPublicIp = assignPublicIp; + EnableIpForwarding = enableIpForwarding; IsPrimary = isPrimary; + PrivateIpAddresses = privateIpAddresses; + PublicIpSku = publicIpSku; + SecurityGroups = securityGroups; SubnetName = subnetName; } } diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup.cs new file mode 100644 index 00000000..2c1fc394 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup + { + public readonly string? Name; + public readonly string? ResourceGroupName; + + [OutputConstructor] + private ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup( + string? name, + + string? resourceGroupName) + { + Name = name; + ResourceGroupName = resourceGroupName; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3OsDisk.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3OsDisk.cs new file mode 100644 index 00000000..82835abe --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3OsDisk.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3OsDisk + { + public readonly int? SizeGb; + public readonly string Type; + + [OutputConstructor] + private ElastigroupAzureV3OsDisk( + int? sizeGb, + + string type) + { + SizeGb = sizeGb; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3ProximityPlacementGroup.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3ProximityPlacementGroup.cs new file mode 100644 index 00000000..dd7a2db5 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3ProximityPlacementGroup.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3ProximityPlacementGroup + { + public readonly string Name; + public readonly string ResourceGroupName; + + [OutputConstructor] + private ElastigroupAzureV3ProximityPlacementGroup( + string name, + + string resourceGroupName) + { + Name = name; + ResourceGroupName = resourceGroupName; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3RevertToSpot.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3RevertToSpot.cs new file mode 100644 index 00000000..5e034348 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3RevertToSpot.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3RevertToSpot + { + public readonly string PerformAt; + + [OutputConstructor] + private ElastigroupAzureV3RevertToSpot(string performAt) + { + PerformAt = performAt; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3SchedulingTask.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3SchedulingTask.cs new file mode 100644 index 00000000..82a8ac60 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3SchedulingTask.cs @@ -0,0 +1,61 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3SchedulingTask + { + public readonly string? Adjustment; + public readonly string? AdjustmentPercentage; + public readonly string? BatchSizePercentage; + public readonly string CronExpression; + public readonly string? GracePeriod; + public readonly bool IsEnabled; + public readonly string? ScaleMaxCapacity; + public readonly string? ScaleMinCapacity; + public readonly string? ScaleTargetCapacity; + public readonly string Type; + + [OutputConstructor] + private ElastigroupAzureV3SchedulingTask( + string? adjustment, + + string? adjustmentPercentage, + + string? batchSizePercentage, + + string cronExpression, + + string? gracePeriod, + + bool isEnabled, + + string? scaleMaxCapacity, + + string? scaleMinCapacity, + + string? scaleTargetCapacity, + + string type) + { + Adjustment = adjustment; + AdjustmentPercentage = adjustmentPercentage; + BatchSizePercentage = batchSizePercentage; + CronExpression = cronExpression; + GracePeriod = gracePeriod; + IsEnabled = isEnabled; + ScaleMaxCapacity = scaleMaxCapacity; + ScaleMinCapacity = scaleMinCapacity; + ScaleTargetCapacity = scaleTargetCapacity; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3Secret.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3Secret.cs new file mode 100644 index 00000000..e8cc8645 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3Secret.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3Secret + { + public readonly ImmutableArray SourceVaults; + public readonly ImmutableArray VaultCertificates; + + [OutputConstructor] + private ElastigroupAzureV3Secret( + ImmutableArray sourceVaults, + + ImmutableArray vaultCertificates) + { + SourceVaults = sourceVaults; + VaultCertificates = vaultCertificates; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3SecretSourceVault.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3SecretSourceVault.cs new file mode 100644 index 00000000..258a2264 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3SecretSourceVault.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3SecretSourceVault + { + public readonly string Name; + public readonly string ResourceGroupName; + + [OutputConstructor] + private ElastigroupAzureV3SecretSourceVault( + string name, + + string resourceGroupName) + { + Name = name; + ResourceGroupName = resourceGroupName; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3SecretVaultCertificate.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3SecretVaultCertificate.cs new file mode 100644 index 00000000..1564209c --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3SecretVaultCertificate.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3SecretVaultCertificate + { + public readonly string CertificateStore; + public readonly string CertificateUrl; + + [OutputConstructor] + private ElastigroupAzureV3SecretVaultCertificate( + string certificateStore, + + string certificateUrl) + { + CertificateStore = certificateStore; + CertificateUrl = certificateUrl; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3Security.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3Security.cs new file mode 100644 index 00000000..1800af09 --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3Security.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3Security + { + public readonly bool? ConfidentialOsDiskEncryption; + public readonly bool? SecureBootEnabled; + public readonly string? SecurityType; + public readonly bool? VtpmEnabled; + + [OutputConstructor] + private ElastigroupAzureV3Security( + bool? confidentialOsDiskEncryption, + + bool? secureBootEnabled, + + string? securityType, + + bool? vtpmEnabled) + { + ConfidentialOsDiskEncryption = confidentialOsDiskEncryption; + SecureBootEnabled = secureBootEnabled; + SecurityType = securityType; + VtpmEnabled = vtpmEnabled; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3Signal.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3Signal.cs new file mode 100644 index 00000000..4df97d2f --- /dev/null +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3Signal.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** 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.SpotInst.Outputs +{ + + [OutputType] + public sealed class ElastigroupAzureV3Signal + { + public readonly int Timeout; + public readonly string Type; + + [OutputConstructor] + private ElastigroupAzureV3Signal( + int timeout, + + string type) + { + Timeout = timeout; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/ElastigroupAzureV3VmSizes.cs b/sdk/dotnet/Outputs/ElastigroupAzureV3VmSizes.cs index 07b9695e..9bc5b706 100644 --- a/sdk/dotnet/Outputs/ElastigroupAzureV3VmSizes.cs +++ b/sdk/dotnet/Outputs/ElastigroupAzureV3VmSizes.cs @@ -14,15 +14,19 @@ namespace Pulumi.SpotInst.Outputs public sealed class ElastigroupAzureV3VmSizes { public readonly ImmutableArray OdSizes; + public readonly ImmutableArray PreferredSpotSizes; public readonly ImmutableArray SpotSizes; [OutputConstructor] private ElastigroupAzureV3VmSizes( ImmutableArray odSizes, + ImmutableArray preferredSpotSizes, + ImmutableArray spotSizes) { OdSizes = odSizes; + PreferredSpotSizes = preferredSpotSizes; SpotSizes = spotSizes; } } diff --git a/sdk/go/spotinst/aws/pulumiTypes.go b/sdk/go/spotinst/aws/pulumiTypes.go index 3cfa245a..0be1d1a0 100644 --- a/sdk/go/spotinst/aws/pulumiTypes.go +++ b/sdk/go/spotinst/aws/pulumiTypes.go @@ -22692,6 +22692,8 @@ func (o OceanLaunchSpecUpdatePolicyPtrOutput) ShouldRoll() pulumi.BoolPtrOutput type OceanLaunchSpecUpdatePolicyRollConfig struct { // Sets the percentage of the instances to deploy in each batch. BatchSizePercentage int `pulumi:"batchSizePercentage"` + // During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + RespectPdb *bool `pulumi:"respectPdb"` } // OceanLaunchSpecUpdatePolicyRollConfigInput is an input type that accepts OceanLaunchSpecUpdatePolicyRollConfigArgs and OceanLaunchSpecUpdatePolicyRollConfigOutput values. @@ -22708,6 +22710,8 @@ type OceanLaunchSpecUpdatePolicyRollConfigInput interface { type OceanLaunchSpecUpdatePolicyRollConfigArgs struct { // Sets the percentage of the instances to deploy in each batch. BatchSizePercentage pulumi.IntInput `pulumi:"batchSizePercentage"` + // During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + RespectPdb pulumi.BoolPtrInput `pulumi:"respectPdb"` } func (OceanLaunchSpecUpdatePolicyRollConfigArgs) ElementType() reflect.Type { @@ -22792,6 +22796,11 @@ func (o OceanLaunchSpecUpdatePolicyRollConfigOutput) BatchSizePercentage() pulum return o.ApplyT(func(v OceanLaunchSpecUpdatePolicyRollConfig) int { return v.BatchSizePercentage }).(pulumi.IntOutput) } +// During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. +func (o OceanLaunchSpecUpdatePolicyRollConfigOutput) RespectPdb() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OceanLaunchSpecUpdatePolicyRollConfig) *bool { return v.RespectPdb }).(pulumi.BoolPtrOutput) +} + type OceanLaunchSpecUpdatePolicyRollConfigPtrOutput struct{ *pulumi.OutputState } func (OceanLaunchSpecUpdatePolicyRollConfigPtrOutput) ElementType() reflect.Type { @@ -22826,6 +22835,16 @@ func (o OceanLaunchSpecUpdatePolicyRollConfigPtrOutput) BatchSizePercentage() pu }).(pulumi.IntPtrOutput) } +// During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. +func (o OceanLaunchSpecUpdatePolicyRollConfigPtrOutput) RespectPdb() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *OceanLaunchSpecUpdatePolicyRollConfig) *bool { + if v == nil { + return nil + } + return v.RespectPdb + }).(pulumi.BoolPtrOutput) +} + type OceanLoadBalancer struct { // Required if type is set to `TARGET_GROUP` Arn *string `pulumi:"arn"` diff --git a/sdk/go/spotinst/elastigroupAzureV3.go b/sdk/go/spotinst/elastigroupAzureV3.go index 7df35a71..5eb9fabb 100644 --- a/sdk/go/spotinst/elastigroupAzureV3.go +++ b/sdk/go/spotinst/elastigroupAzureV3.go @@ -15,27 +15,47 @@ import ( type ElastigroupAzureV3 struct { pulumi.CustomResourceState - CustomData pulumi.StringPtrOutput `pulumi:"customData"` - DesiredCapacity pulumi.IntPtrOutput `pulumi:"desiredCapacity"` - DrainingTimeout pulumi.IntOutput `pulumi:"drainingTimeout"` - Extensions ElastigroupAzureV3ExtensionArrayOutput `pulumi:"extensions"` - FallbackToOnDemand pulumi.BoolOutput `pulumi:"fallbackToOnDemand"` - Images ElastigroupAzureV3ImageArrayOutput `pulumi:"images"` - Login ElastigroupAzureV3LoginPtrOutput `pulumi:"login"` - ManagedServiceIdentities ElastigroupAzureV3ManagedServiceIdentityArrayOutput `pulumi:"managedServiceIdentities"` - MaxSize pulumi.IntOutput `pulumi:"maxSize"` - MinSize pulumi.IntOutput `pulumi:"minSize"` - Name pulumi.StringOutput `pulumi:"name"` - Network ElastigroupAzureV3NetworkOutput `pulumi:"network"` - OnDemandCount pulumi.IntPtrOutput `pulumi:"onDemandCount"` - Os pulumi.StringOutput `pulumi:"os"` - Region pulumi.StringOutput `pulumi:"region"` - ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` - ScalingDownPolicies ElastigroupAzureV3ScalingDownPolicyArrayOutput `pulumi:"scalingDownPolicies"` - ScalingUpPolicies ElastigroupAzureV3ScalingUpPolicyArrayOutput `pulumi:"scalingUpPolicies"` - SpotPercentage pulumi.IntPtrOutput `pulumi:"spotPercentage"` - Tags ElastigroupAzureV3TagArrayOutput `pulumi:"tags"` - VmSizes ElastigroupAzureV3VmSizesOutput `pulumi:"vmSizes"` + AvailabilityVsCost pulumi.IntPtrOutput `pulumi:"availabilityVsCost"` + BootDiagnostics ElastigroupAzureV3BootDiagnosticArrayOutput `pulumi:"bootDiagnostics"` + CapacityReservation ElastigroupAzureV3CapacityReservationPtrOutput `pulumi:"capacityReservation"` + CustomData pulumi.StringPtrOutput `pulumi:"customData"` + DataDisks ElastigroupAzureV3DataDiskArrayOutput `pulumi:"dataDisks"` + Description pulumi.StringPtrOutput `pulumi:"description"` + DesiredCapacity pulumi.IntPtrOutput `pulumi:"desiredCapacity"` + DrainingTimeout pulumi.IntOutput `pulumi:"drainingTimeout"` + Extensions ElastigroupAzureV3ExtensionArrayOutput `pulumi:"extensions"` + FallbackToOnDemand pulumi.BoolOutput `pulumi:"fallbackToOnDemand"` + Health ElastigroupAzureV3HealthPtrOutput `pulumi:"health"` + Images ElastigroupAzureV3ImageArrayOutput `pulumi:"images"` + LoadBalancers ElastigroupAzureV3LoadBalancerArrayOutput `pulumi:"loadBalancers"` + Login ElastigroupAzureV3LoginPtrOutput `pulumi:"login"` + ManagedServiceIdentities ElastigroupAzureV3ManagedServiceIdentityArrayOutput `pulumi:"managedServiceIdentities"` + MaxSize pulumi.IntOutput `pulumi:"maxSize"` + MinSize pulumi.IntOutput `pulumi:"minSize"` + Name pulumi.StringOutput `pulumi:"name"` + Network ElastigroupAzureV3NetworkOutput `pulumi:"network"` + OnDemandCount pulumi.IntPtrOutput `pulumi:"onDemandCount"` + OptimizationWindows pulumi.StringArrayOutput `pulumi:"optimizationWindows"` + Os pulumi.StringOutput `pulumi:"os"` + OsDisk ElastigroupAzureV3OsDiskPtrOutput `pulumi:"osDisk"` + PreferredZones pulumi.StringArrayOutput `pulumi:"preferredZones"` + ProximityPlacementGroups ElastigroupAzureV3ProximityPlacementGroupArrayOutput `pulumi:"proximityPlacementGroups"` + Region pulumi.StringOutput `pulumi:"region"` + ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"` + RevertToSpot ElastigroupAzureV3RevertToSpotPtrOutput `pulumi:"revertToSpot"` + ScalingDownPolicies ElastigroupAzureV3ScalingDownPolicyArrayOutput `pulumi:"scalingDownPolicies"` + ScalingUpPolicies ElastigroupAzureV3ScalingUpPolicyArrayOutput `pulumi:"scalingUpPolicies"` + SchedulingTasks ElastigroupAzureV3SchedulingTaskArrayOutput `pulumi:"schedulingTasks"` + Secrets ElastigroupAzureV3SecretArrayOutput `pulumi:"secrets"` + Security ElastigroupAzureV3SecurityPtrOutput `pulumi:"security"` + ShutdownScript pulumi.StringPtrOutput `pulumi:"shutdownScript"` + Signals ElastigroupAzureV3SignalArrayOutput `pulumi:"signals"` + SpotPercentage pulumi.IntPtrOutput `pulumi:"spotPercentage"` + Tags ElastigroupAzureV3TagArrayOutput `pulumi:"tags"` + UserData pulumi.StringPtrOutput `pulumi:"userData"` + VmNamePrefix pulumi.StringPtrOutput `pulumi:"vmNamePrefix"` + VmSizes ElastigroupAzureV3VmSizesOutput `pulumi:"vmSizes"` + Zones pulumi.StringArrayOutput `pulumi:"zones"` } // NewElastigroupAzureV3 registers a new resource with the given unique name, arguments, and options. @@ -86,36 +106,63 @@ func GetElastigroupAzureV3(ctx *pulumi.Context, // Input properties used for looking up and filtering ElastigroupAzureV3 resources. type elastigroupAzureV3State struct { - CustomData *string `pulumi:"customData"` - DesiredCapacity *int `pulumi:"desiredCapacity"` - DrainingTimeout *int `pulumi:"drainingTimeout"` - Extensions []ElastigroupAzureV3Extension `pulumi:"extensions"` - FallbackToOnDemand *bool `pulumi:"fallbackToOnDemand"` - Images []ElastigroupAzureV3Image `pulumi:"images"` - Login *ElastigroupAzureV3Login `pulumi:"login"` - ManagedServiceIdentities []ElastigroupAzureV3ManagedServiceIdentity `pulumi:"managedServiceIdentities"` - MaxSize *int `pulumi:"maxSize"` - MinSize *int `pulumi:"minSize"` - Name *string `pulumi:"name"` - Network *ElastigroupAzureV3Network `pulumi:"network"` - OnDemandCount *int `pulumi:"onDemandCount"` - Os *string `pulumi:"os"` - Region *string `pulumi:"region"` - ResourceGroupName *string `pulumi:"resourceGroupName"` - ScalingDownPolicies []ElastigroupAzureV3ScalingDownPolicy `pulumi:"scalingDownPolicies"` - ScalingUpPolicies []ElastigroupAzureV3ScalingUpPolicy `pulumi:"scalingUpPolicies"` - SpotPercentage *int `pulumi:"spotPercentage"` - Tags []ElastigroupAzureV3Tag `pulumi:"tags"` - VmSizes *ElastigroupAzureV3VmSizes `pulumi:"vmSizes"` + AvailabilityVsCost *int `pulumi:"availabilityVsCost"` + BootDiagnostics []ElastigroupAzureV3BootDiagnostic `pulumi:"bootDiagnostics"` + CapacityReservation *ElastigroupAzureV3CapacityReservation `pulumi:"capacityReservation"` + CustomData *string `pulumi:"customData"` + DataDisks []ElastigroupAzureV3DataDisk `pulumi:"dataDisks"` + Description *string `pulumi:"description"` + DesiredCapacity *int `pulumi:"desiredCapacity"` + DrainingTimeout *int `pulumi:"drainingTimeout"` + Extensions []ElastigroupAzureV3Extension `pulumi:"extensions"` + FallbackToOnDemand *bool `pulumi:"fallbackToOnDemand"` + Health *ElastigroupAzureV3Health `pulumi:"health"` + Images []ElastigroupAzureV3Image `pulumi:"images"` + LoadBalancers []ElastigroupAzureV3LoadBalancer `pulumi:"loadBalancers"` + Login *ElastigroupAzureV3Login `pulumi:"login"` + ManagedServiceIdentities []ElastigroupAzureV3ManagedServiceIdentity `pulumi:"managedServiceIdentities"` + MaxSize *int `pulumi:"maxSize"` + MinSize *int `pulumi:"minSize"` + Name *string `pulumi:"name"` + Network *ElastigroupAzureV3Network `pulumi:"network"` + OnDemandCount *int `pulumi:"onDemandCount"` + OptimizationWindows []string `pulumi:"optimizationWindows"` + Os *string `pulumi:"os"` + OsDisk *ElastigroupAzureV3OsDisk `pulumi:"osDisk"` + PreferredZones []string `pulumi:"preferredZones"` + ProximityPlacementGroups []ElastigroupAzureV3ProximityPlacementGroup `pulumi:"proximityPlacementGroups"` + Region *string `pulumi:"region"` + ResourceGroupName *string `pulumi:"resourceGroupName"` + RevertToSpot *ElastigroupAzureV3RevertToSpot `pulumi:"revertToSpot"` + ScalingDownPolicies []ElastigroupAzureV3ScalingDownPolicy `pulumi:"scalingDownPolicies"` + ScalingUpPolicies []ElastigroupAzureV3ScalingUpPolicy `pulumi:"scalingUpPolicies"` + SchedulingTasks []ElastigroupAzureV3SchedulingTask `pulumi:"schedulingTasks"` + Secrets []ElastigroupAzureV3Secret `pulumi:"secrets"` + Security *ElastigroupAzureV3Security `pulumi:"security"` + ShutdownScript *string `pulumi:"shutdownScript"` + Signals []ElastigroupAzureV3Signal `pulumi:"signals"` + SpotPercentage *int `pulumi:"spotPercentage"` + Tags []ElastigroupAzureV3Tag `pulumi:"tags"` + UserData *string `pulumi:"userData"` + VmNamePrefix *string `pulumi:"vmNamePrefix"` + VmSizes *ElastigroupAzureV3VmSizes `pulumi:"vmSizes"` + Zones []string `pulumi:"zones"` } type ElastigroupAzureV3State struct { + AvailabilityVsCost pulumi.IntPtrInput + BootDiagnostics ElastigroupAzureV3BootDiagnosticArrayInput + CapacityReservation ElastigroupAzureV3CapacityReservationPtrInput CustomData pulumi.StringPtrInput + DataDisks ElastigroupAzureV3DataDiskArrayInput + Description pulumi.StringPtrInput DesiredCapacity pulumi.IntPtrInput DrainingTimeout pulumi.IntPtrInput Extensions ElastigroupAzureV3ExtensionArrayInput FallbackToOnDemand pulumi.BoolPtrInput + Health ElastigroupAzureV3HealthPtrInput Images ElastigroupAzureV3ImageArrayInput + LoadBalancers ElastigroupAzureV3LoadBalancerArrayInput Login ElastigroupAzureV3LoginPtrInput ManagedServiceIdentities ElastigroupAzureV3ManagedServiceIdentityArrayInput MaxSize pulumi.IntPtrInput @@ -123,14 +170,27 @@ type ElastigroupAzureV3State struct { Name pulumi.StringPtrInput Network ElastigroupAzureV3NetworkPtrInput OnDemandCount pulumi.IntPtrInput + OptimizationWindows pulumi.StringArrayInput Os pulumi.StringPtrInput + OsDisk ElastigroupAzureV3OsDiskPtrInput + PreferredZones pulumi.StringArrayInput + ProximityPlacementGroups ElastigroupAzureV3ProximityPlacementGroupArrayInput Region pulumi.StringPtrInput ResourceGroupName pulumi.StringPtrInput + RevertToSpot ElastigroupAzureV3RevertToSpotPtrInput ScalingDownPolicies ElastigroupAzureV3ScalingDownPolicyArrayInput ScalingUpPolicies ElastigroupAzureV3ScalingUpPolicyArrayInput + SchedulingTasks ElastigroupAzureV3SchedulingTaskArrayInput + Secrets ElastigroupAzureV3SecretArrayInput + Security ElastigroupAzureV3SecurityPtrInput + ShutdownScript pulumi.StringPtrInput + Signals ElastigroupAzureV3SignalArrayInput SpotPercentage pulumi.IntPtrInput Tags ElastigroupAzureV3TagArrayInput + UserData pulumi.StringPtrInput + VmNamePrefix pulumi.StringPtrInput VmSizes ElastigroupAzureV3VmSizesPtrInput + Zones pulumi.StringArrayInput } func (ElastigroupAzureV3State) ElementType() reflect.Type { @@ -138,37 +198,64 @@ func (ElastigroupAzureV3State) ElementType() reflect.Type { } type elastigroupAzureV3Args struct { - CustomData *string `pulumi:"customData"` - DesiredCapacity *int `pulumi:"desiredCapacity"` - DrainingTimeout *int `pulumi:"drainingTimeout"` - Extensions []ElastigroupAzureV3Extension `pulumi:"extensions"` - FallbackToOnDemand bool `pulumi:"fallbackToOnDemand"` - Images []ElastigroupAzureV3Image `pulumi:"images"` - Login *ElastigroupAzureV3Login `pulumi:"login"` - ManagedServiceIdentities []ElastigroupAzureV3ManagedServiceIdentity `pulumi:"managedServiceIdentities"` - MaxSize *int `pulumi:"maxSize"` - MinSize *int `pulumi:"minSize"` - Name *string `pulumi:"name"` - Network ElastigroupAzureV3Network `pulumi:"network"` - OnDemandCount *int `pulumi:"onDemandCount"` - Os string `pulumi:"os"` - Region string `pulumi:"region"` - ResourceGroupName string `pulumi:"resourceGroupName"` - ScalingDownPolicies []ElastigroupAzureV3ScalingDownPolicy `pulumi:"scalingDownPolicies"` - ScalingUpPolicies []ElastigroupAzureV3ScalingUpPolicy `pulumi:"scalingUpPolicies"` - SpotPercentage *int `pulumi:"spotPercentage"` - Tags []ElastigroupAzureV3Tag `pulumi:"tags"` - VmSizes ElastigroupAzureV3VmSizes `pulumi:"vmSizes"` + AvailabilityVsCost *int `pulumi:"availabilityVsCost"` + BootDiagnostics []ElastigroupAzureV3BootDiagnostic `pulumi:"bootDiagnostics"` + CapacityReservation *ElastigroupAzureV3CapacityReservation `pulumi:"capacityReservation"` + CustomData *string `pulumi:"customData"` + DataDisks []ElastigroupAzureV3DataDisk `pulumi:"dataDisks"` + Description *string `pulumi:"description"` + DesiredCapacity *int `pulumi:"desiredCapacity"` + DrainingTimeout *int `pulumi:"drainingTimeout"` + Extensions []ElastigroupAzureV3Extension `pulumi:"extensions"` + FallbackToOnDemand bool `pulumi:"fallbackToOnDemand"` + Health *ElastigroupAzureV3Health `pulumi:"health"` + Images []ElastigroupAzureV3Image `pulumi:"images"` + LoadBalancers []ElastigroupAzureV3LoadBalancer `pulumi:"loadBalancers"` + Login *ElastigroupAzureV3Login `pulumi:"login"` + ManagedServiceIdentities []ElastigroupAzureV3ManagedServiceIdentity `pulumi:"managedServiceIdentities"` + MaxSize *int `pulumi:"maxSize"` + MinSize *int `pulumi:"minSize"` + Name *string `pulumi:"name"` + Network ElastigroupAzureV3Network `pulumi:"network"` + OnDemandCount *int `pulumi:"onDemandCount"` + OptimizationWindows []string `pulumi:"optimizationWindows"` + Os string `pulumi:"os"` + OsDisk *ElastigroupAzureV3OsDisk `pulumi:"osDisk"` + PreferredZones []string `pulumi:"preferredZones"` + ProximityPlacementGroups []ElastigroupAzureV3ProximityPlacementGroup `pulumi:"proximityPlacementGroups"` + Region string `pulumi:"region"` + ResourceGroupName string `pulumi:"resourceGroupName"` + RevertToSpot *ElastigroupAzureV3RevertToSpot `pulumi:"revertToSpot"` + ScalingDownPolicies []ElastigroupAzureV3ScalingDownPolicy `pulumi:"scalingDownPolicies"` + ScalingUpPolicies []ElastigroupAzureV3ScalingUpPolicy `pulumi:"scalingUpPolicies"` + SchedulingTasks []ElastigroupAzureV3SchedulingTask `pulumi:"schedulingTasks"` + Secrets []ElastigroupAzureV3Secret `pulumi:"secrets"` + Security *ElastigroupAzureV3Security `pulumi:"security"` + ShutdownScript *string `pulumi:"shutdownScript"` + Signals []ElastigroupAzureV3Signal `pulumi:"signals"` + SpotPercentage *int `pulumi:"spotPercentage"` + Tags []ElastigroupAzureV3Tag `pulumi:"tags"` + UserData *string `pulumi:"userData"` + VmNamePrefix *string `pulumi:"vmNamePrefix"` + VmSizes ElastigroupAzureV3VmSizes `pulumi:"vmSizes"` + Zones []string `pulumi:"zones"` } // The set of arguments for constructing a ElastigroupAzureV3 resource. type ElastigroupAzureV3Args struct { + AvailabilityVsCost pulumi.IntPtrInput + BootDiagnostics ElastigroupAzureV3BootDiagnosticArrayInput + CapacityReservation ElastigroupAzureV3CapacityReservationPtrInput CustomData pulumi.StringPtrInput + DataDisks ElastigroupAzureV3DataDiskArrayInput + Description pulumi.StringPtrInput DesiredCapacity pulumi.IntPtrInput DrainingTimeout pulumi.IntPtrInput Extensions ElastigroupAzureV3ExtensionArrayInput FallbackToOnDemand pulumi.BoolInput + Health ElastigroupAzureV3HealthPtrInput Images ElastigroupAzureV3ImageArrayInput + LoadBalancers ElastigroupAzureV3LoadBalancerArrayInput Login ElastigroupAzureV3LoginPtrInput ManagedServiceIdentities ElastigroupAzureV3ManagedServiceIdentityArrayInput MaxSize pulumi.IntPtrInput @@ -176,14 +263,27 @@ type ElastigroupAzureV3Args struct { Name pulumi.StringPtrInput Network ElastigroupAzureV3NetworkInput OnDemandCount pulumi.IntPtrInput + OptimizationWindows pulumi.StringArrayInput Os pulumi.StringInput + OsDisk ElastigroupAzureV3OsDiskPtrInput + PreferredZones pulumi.StringArrayInput + ProximityPlacementGroups ElastigroupAzureV3ProximityPlacementGroupArrayInput Region pulumi.StringInput ResourceGroupName pulumi.StringInput + RevertToSpot ElastigroupAzureV3RevertToSpotPtrInput ScalingDownPolicies ElastigroupAzureV3ScalingDownPolicyArrayInput ScalingUpPolicies ElastigroupAzureV3ScalingUpPolicyArrayInput + SchedulingTasks ElastigroupAzureV3SchedulingTaskArrayInput + Secrets ElastigroupAzureV3SecretArrayInput + Security ElastigroupAzureV3SecurityPtrInput + ShutdownScript pulumi.StringPtrInput + Signals ElastigroupAzureV3SignalArrayInput SpotPercentage pulumi.IntPtrInput Tags ElastigroupAzureV3TagArrayInput + UserData pulumi.StringPtrInput + VmNamePrefix pulumi.StringPtrInput VmSizes ElastigroupAzureV3VmSizesInput + Zones pulumi.StringArrayInput } func (ElastigroupAzureV3Args) ElementType() reflect.Type { @@ -273,10 +373,32 @@ func (o ElastigroupAzureV3Output) ToElastigroupAzureV3OutputWithContext(ctx cont return o } +func (o ElastigroupAzureV3Output) AvailabilityVsCost() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.IntPtrOutput { return v.AvailabilityVsCost }).(pulumi.IntPtrOutput) +} + +func (o ElastigroupAzureV3Output) BootDiagnostics() ElastigroupAzureV3BootDiagnosticArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3BootDiagnosticArrayOutput { return v.BootDiagnostics }).(ElastigroupAzureV3BootDiagnosticArrayOutput) +} + +func (o ElastigroupAzureV3Output) CapacityReservation() ElastigroupAzureV3CapacityReservationPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3CapacityReservationPtrOutput { + return v.CapacityReservation + }).(ElastigroupAzureV3CapacityReservationPtrOutput) +} + func (o ElastigroupAzureV3Output) CustomData() pulumi.StringPtrOutput { return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.StringPtrOutput { return v.CustomData }).(pulumi.StringPtrOutput) } +func (o ElastigroupAzureV3Output) DataDisks() ElastigroupAzureV3DataDiskArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3DataDiskArrayOutput { return v.DataDisks }).(ElastigroupAzureV3DataDiskArrayOutput) +} + +func (o ElastigroupAzureV3Output) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + func (o ElastigroupAzureV3Output) DesiredCapacity() pulumi.IntPtrOutput { return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.IntPtrOutput { return v.DesiredCapacity }).(pulumi.IntPtrOutput) } @@ -293,10 +415,18 @@ func (o ElastigroupAzureV3Output) FallbackToOnDemand() pulumi.BoolOutput { return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.BoolOutput { return v.FallbackToOnDemand }).(pulumi.BoolOutput) } +func (o ElastigroupAzureV3Output) Health() ElastigroupAzureV3HealthPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3HealthPtrOutput { return v.Health }).(ElastigroupAzureV3HealthPtrOutput) +} + func (o ElastigroupAzureV3Output) Images() ElastigroupAzureV3ImageArrayOutput { return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3ImageArrayOutput { return v.Images }).(ElastigroupAzureV3ImageArrayOutput) } +func (o ElastigroupAzureV3Output) LoadBalancers() ElastigroupAzureV3LoadBalancerArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3LoadBalancerArrayOutput { return v.LoadBalancers }).(ElastigroupAzureV3LoadBalancerArrayOutput) +} + func (o ElastigroupAzureV3Output) Login() ElastigroupAzureV3LoginPtrOutput { return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3LoginPtrOutput { return v.Login }).(ElastigroupAzureV3LoginPtrOutput) } @@ -327,10 +457,28 @@ func (o ElastigroupAzureV3Output) OnDemandCount() pulumi.IntPtrOutput { return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.IntPtrOutput { return v.OnDemandCount }).(pulumi.IntPtrOutput) } +func (o ElastigroupAzureV3Output) OptimizationWindows() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.StringArrayOutput { return v.OptimizationWindows }).(pulumi.StringArrayOutput) +} + func (o ElastigroupAzureV3Output) Os() pulumi.StringOutput { return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.StringOutput { return v.Os }).(pulumi.StringOutput) } +func (o ElastigroupAzureV3Output) OsDisk() ElastigroupAzureV3OsDiskPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3OsDiskPtrOutput { return v.OsDisk }).(ElastigroupAzureV3OsDiskPtrOutput) +} + +func (o ElastigroupAzureV3Output) PreferredZones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.StringArrayOutput { return v.PreferredZones }).(pulumi.StringArrayOutput) +} + +func (o ElastigroupAzureV3Output) ProximityPlacementGroups() ElastigroupAzureV3ProximityPlacementGroupArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3ProximityPlacementGroupArrayOutput { + return v.ProximityPlacementGroups + }).(ElastigroupAzureV3ProximityPlacementGroupArrayOutput) +} + func (o ElastigroupAzureV3Output) Region() pulumi.StringOutput { return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } @@ -339,6 +487,10 @@ func (o ElastigroupAzureV3Output) ResourceGroupName() pulumi.StringOutput { return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.StringOutput { return v.ResourceGroupName }).(pulumi.StringOutput) } +func (o ElastigroupAzureV3Output) RevertToSpot() ElastigroupAzureV3RevertToSpotPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3RevertToSpotPtrOutput { return v.RevertToSpot }).(ElastigroupAzureV3RevertToSpotPtrOutput) +} + func (o ElastigroupAzureV3Output) ScalingDownPolicies() ElastigroupAzureV3ScalingDownPolicyArrayOutput { return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3ScalingDownPolicyArrayOutput { return v.ScalingDownPolicies @@ -349,6 +501,26 @@ func (o ElastigroupAzureV3Output) ScalingUpPolicies() ElastigroupAzureV3ScalingU return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3ScalingUpPolicyArrayOutput { return v.ScalingUpPolicies }).(ElastigroupAzureV3ScalingUpPolicyArrayOutput) } +func (o ElastigroupAzureV3Output) SchedulingTasks() ElastigroupAzureV3SchedulingTaskArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3SchedulingTaskArrayOutput { return v.SchedulingTasks }).(ElastigroupAzureV3SchedulingTaskArrayOutput) +} + +func (o ElastigroupAzureV3Output) Secrets() ElastigroupAzureV3SecretArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3SecretArrayOutput { return v.Secrets }).(ElastigroupAzureV3SecretArrayOutput) +} + +func (o ElastigroupAzureV3Output) Security() ElastigroupAzureV3SecurityPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3SecurityPtrOutput { return v.Security }).(ElastigroupAzureV3SecurityPtrOutput) +} + +func (o ElastigroupAzureV3Output) ShutdownScript() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.StringPtrOutput { return v.ShutdownScript }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3Output) Signals() ElastigroupAzureV3SignalArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3SignalArrayOutput { return v.Signals }).(ElastigroupAzureV3SignalArrayOutput) +} + func (o ElastigroupAzureV3Output) SpotPercentage() pulumi.IntPtrOutput { return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.IntPtrOutput { return v.SpotPercentage }).(pulumi.IntPtrOutput) } @@ -357,10 +529,22 @@ func (o ElastigroupAzureV3Output) Tags() ElastigroupAzureV3TagArrayOutput { return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3TagArrayOutput { return v.Tags }).(ElastigroupAzureV3TagArrayOutput) } +func (o ElastigroupAzureV3Output) UserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.StringPtrOutput { return v.UserData }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3Output) VmNamePrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.StringPtrOutput { return v.VmNamePrefix }).(pulumi.StringPtrOutput) +} + func (o ElastigroupAzureV3Output) VmSizes() ElastigroupAzureV3VmSizesOutput { return o.ApplyT(func(v *ElastigroupAzureV3) ElastigroupAzureV3VmSizesOutput { return v.VmSizes }).(ElastigroupAzureV3VmSizesOutput) } +func (o ElastigroupAzureV3Output) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3) pulumi.StringArrayOutput { return v.Zones }).(pulumi.StringArrayOutput) +} + type ElastigroupAzureV3ArrayOutput struct{ *pulumi.OutputState } func (ElastigroupAzureV3ArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/spotinst/pulumiTypes.go b/sdk/go/spotinst/pulumiTypes.go index 482b5157..2f7da46f 100644 --- a/sdk/go/spotinst/pulumiTypes.go +++ b/sdk/go/spotinst/pulumiTypes.go @@ -165,2178 +165,4253 @@ func (o DataIntegrationS3PtrOutput) Subdir() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -type ElastigroupAzureV3Extension struct { - ApiVersion string `pulumi:"apiVersion"` - EnableAutomaticUpgrade *bool `pulumi:"enableAutomaticUpgrade"` - MinorVersionAutoUpgrade bool `pulumi:"minorVersionAutoUpgrade"` - Name string `pulumi:"name"` - ProtectedSettings map[string]string `pulumi:"protectedSettings"` - ProtectedSettingsFromKeyVault *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault `pulumi:"protectedSettingsFromKeyVault"` - PublicSettings map[string]string `pulumi:"publicSettings"` - Publisher string `pulumi:"publisher"` - Type string `pulumi:"type"` +type ElastigroupAzureV3BootDiagnostic struct { + IsEnabled bool `pulumi:"isEnabled"` + StorageUrl *string `pulumi:"storageUrl"` + Type string `pulumi:"type"` } -// ElastigroupAzureV3ExtensionInput is an input type that accepts ElastigroupAzureV3ExtensionArgs and ElastigroupAzureV3ExtensionOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ExtensionInput` via: +// ElastigroupAzureV3BootDiagnosticInput is an input type that accepts ElastigroupAzureV3BootDiagnosticArgs and ElastigroupAzureV3BootDiagnosticOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3BootDiagnosticInput` via: // -// ElastigroupAzureV3ExtensionArgs{...} -type ElastigroupAzureV3ExtensionInput interface { +// ElastigroupAzureV3BootDiagnosticArgs{...} +type ElastigroupAzureV3BootDiagnosticInput interface { pulumi.Input - ToElastigroupAzureV3ExtensionOutput() ElastigroupAzureV3ExtensionOutput - ToElastigroupAzureV3ExtensionOutputWithContext(context.Context) ElastigroupAzureV3ExtensionOutput + ToElastigroupAzureV3BootDiagnosticOutput() ElastigroupAzureV3BootDiagnosticOutput + ToElastigroupAzureV3BootDiagnosticOutputWithContext(context.Context) ElastigroupAzureV3BootDiagnosticOutput } -type ElastigroupAzureV3ExtensionArgs struct { - ApiVersion pulumi.StringInput `pulumi:"apiVersion"` - EnableAutomaticUpgrade pulumi.BoolPtrInput `pulumi:"enableAutomaticUpgrade"` - MinorVersionAutoUpgrade pulumi.BoolInput `pulumi:"minorVersionAutoUpgrade"` - Name pulumi.StringInput `pulumi:"name"` - ProtectedSettings pulumi.StringMapInput `pulumi:"protectedSettings"` - ProtectedSettingsFromKeyVault ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrInput `pulumi:"protectedSettingsFromKeyVault"` - PublicSettings pulumi.StringMapInput `pulumi:"publicSettings"` - Publisher pulumi.StringInput `pulumi:"publisher"` - Type pulumi.StringInput `pulumi:"type"` +type ElastigroupAzureV3BootDiagnosticArgs struct { + IsEnabled pulumi.BoolInput `pulumi:"isEnabled"` + StorageUrl pulumi.StringPtrInput `pulumi:"storageUrl"` + Type pulumi.StringInput `pulumi:"type"` } -func (ElastigroupAzureV3ExtensionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3Extension)(nil)).Elem() +func (ElastigroupAzureV3BootDiagnosticArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3BootDiagnostic)(nil)).Elem() } -func (i ElastigroupAzureV3ExtensionArgs) ToElastigroupAzureV3ExtensionOutput() ElastigroupAzureV3ExtensionOutput { - return i.ToElastigroupAzureV3ExtensionOutputWithContext(context.Background()) +func (i ElastigroupAzureV3BootDiagnosticArgs) ToElastigroupAzureV3BootDiagnosticOutput() ElastigroupAzureV3BootDiagnosticOutput { + return i.ToElastigroupAzureV3BootDiagnosticOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ExtensionArgs) ToElastigroupAzureV3ExtensionOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ExtensionOutput) +func (i ElastigroupAzureV3BootDiagnosticArgs) ToElastigroupAzureV3BootDiagnosticOutputWithContext(ctx context.Context) ElastigroupAzureV3BootDiagnosticOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3BootDiagnosticOutput) } -// ElastigroupAzureV3ExtensionArrayInput is an input type that accepts ElastigroupAzureV3ExtensionArray and ElastigroupAzureV3ExtensionArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ExtensionArrayInput` via: +// ElastigroupAzureV3BootDiagnosticArrayInput is an input type that accepts ElastigroupAzureV3BootDiagnosticArray and ElastigroupAzureV3BootDiagnosticArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3BootDiagnosticArrayInput` via: // -// ElastigroupAzureV3ExtensionArray{ ElastigroupAzureV3ExtensionArgs{...} } -type ElastigroupAzureV3ExtensionArrayInput interface { +// ElastigroupAzureV3BootDiagnosticArray{ ElastigroupAzureV3BootDiagnosticArgs{...} } +type ElastigroupAzureV3BootDiagnosticArrayInput interface { pulumi.Input - ToElastigroupAzureV3ExtensionArrayOutput() ElastigroupAzureV3ExtensionArrayOutput - ToElastigroupAzureV3ExtensionArrayOutputWithContext(context.Context) ElastigroupAzureV3ExtensionArrayOutput + ToElastigroupAzureV3BootDiagnosticArrayOutput() ElastigroupAzureV3BootDiagnosticArrayOutput + ToElastigroupAzureV3BootDiagnosticArrayOutputWithContext(context.Context) ElastigroupAzureV3BootDiagnosticArrayOutput } -type ElastigroupAzureV3ExtensionArray []ElastigroupAzureV3ExtensionInput +type ElastigroupAzureV3BootDiagnosticArray []ElastigroupAzureV3BootDiagnosticInput -func (ElastigroupAzureV3ExtensionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3Extension)(nil)).Elem() +func (ElastigroupAzureV3BootDiagnosticArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3BootDiagnostic)(nil)).Elem() } -func (i ElastigroupAzureV3ExtensionArray) ToElastigroupAzureV3ExtensionArrayOutput() ElastigroupAzureV3ExtensionArrayOutput { - return i.ToElastigroupAzureV3ExtensionArrayOutputWithContext(context.Background()) +func (i ElastigroupAzureV3BootDiagnosticArray) ToElastigroupAzureV3BootDiagnosticArrayOutput() ElastigroupAzureV3BootDiagnosticArrayOutput { + return i.ToElastigroupAzureV3BootDiagnosticArrayOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ExtensionArray) ToElastigroupAzureV3ExtensionArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ExtensionArrayOutput) +func (i ElastigroupAzureV3BootDiagnosticArray) ToElastigroupAzureV3BootDiagnosticArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3BootDiagnosticArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3BootDiagnosticArrayOutput) } -type ElastigroupAzureV3ExtensionOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3BootDiagnosticOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ExtensionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3Extension)(nil)).Elem() +func (ElastigroupAzureV3BootDiagnosticOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3BootDiagnostic)(nil)).Elem() } -func (o ElastigroupAzureV3ExtensionOutput) ToElastigroupAzureV3ExtensionOutput() ElastigroupAzureV3ExtensionOutput { +func (o ElastigroupAzureV3BootDiagnosticOutput) ToElastigroupAzureV3BootDiagnosticOutput() ElastigroupAzureV3BootDiagnosticOutput { return o } -func (o ElastigroupAzureV3ExtensionOutput) ToElastigroupAzureV3ExtensionOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionOutput { +func (o ElastigroupAzureV3BootDiagnosticOutput) ToElastigroupAzureV3BootDiagnosticOutputWithContext(ctx context.Context) ElastigroupAzureV3BootDiagnosticOutput { return o } -func (o ElastigroupAzureV3ExtensionOutput) ApiVersion() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3Extension) string { return v.ApiVersion }).(pulumi.StringOutput) -} - -func (o ElastigroupAzureV3ExtensionOutput) EnableAutomaticUpgrade() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3Extension) *bool { return v.EnableAutomaticUpgrade }).(pulumi.BoolPtrOutput) -} - -func (o ElastigroupAzureV3ExtensionOutput) MinorVersionAutoUpgrade() pulumi.BoolOutput { - return o.ApplyT(func(v ElastigroupAzureV3Extension) bool { return v.MinorVersionAutoUpgrade }).(pulumi.BoolOutput) -} - -func (o ElastigroupAzureV3ExtensionOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3Extension) string { return v.Name }).(pulumi.StringOutput) -} - -func (o ElastigroupAzureV3ExtensionOutput) ProtectedSettings() pulumi.StringMapOutput { - return o.ApplyT(func(v ElastigroupAzureV3Extension) map[string]string { return v.ProtectedSettings }).(pulumi.StringMapOutput) -} - -func (o ElastigroupAzureV3ExtensionOutput) ProtectedSettingsFromKeyVault() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3Extension) *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault { - return v.ProtectedSettingsFromKeyVault - }).(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) -} - -func (o ElastigroupAzureV3ExtensionOutput) PublicSettings() pulumi.StringMapOutput { - return o.ApplyT(func(v ElastigroupAzureV3Extension) map[string]string { return v.PublicSettings }).(pulumi.StringMapOutput) +func (o ElastigroupAzureV3BootDiagnosticOutput) IsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v ElastigroupAzureV3BootDiagnostic) bool { return v.IsEnabled }).(pulumi.BoolOutput) } -func (o ElastigroupAzureV3ExtensionOutput) Publisher() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3Extension) string { return v.Publisher }).(pulumi.StringOutput) +func (o ElastigroupAzureV3BootDiagnosticOutput) StorageUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3BootDiagnostic) *string { return v.StorageUrl }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3ExtensionOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3Extension) string { return v.Type }).(pulumi.StringOutput) +func (o ElastigroupAzureV3BootDiagnosticOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3BootDiagnostic) string { return v.Type }).(pulumi.StringOutput) } -type ElastigroupAzureV3ExtensionArrayOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3BootDiagnosticArrayOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ExtensionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3Extension)(nil)).Elem() +func (ElastigroupAzureV3BootDiagnosticArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3BootDiagnostic)(nil)).Elem() } -func (o ElastigroupAzureV3ExtensionArrayOutput) ToElastigroupAzureV3ExtensionArrayOutput() ElastigroupAzureV3ExtensionArrayOutput { +func (o ElastigroupAzureV3BootDiagnosticArrayOutput) ToElastigroupAzureV3BootDiagnosticArrayOutput() ElastigroupAzureV3BootDiagnosticArrayOutput { return o } -func (o ElastigroupAzureV3ExtensionArrayOutput) ToElastigroupAzureV3ExtensionArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionArrayOutput { +func (o ElastigroupAzureV3BootDiagnosticArrayOutput) ToElastigroupAzureV3BootDiagnosticArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3BootDiagnosticArrayOutput { return o } -func (o ElastigroupAzureV3ExtensionArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ExtensionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3Extension { - return vs[0].([]ElastigroupAzureV3Extension)[vs[1].(int)] - }).(ElastigroupAzureV3ExtensionOutput) +func (o ElastigroupAzureV3BootDiagnosticArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3BootDiagnosticOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3BootDiagnostic { + return vs[0].([]ElastigroupAzureV3BootDiagnostic)[vs[1].(int)] + }).(ElastigroupAzureV3BootDiagnosticOutput) } -type ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault struct { - SecretUrl string `pulumi:"secretUrl"` - SourceVault string `pulumi:"sourceVault"` +type ElastigroupAzureV3CapacityReservation struct { + CapacityReservationGroups *ElastigroupAzureV3CapacityReservationCapacityReservationGroups `pulumi:"capacityReservationGroups"` + ShouldUtilize bool `pulumi:"shouldUtilize"` + UtilizationStrategy string `pulumi:"utilizationStrategy"` } -// ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultInput is an input type that accepts ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs and ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultInput` via: +// ElastigroupAzureV3CapacityReservationInput is an input type that accepts ElastigroupAzureV3CapacityReservationArgs and ElastigroupAzureV3CapacityReservationOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3CapacityReservationInput` via: // -// ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs{...} -type ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultInput interface { +// ElastigroupAzureV3CapacityReservationArgs{...} +type ElastigroupAzureV3CapacityReservationInput interface { pulumi.Input - ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput - ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutputWithContext(context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput + ToElastigroupAzureV3CapacityReservationOutput() ElastigroupAzureV3CapacityReservationOutput + ToElastigroupAzureV3CapacityReservationOutputWithContext(context.Context) ElastigroupAzureV3CapacityReservationOutput } -type ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs struct { - SecretUrl pulumi.StringInput `pulumi:"secretUrl"` - SourceVault pulumi.StringInput `pulumi:"sourceVault"` +type ElastigroupAzureV3CapacityReservationArgs struct { + CapacityReservationGroups ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrInput `pulumi:"capacityReservationGroups"` + ShouldUtilize pulumi.BoolInput `pulumi:"shouldUtilize"` + UtilizationStrategy pulumi.StringInput `pulumi:"utilizationStrategy"` } -func (ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault)(nil)).Elem() +func (ElastigroupAzureV3CapacityReservationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3CapacityReservation)(nil)).Elem() } -func (i ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput { - return i.ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutputWithContext(context.Background()) +func (i ElastigroupAzureV3CapacityReservationArgs) ToElastigroupAzureV3CapacityReservationOutput() ElastigroupAzureV3CapacityReservationOutput { + return i.ToElastigroupAzureV3CapacityReservationOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) +func (i ElastigroupAzureV3CapacityReservationArgs) ToElastigroupAzureV3CapacityReservationOutputWithContext(ctx context.Context) ElastigroupAzureV3CapacityReservationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3CapacityReservationOutput) } -func (i ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { - return i.ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(context.Background()) +func (i ElastigroupAzureV3CapacityReservationArgs) ToElastigroupAzureV3CapacityReservationPtrOutput() ElastigroupAzureV3CapacityReservationPtrOutput { + return i.ToElastigroupAzureV3CapacityReservationPtrOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput).ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(ctx) +func (i ElastigroupAzureV3CapacityReservationArgs) ToElastigroupAzureV3CapacityReservationPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3CapacityReservationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3CapacityReservationOutput).ToElastigroupAzureV3CapacityReservationPtrOutputWithContext(ctx) } -// ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrInput is an input type that accepts ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs, ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtr and ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrInput` via: +// ElastigroupAzureV3CapacityReservationPtrInput is an input type that accepts ElastigroupAzureV3CapacityReservationArgs, ElastigroupAzureV3CapacityReservationPtr and ElastigroupAzureV3CapacityReservationPtrOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3CapacityReservationPtrInput` via: // -// ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs{...} +// ElastigroupAzureV3CapacityReservationArgs{...} // // or: // // nil -type ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrInput interface { +type ElastigroupAzureV3CapacityReservationPtrInput interface { pulumi.Input - ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput - ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput + ToElastigroupAzureV3CapacityReservationPtrOutput() ElastigroupAzureV3CapacityReservationPtrOutput + ToElastigroupAzureV3CapacityReservationPtrOutputWithContext(context.Context) ElastigroupAzureV3CapacityReservationPtrOutput } -type elastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrType ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs +type elastigroupAzureV3CapacityReservationPtrType ElastigroupAzureV3CapacityReservationArgs -func ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtr(v *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrInput { - return (*elastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrType)(v) +func ElastigroupAzureV3CapacityReservationPtr(v *ElastigroupAzureV3CapacityReservationArgs) ElastigroupAzureV3CapacityReservationPtrInput { + return (*elastigroupAzureV3CapacityReservationPtrType)(v) } -func (*elastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault)(nil)).Elem() +func (*elastigroupAzureV3CapacityReservationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3CapacityReservation)(nil)).Elem() } -func (i *elastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrType) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { - return i.ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(context.Background()) +func (i *elastigroupAzureV3CapacityReservationPtrType) ToElastigroupAzureV3CapacityReservationPtrOutput() ElastigroupAzureV3CapacityReservationPtrOutput { + return i.ToElastigroupAzureV3CapacityReservationPtrOutputWithContext(context.Background()) } -func (i *elastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrType) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) +func (i *elastigroupAzureV3CapacityReservationPtrType) ToElastigroupAzureV3CapacityReservationPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3CapacityReservationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3CapacityReservationPtrOutput) } -type ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3CapacityReservationOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault)(nil)).Elem() +func (ElastigroupAzureV3CapacityReservationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3CapacityReservation)(nil)).Elem() } -func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput { +func (o ElastigroupAzureV3CapacityReservationOutput) ToElastigroupAzureV3CapacityReservationOutput() ElastigroupAzureV3CapacityReservationOutput { return o } -func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput { +func (o ElastigroupAzureV3CapacityReservationOutput) ToElastigroupAzureV3CapacityReservationOutputWithContext(ctx context.Context) ElastigroupAzureV3CapacityReservationOutput { return o } -func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { - return o.ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(context.Background()) +func (o ElastigroupAzureV3CapacityReservationOutput) ToElastigroupAzureV3CapacityReservationPtrOutput() ElastigroupAzureV3CapacityReservationPtrOutput { + return o.ToElastigroupAzureV3CapacityReservationPtrOutputWithContext(context.Background()) } -func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault) *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault { +func (o ElastigroupAzureV3CapacityReservationOutput) ToElastigroupAzureV3CapacityReservationPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3CapacityReservationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupAzureV3CapacityReservation) *ElastigroupAzureV3CapacityReservation { return &v - }).(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) + }).(ElastigroupAzureV3CapacityReservationPtrOutput) } -func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) SecretUrl() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault) string { return v.SecretUrl }).(pulumi.StringOutput) +func (o ElastigroupAzureV3CapacityReservationOutput) CapacityReservationGroups() ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3CapacityReservation) *ElastigroupAzureV3CapacityReservationCapacityReservationGroups { + return v.CapacityReservationGroups + }).(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput) } -func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) SourceVault() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault) string { return v.SourceVault }).(pulumi.StringOutput) +func (o ElastigroupAzureV3CapacityReservationOutput) ShouldUtilize() pulumi.BoolOutput { + return o.ApplyT(func(v ElastigroupAzureV3CapacityReservation) bool { return v.ShouldUtilize }).(pulumi.BoolOutput) } -type ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput struct{ *pulumi.OutputState } +func (o ElastigroupAzureV3CapacityReservationOutput) UtilizationStrategy() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3CapacityReservation) string { return v.UtilizationStrategy }).(pulumi.StringOutput) +} -func (ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault)(nil)).Elem() +type ElastigroupAzureV3CapacityReservationPtrOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3CapacityReservationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3CapacityReservation)(nil)).Elem() } -func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { +func (o ElastigroupAzureV3CapacityReservationPtrOutput) ToElastigroupAzureV3CapacityReservationPtrOutput() ElastigroupAzureV3CapacityReservationPtrOutput { return o } -func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { +func (o ElastigroupAzureV3CapacityReservationPtrOutput) ToElastigroupAzureV3CapacityReservationPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3CapacityReservationPtrOutput { return o } -func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) Elem() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput { - return o.ApplyT(func(v *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault { +func (o ElastigroupAzureV3CapacityReservationPtrOutput) Elem() ElastigroupAzureV3CapacityReservationOutput { + return o.ApplyT(func(v *ElastigroupAzureV3CapacityReservation) ElastigroupAzureV3CapacityReservation { if v != nil { return *v } - var ret ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault + var ret ElastigroupAzureV3CapacityReservation return ret - }).(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) + }).(ElastigroupAzureV3CapacityReservationOutput) } -func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) SecretUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault) *string { +func (o ElastigroupAzureV3CapacityReservationPtrOutput) CapacityReservationGroups() ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3CapacityReservation) *ElastigroupAzureV3CapacityReservationCapacityReservationGroups { if v == nil { return nil } - return &v.SecretUrl - }).(pulumi.StringPtrOutput) + return v.CapacityReservationGroups + }).(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput) } -func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) SourceVault() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault) *string { +func (o ElastigroupAzureV3CapacityReservationPtrOutput) ShouldUtilize() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3CapacityReservation) *bool { if v == nil { return nil } - return &v.SourceVault + return &v.ShouldUtilize + }).(pulumi.BoolPtrOutput) +} + +func (o ElastigroupAzureV3CapacityReservationPtrOutput) UtilizationStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3CapacityReservation) *string { + if v == nil { + return nil + } + return &v.UtilizationStrategy }).(pulumi.StringPtrOutput) } -type ElastigroupAzureV3Image struct { - Customs []ElastigroupAzureV3ImageCustom `pulumi:"customs"` - GalleryImages []ElastigroupAzureV3ImageGalleryImage `pulumi:"galleryImages"` - Marketplaces []ElastigroupAzureV3ImageMarketplace `pulumi:"marketplaces"` +type ElastigroupAzureV3CapacityReservationCapacityReservationGroups struct { + CrgName string `pulumi:"crgName"` + CrgResourceGroupName string `pulumi:"crgResourceGroupName"` + CrgShouldPrioritize *bool `pulumi:"crgShouldPrioritize"` } -// ElastigroupAzureV3ImageInput is an input type that accepts ElastigroupAzureV3ImageArgs and ElastigroupAzureV3ImageOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ImageInput` via: +// ElastigroupAzureV3CapacityReservationCapacityReservationGroupsInput is an input type that accepts ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs and ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3CapacityReservationCapacityReservationGroupsInput` via: // -// ElastigroupAzureV3ImageArgs{...} -type ElastigroupAzureV3ImageInput interface { +// ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs{...} +type ElastigroupAzureV3CapacityReservationCapacityReservationGroupsInput interface { pulumi.Input - ToElastigroupAzureV3ImageOutput() ElastigroupAzureV3ImageOutput - ToElastigroupAzureV3ImageOutputWithContext(context.Context) ElastigroupAzureV3ImageOutput + ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput() ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput + ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutputWithContext(context.Context) ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput } -type ElastigroupAzureV3ImageArgs struct { - Customs ElastigroupAzureV3ImageCustomArrayInput `pulumi:"customs"` - GalleryImages ElastigroupAzureV3ImageGalleryImageArrayInput `pulumi:"galleryImages"` - Marketplaces ElastigroupAzureV3ImageMarketplaceArrayInput `pulumi:"marketplaces"` +type ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs struct { + CrgName pulumi.StringInput `pulumi:"crgName"` + CrgResourceGroupName pulumi.StringInput `pulumi:"crgResourceGroupName"` + CrgShouldPrioritize pulumi.BoolPtrInput `pulumi:"crgShouldPrioritize"` } -func (ElastigroupAzureV3ImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3Image)(nil)).Elem() +func (ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3CapacityReservationCapacityReservationGroups)(nil)).Elem() } -func (i ElastigroupAzureV3ImageArgs) ToElastigroupAzureV3ImageOutput() ElastigroupAzureV3ImageOutput { - return i.ToElastigroupAzureV3ImageOutputWithContext(context.Background()) +func (i ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs) ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput() ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput { + return i.ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ImageArgs) ToElastigroupAzureV3ImageOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageOutput) +func (i ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs) ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutputWithContext(ctx context.Context) ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput) } -// ElastigroupAzureV3ImageArrayInput is an input type that accepts ElastigroupAzureV3ImageArray and ElastigroupAzureV3ImageArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ImageArrayInput` via: +func (i ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs) ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput() ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput { + return i.ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs) ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput).ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutputWithContext(ctx) +} + +// ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrInput is an input type that accepts ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs, ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtr and ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrInput` via: // -// ElastigroupAzureV3ImageArray{ ElastigroupAzureV3ImageArgs{...} } -type ElastigroupAzureV3ImageArrayInput interface { +// ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs{...} +// +// or: +// +// nil +type ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrInput interface { pulumi.Input - ToElastigroupAzureV3ImageArrayOutput() ElastigroupAzureV3ImageArrayOutput - ToElastigroupAzureV3ImageArrayOutputWithContext(context.Context) ElastigroupAzureV3ImageArrayOutput + ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput() ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput + ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutputWithContext(context.Context) ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput } -type ElastigroupAzureV3ImageArray []ElastigroupAzureV3ImageInput +type elastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrType ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs -func (ElastigroupAzureV3ImageArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3Image)(nil)).Elem() +func ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtr(v *ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs) ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrInput { + return (*elastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrType)(v) } -func (i ElastigroupAzureV3ImageArray) ToElastigroupAzureV3ImageArrayOutput() ElastigroupAzureV3ImageArrayOutput { - return i.ToElastigroupAzureV3ImageArrayOutputWithContext(context.Background()) +func (*elastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3CapacityReservationCapacityReservationGroups)(nil)).Elem() } -func (i ElastigroupAzureV3ImageArray) ToElastigroupAzureV3ImageArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageArrayOutput) +func (i *elastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrType) ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput() ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput { + return i.ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutputWithContext(context.Background()) } -type ElastigroupAzureV3ImageOutput struct{ *pulumi.OutputState } +func (i *elastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrType) ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput) +} -func (ElastigroupAzureV3ImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3Image)(nil)).Elem() +type ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3CapacityReservationCapacityReservationGroups)(nil)).Elem() } -func (o ElastigroupAzureV3ImageOutput) ToElastigroupAzureV3ImageOutput() ElastigroupAzureV3ImageOutput { +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput) ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput() ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput { return o } -func (o ElastigroupAzureV3ImageOutput) ToElastigroupAzureV3ImageOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageOutput { +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput) ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutputWithContext(ctx context.Context) ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput { return o } -func (o ElastigroupAzureV3ImageOutput) Customs() ElastigroupAzureV3ImageCustomArrayOutput { - return o.ApplyT(func(v ElastigroupAzureV3Image) []ElastigroupAzureV3ImageCustom { return v.Customs }).(ElastigroupAzureV3ImageCustomArrayOutput) +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput) ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput() ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput { + return o.ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutputWithContext(context.Background()) } -func (o ElastigroupAzureV3ImageOutput) GalleryImages() ElastigroupAzureV3ImageGalleryImageArrayOutput { - return o.ApplyT(func(v ElastigroupAzureV3Image) []ElastigroupAzureV3ImageGalleryImage { return v.GalleryImages }).(ElastigroupAzureV3ImageGalleryImageArrayOutput) +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput) ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupAzureV3CapacityReservationCapacityReservationGroups) *ElastigroupAzureV3CapacityReservationCapacityReservationGroups { + return &v + }).(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput) } -func (o ElastigroupAzureV3ImageOutput) Marketplaces() ElastigroupAzureV3ImageMarketplaceArrayOutput { - return o.ApplyT(func(v ElastigroupAzureV3Image) []ElastigroupAzureV3ImageMarketplace { return v.Marketplaces }).(ElastigroupAzureV3ImageMarketplaceArrayOutput) +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput) CrgName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3CapacityReservationCapacityReservationGroups) string { return v.CrgName }).(pulumi.StringOutput) } -type ElastigroupAzureV3ImageArrayOutput struct{ *pulumi.OutputState } +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput) CrgResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3CapacityReservationCapacityReservationGroups) string { + return v.CrgResourceGroupName + }).(pulumi.StringOutput) +} -func (ElastigroupAzureV3ImageArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3Image)(nil)).Elem() +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput) CrgShouldPrioritize() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3CapacityReservationCapacityReservationGroups) *bool { + return v.CrgShouldPrioritize + }).(pulumi.BoolPtrOutput) } -func (o ElastigroupAzureV3ImageArrayOutput) ToElastigroupAzureV3ImageArrayOutput() ElastigroupAzureV3ImageArrayOutput { - return o +type ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3CapacityReservationCapacityReservationGroups)(nil)).Elem() } -func (o ElastigroupAzureV3ImageArrayOutput) ToElastigroupAzureV3ImageArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageArrayOutput { +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput) ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput() ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput { return o } -func (o ElastigroupAzureV3ImageArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ImageOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3Image { - return vs[0].([]ElastigroupAzureV3Image)[vs[1].(int)] - }).(ElastigroupAzureV3ImageOutput) +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput) ToElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput { + return o } -type ElastigroupAzureV3ImageCustom struct { - ImageName string `pulumi:"imageName"` - ResourceGroupName string `pulumi:"resourceGroupName"` +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput) Elem() ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput { + return o.ApplyT(func(v *ElastigroupAzureV3CapacityReservationCapacityReservationGroups) ElastigroupAzureV3CapacityReservationCapacityReservationGroups { + if v != nil { + return *v + } + var ret ElastigroupAzureV3CapacityReservationCapacityReservationGroups + return ret + }).(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput) } -// ElastigroupAzureV3ImageCustomInput is an input type that accepts ElastigroupAzureV3ImageCustomArgs and ElastigroupAzureV3ImageCustomOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ImageCustomInput` via: +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput) CrgName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3CapacityReservationCapacityReservationGroups) *string { + if v == nil { + return nil + } + return &v.CrgName + }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput) CrgResourceGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3CapacityReservationCapacityReservationGroups) *string { + if v == nil { + return nil + } + return &v.CrgResourceGroupName + }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput) CrgShouldPrioritize() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3CapacityReservationCapacityReservationGroups) *bool { + if v == nil { + return nil + } + return v.CrgShouldPrioritize + }).(pulumi.BoolPtrOutput) +} + +type ElastigroupAzureV3DataDisk struct { + Lun int `pulumi:"lun"` + SizeGb int `pulumi:"sizeGb"` + Type string `pulumi:"type"` +} + +// ElastigroupAzureV3DataDiskInput is an input type that accepts ElastigroupAzureV3DataDiskArgs and ElastigroupAzureV3DataDiskOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3DataDiskInput` via: // -// ElastigroupAzureV3ImageCustomArgs{...} -type ElastigroupAzureV3ImageCustomInput interface { +// ElastigroupAzureV3DataDiskArgs{...} +type ElastigroupAzureV3DataDiskInput interface { pulumi.Input - ToElastigroupAzureV3ImageCustomOutput() ElastigroupAzureV3ImageCustomOutput - ToElastigroupAzureV3ImageCustomOutputWithContext(context.Context) ElastigroupAzureV3ImageCustomOutput + ToElastigroupAzureV3DataDiskOutput() ElastigroupAzureV3DataDiskOutput + ToElastigroupAzureV3DataDiskOutputWithContext(context.Context) ElastigroupAzureV3DataDiskOutput } -type ElastigroupAzureV3ImageCustomArgs struct { - ImageName pulumi.StringInput `pulumi:"imageName"` - ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` +type ElastigroupAzureV3DataDiskArgs struct { + Lun pulumi.IntInput `pulumi:"lun"` + SizeGb pulumi.IntInput `pulumi:"sizeGb"` + Type pulumi.StringInput `pulumi:"type"` } -func (ElastigroupAzureV3ImageCustomArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ImageCustom)(nil)).Elem() +func (ElastigroupAzureV3DataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3DataDisk)(nil)).Elem() } -func (i ElastigroupAzureV3ImageCustomArgs) ToElastigroupAzureV3ImageCustomOutput() ElastigroupAzureV3ImageCustomOutput { - return i.ToElastigroupAzureV3ImageCustomOutputWithContext(context.Background()) +func (i ElastigroupAzureV3DataDiskArgs) ToElastigroupAzureV3DataDiskOutput() ElastigroupAzureV3DataDiskOutput { + return i.ToElastigroupAzureV3DataDiskOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ImageCustomArgs) ToElastigroupAzureV3ImageCustomOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageCustomOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageCustomOutput) +func (i ElastigroupAzureV3DataDiskArgs) ToElastigroupAzureV3DataDiskOutputWithContext(ctx context.Context) ElastigroupAzureV3DataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3DataDiskOutput) } -// ElastigroupAzureV3ImageCustomArrayInput is an input type that accepts ElastigroupAzureV3ImageCustomArray and ElastigroupAzureV3ImageCustomArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ImageCustomArrayInput` via: +// ElastigroupAzureV3DataDiskArrayInput is an input type that accepts ElastigroupAzureV3DataDiskArray and ElastigroupAzureV3DataDiskArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3DataDiskArrayInput` via: // -// ElastigroupAzureV3ImageCustomArray{ ElastigroupAzureV3ImageCustomArgs{...} } -type ElastigroupAzureV3ImageCustomArrayInput interface { +// ElastigroupAzureV3DataDiskArray{ ElastigroupAzureV3DataDiskArgs{...} } +type ElastigroupAzureV3DataDiskArrayInput interface { pulumi.Input - ToElastigroupAzureV3ImageCustomArrayOutput() ElastigroupAzureV3ImageCustomArrayOutput - ToElastigroupAzureV3ImageCustomArrayOutputWithContext(context.Context) ElastigroupAzureV3ImageCustomArrayOutput + ToElastigroupAzureV3DataDiskArrayOutput() ElastigroupAzureV3DataDiskArrayOutput + ToElastigroupAzureV3DataDiskArrayOutputWithContext(context.Context) ElastigroupAzureV3DataDiskArrayOutput } -type ElastigroupAzureV3ImageCustomArray []ElastigroupAzureV3ImageCustomInput +type ElastigroupAzureV3DataDiskArray []ElastigroupAzureV3DataDiskInput -func (ElastigroupAzureV3ImageCustomArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ImageCustom)(nil)).Elem() +func (ElastigroupAzureV3DataDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3DataDisk)(nil)).Elem() } -func (i ElastigroupAzureV3ImageCustomArray) ToElastigroupAzureV3ImageCustomArrayOutput() ElastigroupAzureV3ImageCustomArrayOutput { - return i.ToElastigroupAzureV3ImageCustomArrayOutputWithContext(context.Background()) +func (i ElastigroupAzureV3DataDiskArray) ToElastigroupAzureV3DataDiskArrayOutput() ElastigroupAzureV3DataDiskArrayOutput { + return i.ToElastigroupAzureV3DataDiskArrayOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ImageCustomArray) ToElastigroupAzureV3ImageCustomArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageCustomArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageCustomArrayOutput) +func (i ElastigroupAzureV3DataDiskArray) ToElastigroupAzureV3DataDiskArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3DataDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3DataDiskArrayOutput) } -type ElastigroupAzureV3ImageCustomOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3DataDiskOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ImageCustomOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ImageCustom)(nil)).Elem() +func (ElastigroupAzureV3DataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3DataDisk)(nil)).Elem() } -func (o ElastigroupAzureV3ImageCustomOutput) ToElastigroupAzureV3ImageCustomOutput() ElastigroupAzureV3ImageCustomOutput { +func (o ElastigroupAzureV3DataDiskOutput) ToElastigroupAzureV3DataDiskOutput() ElastigroupAzureV3DataDiskOutput { return o } -func (o ElastigroupAzureV3ImageCustomOutput) ToElastigroupAzureV3ImageCustomOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageCustomOutput { +func (o ElastigroupAzureV3DataDiskOutput) ToElastigroupAzureV3DataDiskOutputWithContext(ctx context.Context) ElastigroupAzureV3DataDiskOutput { return o } -func (o ElastigroupAzureV3ImageCustomOutput) ImageName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ImageCustom) string { return v.ImageName }).(pulumi.StringOutput) +func (o ElastigroupAzureV3DataDiskOutput) Lun() pulumi.IntOutput { + return o.ApplyT(func(v ElastigroupAzureV3DataDisk) int { return v.Lun }).(pulumi.IntOutput) } -func (o ElastigroupAzureV3ImageCustomOutput) ResourceGroupName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ImageCustom) string { return v.ResourceGroupName }).(pulumi.StringOutput) +func (o ElastigroupAzureV3DataDiskOutput) SizeGb() pulumi.IntOutput { + return o.ApplyT(func(v ElastigroupAzureV3DataDisk) int { return v.SizeGb }).(pulumi.IntOutput) } -type ElastigroupAzureV3ImageCustomArrayOutput struct{ *pulumi.OutputState } +func (o ElastigroupAzureV3DataDiskOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3DataDisk) string { return v.Type }).(pulumi.StringOutput) +} -func (ElastigroupAzureV3ImageCustomArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ImageCustom)(nil)).Elem() +type ElastigroupAzureV3DataDiskArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3DataDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3DataDisk)(nil)).Elem() } -func (o ElastigroupAzureV3ImageCustomArrayOutput) ToElastigroupAzureV3ImageCustomArrayOutput() ElastigroupAzureV3ImageCustomArrayOutput { +func (o ElastigroupAzureV3DataDiskArrayOutput) ToElastigroupAzureV3DataDiskArrayOutput() ElastigroupAzureV3DataDiskArrayOutput { return o } -func (o ElastigroupAzureV3ImageCustomArrayOutput) ToElastigroupAzureV3ImageCustomArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageCustomArrayOutput { +func (o ElastigroupAzureV3DataDiskArrayOutput) ToElastigroupAzureV3DataDiskArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3DataDiskArrayOutput { return o } -func (o ElastigroupAzureV3ImageCustomArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ImageCustomOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ImageCustom { - return vs[0].([]ElastigroupAzureV3ImageCustom)[vs[1].(int)] - }).(ElastigroupAzureV3ImageCustomOutput) +func (o ElastigroupAzureV3DataDiskArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3DataDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3DataDisk { + return vs[0].([]ElastigroupAzureV3DataDisk)[vs[1].(int)] + }).(ElastigroupAzureV3DataDiskOutput) } -type ElastigroupAzureV3ImageGalleryImage struct { - GalleryName string `pulumi:"galleryName"` - ImageName string `pulumi:"imageName"` - ResourceGroupName string `pulumi:"resourceGroupName"` - SpotAccountId *string `pulumi:"spotAccountId"` - Version string `pulumi:"version"` +type ElastigroupAzureV3Extension struct { + ApiVersion string `pulumi:"apiVersion"` + EnableAutomaticUpgrade *bool `pulumi:"enableAutomaticUpgrade"` + MinorVersionAutoUpgrade bool `pulumi:"minorVersionAutoUpgrade"` + Name string `pulumi:"name"` + ProtectedSettings map[string]string `pulumi:"protectedSettings"` + ProtectedSettingsFromKeyVault *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault `pulumi:"protectedSettingsFromKeyVault"` + PublicSettings map[string]string `pulumi:"publicSettings"` + Publisher string `pulumi:"publisher"` + Type string `pulumi:"type"` } -// ElastigroupAzureV3ImageGalleryImageInput is an input type that accepts ElastigroupAzureV3ImageGalleryImageArgs and ElastigroupAzureV3ImageGalleryImageOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ImageGalleryImageInput` via: +// ElastigroupAzureV3ExtensionInput is an input type that accepts ElastigroupAzureV3ExtensionArgs and ElastigroupAzureV3ExtensionOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ExtensionInput` via: // -// ElastigroupAzureV3ImageGalleryImageArgs{...} -type ElastigroupAzureV3ImageGalleryImageInput interface { +// ElastigroupAzureV3ExtensionArgs{...} +type ElastigroupAzureV3ExtensionInput interface { pulumi.Input - ToElastigroupAzureV3ImageGalleryImageOutput() ElastigroupAzureV3ImageGalleryImageOutput - ToElastigroupAzureV3ImageGalleryImageOutputWithContext(context.Context) ElastigroupAzureV3ImageGalleryImageOutput + ToElastigroupAzureV3ExtensionOutput() ElastigroupAzureV3ExtensionOutput + ToElastigroupAzureV3ExtensionOutputWithContext(context.Context) ElastigroupAzureV3ExtensionOutput } -type ElastigroupAzureV3ImageGalleryImageArgs struct { - GalleryName pulumi.StringInput `pulumi:"galleryName"` - ImageName pulumi.StringInput `pulumi:"imageName"` - ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` - SpotAccountId pulumi.StringPtrInput `pulumi:"spotAccountId"` - Version pulumi.StringInput `pulumi:"version"` +type ElastigroupAzureV3ExtensionArgs struct { + ApiVersion pulumi.StringInput `pulumi:"apiVersion"` + EnableAutomaticUpgrade pulumi.BoolPtrInput `pulumi:"enableAutomaticUpgrade"` + MinorVersionAutoUpgrade pulumi.BoolInput `pulumi:"minorVersionAutoUpgrade"` + Name pulumi.StringInput `pulumi:"name"` + ProtectedSettings pulumi.StringMapInput `pulumi:"protectedSettings"` + ProtectedSettingsFromKeyVault ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrInput `pulumi:"protectedSettingsFromKeyVault"` + PublicSettings pulumi.StringMapInput `pulumi:"publicSettings"` + Publisher pulumi.StringInput `pulumi:"publisher"` + Type pulumi.StringInput `pulumi:"type"` } -func (ElastigroupAzureV3ImageGalleryImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ImageGalleryImage)(nil)).Elem() +func (ElastigroupAzureV3ExtensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Extension)(nil)).Elem() } -func (i ElastigroupAzureV3ImageGalleryImageArgs) ToElastigroupAzureV3ImageGalleryImageOutput() ElastigroupAzureV3ImageGalleryImageOutput { - return i.ToElastigroupAzureV3ImageGalleryImageOutputWithContext(context.Background()) +func (i ElastigroupAzureV3ExtensionArgs) ToElastigroupAzureV3ExtensionOutput() ElastigroupAzureV3ExtensionOutput { + return i.ToElastigroupAzureV3ExtensionOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ImageGalleryImageArgs) ToElastigroupAzureV3ImageGalleryImageOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageGalleryImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageGalleryImageOutput) +func (i ElastigroupAzureV3ExtensionArgs) ToElastigroupAzureV3ExtensionOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ExtensionOutput) } -// ElastigroupAzureV3ImageGalleryImageArrayInput is an input type that accepts ElastigroupAzureV3ImageGalleryImageArray and ElastigroupAzureV3ImageGalleryImageArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ImageGalleryImageArrayInput` via: +// ElastigroupAzureV3ExtensionArrayInput is an input type that accepts ElastigroupAzureV3ExtensionArray and ElastigroupAzureV3ExtensionArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ExtensionArrayInput` via: // -// ElastigroupAzureV3ImageGalleryImageArray{ ElastigroupAzureV3ImageGalleryImageArgs{...} } -type ElastigroupAzureV3ImageGalleryImageArrayInput interface { +// ElastigroupAzureV3ExtensionArray{ ElastigroupAzureV3ExtensionArgs{...} } +type ElastigroupAzureV3ExtensionArrayInput interface { pulumi.Input - ToElastigroupAzureV3ImageGalleryImageArrayOutput() ElastigroupAzureV3ImageGalleryImageArrayOutput - ToElastigroupAzureV3ImageGalleryImageArrayOutputWithContext(context.Context) ElastigroupAzureV3ImageGalleryImageArrayOutput + ToElastigroupAzureV3ExtensionArrayOutput() ElastigroupAzureV3ExtensionArrayOutput + ToElastigroupAzureV3ExtensionArrayOutputWithContext(context.Context) ElastigroupAzureV3ExtensionArrayOutput } -type ElastigroupAzureV3ImageGalleryImageArray []ElastigroupAzureV3ImageGalleryImageInput +type ElastigroupAzureV3ExtensionArray []ElastigroupAzureV3ExtensionInput -func (ElastigroupAzureV3ImageGalleryImageArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ImageGalleryImage)(nil)).Elem() +func (ElastigroupAzureV3ExtensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3Extension)(nil)).Elem() } -func (i ElastigroupAzureV3ImageGalleryImageArray) ToElastigroupAzureV3ImageGalleryImageArrayOutput() ElastigroupAzureV3ImageGalleryImageArrayOutput { - return i.ToElastigroupAzureV3ImageGalleryImageArrayOutputWithContext(context.Background()) +func (i ElastigroupAzureV3ExtensionArray) ToElastigroupAzureV3ExtensionArrayOutput() ElastigroupAzureV3ExtensionArrayOutput { + return i.ToElastigroupAzureV3ExtensionArrayOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ImageGalleryImageArray) ToElastigroupAzureV3ImageGalleryImageArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageGalleryImageArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageGalleryImageArrayOutput) +func (i ElastigroupAzureV3ExtensionArray) ToElastigroupAzureV3ExtensionArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ExtensionArrayOutput) } -type ElastigroupAzureV3ImageGalleryImageOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3ExtensionOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ImageGalleryImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ImageGalleryImage)(nil)).Elem() +func (ElastigroupAzureV3ExtensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Extension)(nil)).Elem() } -func (o ElastigroupAzureV3ImageGalleryImageOutput) ToElastigroupAzureV3ImageGalleryImageOutput() ElastigroupAzureV3ImageGalleryImageOutput { +func (o ElastigroupAzureV3ExtensionOutput) ToElastigroupAzureV3ExtensionOutput() ElastigroupAzureV3ExtensionOutput { return o } -func (o ElastigroupAzureV3ImageGalleryImageOutput) ToElastigroupAzureV3ImageGalleryImageOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageGalleryImageOutput { +func (o ElastigroupAzureV3ExtensionOutput) ToElastigroupAzureV3ExtensionOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionOutput { return o } -func (o ElastigroupAzureV3ImageGalleryImageOutput) GalleryName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ImageGalleryImage) string { return v.GalleryName }).(pulumi.StringOutput) -} - -func (o ElastigroupAzureV3ImageGalleryImageOutput) ImageName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ImageGalleryImage) string { return v.ImageName }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ExtensionOutput) ApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3Extension) string { return v.ApiVersion }).(pulumi.StringOutput) } -func (o ElastigroupAzureV3ImageGalleryImageOutput) ResourceGroupName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ImageGalleryImage) string { return v.ResourceGroupName }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ExtensionOutput) EnableAutomaticUpgrade() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3Extension) *bool { return v.EnableAutomaticUpgrade }).(pulumi.BoolPtrOutput) } -func (o ElastigroupAzureV3ImageGalleryImageOutput) SpotAccountId() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ImageGalleryImage) *string { return v.SpotAccountId }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3ExtensionOutput) MinorVersionAutoUpgrade() pulumi.BoolOutput { + return o.ApplyT(func(v ElastigroupAzureV3Extension) bool { return v.MinorVersionAutoUpgrade }).(pulumi.BoolOutput) } -func (o ElastigroupAzureV3ImageGalleryImageOutput) Version() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ImageGalleryImage) string { return v.Version }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ExtensionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3Extension) string { return v.Name }).(pulumi.StringOutput) } -type ElastigroupAzureV3ImageGalleryImageArrayOutput struct{ *pulumi.OutputState } - -func (ElastigroupAzureV3ImageGalleryImageArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ImageGalleryImage)(nil)).Elem() +func (o ElastigroupAzureV3ExtensionOutput) ProtectedSettings() pulumi.StringMapOutput { + return o.ApplyT(func(v ElastigroupAzureV3Extension) map[string]string { return v.ProtectedSettings }).(pulumi.StringMapOutput) } -func (o ElastigroupAzureV3ImageGalleryImageArrayOutput) ToElastigroupAzureV3ImageGalleryImageArrayOutput() ElastigroupAzureV3ImageGalleryImageArrayOutput { - return o +func (o ElastigroupAzureV3ExtensionOutput) ProtectedSettingsFromKeyVault() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3Extension) *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault { + return v.ProtectedSettingsFromKeyVault + }).(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) } -func (o ElastigroupAzureV3ImageGalleryImageArrayOutput) ToElastigroupAzureV3ImageGalleryImageArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageGalleryImageArrayOutput { - return o +func (o ElastigroupAzureV3ExtensionOutput) PublicSettings() pulumi.StringMapOutput { + return o.ApplyT(func(v ElastigroupAzureV3Extension) map[string]string { return v.PublicSettings }).(pulumi.StringMapOutput) } -func (o ElastigroupAzureV3ImageGalleryImageArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ImageGalleryImageOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ImageGalleryImage { - return vs[0].([]ElastigroupAzureV3ImageGalleryImage)[vs[1].(int)] - }).(ElastigroupAzureV3ImageGalleryImageOutput) +func (o ElastigroupAzureV3ExtensionOutput) Publisher() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3Extension) string { return v.Publisher }).(pulumi.StringOutput) } -type ElastigroupAzureV3ImageMarketplace struct { - Offer string `pulumi:"offer"` - Publisher string `pulumi:"publisher"` - Sku string `pulumi:"sku"` - Version string `pulumi:"version"` +func (o ElastigroupAzureV3ExtensionOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3Extension) string { return v.Type }).(pulumi.StringOutput) } -// ElastigroupAzureV3ImageMarketplaceInput is an input type that accepts ElastigroupAzureV3ImageMarketplaceArgs and ElastigroupAzureV3ImageMarketplaceOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ImageMarketplaceInput` via: -// -// ElastigroupAzureV3ImageMarketplaceArgs{...} -type ElastigroupAzureV3ImageMarketplaceInput interface { - pulumi.Input +type ElastigroupAzureV3ExtensionArrayOutput struct{ *pulumi.OutputState } - ToElastigroupAzureV3ImageMarketplaceOutput() ElastigroupAzureV3ImageMarketplaceOutput - ToElastigroupAzureV3ImageMarketplaceOutputWithContext(context.Context) ElastigroupAzureV3ImageMarketplaceOutput +func (ElastigroupAzureV3ExtensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3Extension)(nil)).Elem() } -type ElastigroupAzureV3ImageMarketplaceArgs struct { - Offer pulumi.StringInput `pulumi:"offer"` - Publisher pulumi.StringInput `pulumi:"publisher"` - Sku pulumi.StringInput `pulumi:"sku"` - Version pulumi.StringInput `pulumi:"version"` +func (o ElastigroupAzureV3ExtensionArrayOutput) ToElastigroupAzureV3ExtensionArrayOutput() ElastigroupAzureV3ExtensionArrayOutput { + return o } -func (ElastigroupAzureV3ImageMarketplaceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ImageMarketplace)(nil)).Elem() +func (o ElastigroupAzureV3ExtensionArrayOutput) ToElastigroupAzureV3ExtensionArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionArrayOutput { + return o } -func (i ElastigroupAzureV3ImageMarketplaceArgs) ToElastigroupAzureV3ImageMarketplaceOutput() ElastigroupAzureV3ImageMarketplaceOutput { - return i.ToElastigroupAzureV3ImageMarketplaceOutputWithContext(context.Background()) +func (o ElastigroupAzureV3ExtensionArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ExtensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3Extension { + return vs[0].([]ElastigroupAzureV3Extension)[vs[1].(int)] + }).(ElastigroupAzureV3ExtensionOutput) } -func (i ElastigroupAzureV3ImageMarketplaceArgs) ToElastigroupAzureV3ImageMarketplaceOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageMarketplaceOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageMarketplaceOutput) +type ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault struct { + SecretUrl string `pulumi:"secretUrl"` + SourceVault string `pulumi:"sourceVault"` } -// ElastigroupAzureV3ImageMarketplaceArrayInput is an input type that accepts ElastigroupAzureV3ImageMarketplaceArray and ElastigroupAzureV3ImageMarketplaceArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ImageMarketplaceArrayInput` via: +// ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultInput is an input type that accepts ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs and ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultInput` via: // -// ElastigroupAzureV3ImageMarketplaceArray{ ElastigroupAzureV3ImageMarketplaceArgs{...} } -type ElastigroupAzureV3ImageMarketplaceArrayInput interface { +// ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs{...} +type ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultInput interface { pulumi.Input - ToElastigroupAzureV3ImageMarketplaceArrayOutput() ElastigroupAzureV3ImageMarketplaceArrayOutput - ToElastigroupAzureV3ImageMarketplaceArrayOutputWithContext(context.Context) ElastigroupAzureV3ImageMarketplaceArrayOutput + ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput + ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutputWithContext(context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput } -type ElastigroupAzureV3ImageMarketplaceArray []ElastigroupAzureV3ImageMarketplaceInput +type ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs struct { + SecretUrl pulumi.StringInput `pulumi:"secretUrl"` + SourceVault pulumi.StringInput `pulumi:"sourceVault"` +} -func (ElastigroupAzureV3ImageMarketplaceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ImageMarketplace)(nil)).Elem() +func (ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault)(nil)).Elem() } -func (i ElastigroupAzureV3ImageMarketplaceArray) ToElastigroupAzureV3ImageMarketplaceArrayOutput() ElastigroupAzureV3ImageMarketplaceArrayOutput { - return i.ToElastigroupAzureV3ImageMarketplaceArrayOutputWithContext(context.Background()) +func (i ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput { + return i.ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ImageMarketplaceArray) ToElastigroupAzureV3ImageMarketplaceArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageMarketplaceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageMarketplaceArrayOutput) +func (i ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) } -type ElastigroupAzureV3ImageMarketplaceOutput struct{ *pulumi.OutputState } +func (i ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { + return i.ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(context.Background()) +} -func (ElastigroupAzureV3ImageMarketplaceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ImageMarketplace)(nil)).Elem() +func (i ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput).ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(ctx) } -func (o ElastigroupAzureV3ImageMarketplaceOutput) ToElastigroupAzureV3ImageMarketplaceOutput() ElastigroupAzureV3ImageMarketplaceOutput { +// ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrInput is an input type that accepts ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs, ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtr and ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrInput` via: +// +// ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs{...} +// +// or: +// +// nil +type ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrInput interface { + pulumi.Input + + ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput + ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput +} + +type elastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrType ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs + +func ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtr(v *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrInput { + return (*elastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrType)(v) +} + +func (*elastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault)(nil)).Elem() +} + +func (i *elastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrType) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { + return i.ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(context.Background()) +} + +func (i *elastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrType) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) +} + +type ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault)(nil)).Elem() +} + +func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput { return o } -func (o ElastigroupAzureV3ImageMarketplaceOutput) ToElastigroupAzureV3ImageMarketplaceOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageMarketplaceOutput { +func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput { return o } -func (o ElastigroupAzureV3ImageMarketplaceOutput) Offer() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ImageMarketplace) string { return v.Offer }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { + return o.ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(context.Background()) } -func (o ElastigroupAzureV3ImageMarketplaceOutput) Publisher() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ImageMarketplace) string { return v.Publisher }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault) *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault { + return &v + }).(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) } -func (o ElastigroupAzureV3ImageMarketplaceOutput) Sku() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ImageMarketplace) string { return v.Sku }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) SecretUrl() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault) string { return v.SecretUrl }).(pulumi.StringOutput) } -func (o ElastigroupAzureV3ImageMarketplaceOutput) Version() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ImageMarketplace) string { return v.Version }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) SourceVault() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault) string { return v.SourceVault }).(pulumi.StringOutput) } -type ElastigroupAzureV3ImageMarketplaceArrayOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ImageMarketplaceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ImageMarketplace)(nil)).Elem() +func (ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault)(nil)).Elem() } -func (o ElastigroupAzureV3ImageMarketplaceArrayOutput) ToElastigroupAzureV3ImageMarketplaceArrayOutput() ElastigroupAzureV3ImageMarketplaceArrayOutput { +func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { return o } -func (o ElastigroupAzureV3ImageMarketplaceArrayOutput) ToElastigroupAzureV3ImageMarketplaceArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageMarketplaceArrayOutput { +func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) ToElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput { return o } -func (o ElastigroupAzureV3ImageMarketplaceArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ImageMarketplaceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ImageMarketplace { - return vs[0].([]ElastigroupAzureV3ImageMarketplace)[vs[1].(int)] - }).(ElastigroupAzureV3ImageMarketplaceOutput) +func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) Elem() ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput { + return o.ApplyT(func(v *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault) ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault { + if v != nil { + return *v + } + var ret ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault + return ret + }).(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput) } -type ElastigroupAzureV3Login struct { - Password *string `pulumi:"password"` - SshPublicKey *string `pulumi:"sshPublicKey"` - UserName string `pulumi:"userName"` +func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) SecretUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault) *string { + if v == nil { + return nil + } + return &v.SecretUrl + }).(pulumi.StringPtrOutput) } -// ElastigroupAzureV3LoginInput is an input type that accepts ElastigroupAzureV3LoginArgs and ElastigroupAzureV3LoginOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3LoginInput` via: +func (o ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput) SourceVault() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault) *string { + if v == nil { + return nil + } + return &v.SourceVault + }).(pulumi.StringPtrOutput) +} + +type ElastigroupAzureV3Health struct { + AutoHealing *bool `pulumi:"autoHealing"` + GracePeriod *int `pulumi:"gracePeriod"` + HealthCheckTypes []string `pulumi:"healthCheckTypes"` + UnhealthyDuration *int `pulumi:"unhealthyDuration"` +} + +// ElastigroupAzureV3HealthInput is an input type that accepts ElastigroupAzureV3HealthArgs and ElastigroupAzureV3HealthOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3HealthInput` via: // -// ElastigroupAzureV3LoginArgs{...} -type ElastigroupAzureV3LoginInput interface { +// ElastigroupAzureV3HealthArgs{...} +type ElastigroupAzureV3HealthInput interface { pulumi.Input - ToElastigroupAzureV3LoginOutput() ElastigroupAzureV3LoginOutput - ToElastigroupAzureV3LoginOutputWithContext(context.Context) ElastigroupAzureV3LoginOutput + ToElastigroupAzureV3HealthOutput() ElastigroupAzureV3HealthOutput + ToElastigroupAzureV3HealthOutputWithContext(context.Context) ElastigroupAzureV3HealthOutput } -type ElastigroupAzureV3LoginArgs struct { - Password pulumi.StringPtrInput `pulumi:"password"` - SshPublicKey pulumi.StringPtrInput `pulumi:"sshPublicKey"` - UserName pulumi.StringInput `pulumi:"userName"` +type ElastigroupAzureV3HealthArgs struct { + AutoHealing pulumi.BoolPtrInput `pulumi:"autoHealing"` + GracePeriod pulumi.IntPtrInput `pulumi:"gracePeriod"` + HealthCheckTypes pulumi.StringArrayInput `pulumi:"healthCheckTypes"` + UnhealthyDuration pulumi.IntPtrInput `pulumi:"unhealthyDuration"` } -func (ElastigroupAzureV3LoginArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3Login)(nil)).Elem() +func (ElastigroupAzureV3HealthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Health)(nil)).Elem() } -func (i ElastigroupAzureV3LoginArgs) ToElastigroupAzureV3LoginOutput() ElastigroupAzureV3LoginOutput { - return i.ToElastigroupAzureV3LoginOutputWithContext(context.Background()) +func (i ElastigroupAzureV3HealthArgs) ToElastigroupAzureV3HealthOutput() ElastigroupAzureV3HealthOutput { + return i.ToElastigroupAzureV3HealthOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3LoginArgs) ToElastigroupAzureV3LoginOutputWithContext(ctx context.Context) ElastigroupAzureV3LoginOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3LoginOutput) +func (i ElastigroupAzureV3HealthArgs) ToElastigroupAzureV3HealthOutputWithContext(ctx context.Context) ElastigroupAzureV3HealthOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3HealthOutput) } -func (i ElastigroupAzureV3LoginArgs) ToElastigroupAzureV3LoginPtrOutput() ElastigroupAzureV3LoginPtrOutput { - return i.ToElastigroupAzureV3LoginPtrOutputWithContext(context.Background()) +func (i ElastigroupAzureV3HealthArgs) ToElastigroupAzureV3HealthPtrOutput() ElastigroupAzureV3HealthPtrOutput { + return i.ToElastigroupAzureV3HealthPtrOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3LoginArgs) ToElastigroupAzureV3LoginPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3LoginPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3LoginOutput).ToElastigroupAzureV3LoginPtrOutputWithContext(ctx) +func (i ElastigroupAzureV3HealthArgs) ToElastigroupAzureV3HealthPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3HealthPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3HealthOutput).ToElastigroupAzureV3HealthPtrOutputWithContext(ctx) } -// ElastigroupAzureV3LoginPtrInput is an input type that accepts ElastigroupAzureV3LoginArgs, ElastigroupAzureV3LoginPtr and ElastigroupAzureV3LoginPtrOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3LoginPtrInput` via: +// ElastigroupAzureV3HealthPtrInput is an input type that accepts ElastigroupAzureV3HealthArgs, ElastigroupAzureV3HealthPtr and ElastigroupAzureV3HealthPtrOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3HealthPtrInput` via: // -// ElastigroupAzureV3LoginArgs{...} +// ElastigroupAzureV3HealthArgs{...} // // or: // // nil -type ElastigroupAzureV3LoginPtrInput interface { +type ElastigroupAzureV3HealthPtrInput interface { pulumi.Input - ToElastigroupAzureV3LoginPtrOutput() ElastigroupAzureV3LoginPtrOutput - ToElastigroupAzureV3LoginPtrOutputWithContext(context.Context) ElastigroupAzureV3LoginPtrOutput + ToElastigroupAzureV3HealthPtrOutput() ElastigroupAzureV3HealthPtrOutput + ToElastigroupAzureV3HealthPtrOutputWithContext(context.Context) ElastigroupAzureV3HealthPtrOutput } -type elastigroupAzureV3LoginPtrType ElastigroupAzureV3LoginArgs +type elastigroupAzureV3HealthPtrType ElastigroupAzureV3HealthArgs -func ElastigroupAzureV3LoginPtr(v *ElastigroupAzureV3LoginArgs) ElastigroupAzureV3LoginPtrInput { - return (*elastigroupAzureV3LoginPtrType)(v) +func ElastigroupAzureV3HealthPtr(v *ElastigroupAzureV3HealthArgs) ElastigroupAzureV3HealthPtrInput { + return (*elastigroupAzureV3HealthPtrType)(v) } -func (*elastigroupAzureV3LoginPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ElastigroupAzureV3Login)(nil)).Elem() +func (*elastigroupAzureV3HealthPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3Health)(nil)).Elem() } -func (i *elastigroupAzureV3LoginPtrType) ToElastigroupAzureV3LoginPtrOutput() ElastigroupAzureV3LoginPtrOutput { - return i.ToElastigroupAzureV3LoginPtrOutputWithContext(context.Background()) +func (i *elastigroupAzureV3HealthPtrType) ToElastigroupAzureV3HealthPtrOutput() ElastigroupAzureV3HealthPtrOutput { + return i.ToElastigroupAzureV3HealthPtrOutputWithContext(context.Background()) } -func (i *elastigroupAzureV3LoginPtrType) ToElastigroupAzureV3LoginPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3LoginPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3LoginPtrOutput) +func (i *elastigroupAzureV3HealthPtrType) ToElastigroupAzureV3HealthPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3HealthPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3HealthPtrOutput) } -type ElastigroupAzureV3LoginOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3HealthOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3LoginOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3Login)(nil)).Elem() +func (ElastigroupAzureV3HealthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Health)(nil)).Elem() } -func (o ElastigroupAzureV3LoginOutput) ToElastigroupAzureV3LoginOutput() ElastigroupAzureV3LoginOutput { +func (o ElastigroupAzureV3HealthOutput) ToElastigroupAzureV3HealthOutput() ElastigroupAzureV3HealthOutput { return o } -func (o ElastigroupAzureV3LoginOutput) ToElastigroupAzureV3LoginOutputWithContext(ctx context.Context) ElastigroupAzureV3LoginOutput { +func (o ElastigroupAzureV3HealthOutput) ToElastigroupAzureV3HealthOutputWithContext(ctx context.Context) ElastigroupAzureV3HealthOutput { return o } -func (o ElastigroupAzureV3LoginOutput) ToElastigroupAzureV3LoginPtrOutput() ElastigroupAzureV3LoginPtrOutput { - return o.ToElastigroupAzureV3LoginPtrOutputWithContext(context.Background()) +func (o ElastigroupAzureV3HealthOutput) ToElastigroupAzureV3HealthPtrOutput() ElastigroupAzureV3HealthPtrOutput { + return o.ToElastigroupAzureV3HealthPtrOutputWithContext(context.Background()) } -func (o ElastigroupAzureV3LoginOutput) ToElastigroupAzureV3LoginPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3LoginPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupAzureV3Login) *ElastigroupAzureV3Login { +func (o ElastigroupAzureV3HealthOutput) ToElastigroupAzureV3HealthPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3HealthPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupAzureV3Health) *ElastigroupAzureV3Health { return &v - }).(ElastigroupAzureV3LoginPtrOutput) + }).(ElastigroupAzureV3HealthPtrOutput) } -func (o ElastigroupAzureV3LoginOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3Login) *string { return v.Password }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3HealthOutput) AutoHealing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3Health) *bool { return v.AutoHealing }).(pulumi.BoolPtrOutput) } -func (o ElastigroupAzureV3LoginOutput) SshPublicKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3Login) *string { return v.SshPublicKey }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3HealthOutput) GracePeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3Health) *int { return v.GracePeriod }).(pulumi.IntPtrOutput) } -func (o ElastigroupAzureV3LoginOutput) UserName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3Login) string { return v.UserName }).(pulumi.StringOutput) +func (o ElastigroupAzureV3HealthOutput) HealthCheckTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3Health) []string { return v.HealthCheckTypes }).(pulumi.StringArrayOutput) } -type ElastigroupAzureV3LoginPtrOutput struct{ *pulumi.OutputState } +func (o ElastigroupAzureV3HealthOutput) UnhealthyDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3Health) *int { return v.UnhealthyDuration }).(pulumi.IntPtrOutput) +} -func (ElastigroupAzureV3LoginPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ElastigroupAzureV3Login)(nil)).Elem() +type ElastigroupAzureV3HealthPtrOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3HealthPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3Health)(nil)).Elem() } -func (o ElastigroupAzureV3LoginPtrOutput) ToElastigroupAzureV3LoginPtrOutput() ElastigroupAzureV3LoginPtrOutput { +func (o ElastigroupAzureV3HealthPtrOutput) ToElastigroupAzureV3HealthPtrOutput() ElastigroupAzureV3HealthPtrOutput { return o } -func (o ElastigroupAzureV3LoginPtrOutput) ToElastigroupAzureV3LoginPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3LoginPtrOutput { +func (o ElastigroupAzureV3HealthPtrOutput) ToElastigroupAzureV3HealthPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3HealthPtrOutput { return o } -func (o ElastigroupAzureV3LoginPtrOutput) Elem() ElastigroupAzureV3LoginOutput { - return o.ApplyT(func(v *ElastigroupAzureV3Login) ElastigroupAzureV3Login { +func (o ElastigroupAzureV3HealthPtrOutput) Elem() ElastigroupAzureV3HealthOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Health) ElastigroupAzureV3Health { if v != nil { return *v } - var ret ElastigroupAzureV3Login + var ret ElastigroupAzureV3Health return ret - }).(ElastigroupAzureV3LoginOutput) + }).(ElastigroupAzureV3HealthOutput) } -func (o ElastigroupAzureV3LoginPtrOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ElastigroupAzureV3Login) *string { +func (o ElastigroupAzureV3HealthPtrOutput) AutoHealing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Health) *bool { if v == nil { return nil } - return v.Password - }).(pulumi.StringPtrOutput) + return v.AutoHealing + }).(pulumi.BoolPtrOutput) } -func (o ElastigroupAzureV3LoginPtrOutput) SshPublicKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ElastigroupAzureV3Login) *string { +func (o ElastigroupAzureV3HealthPtrOutput) GracePeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Health) *int { if v == nil { return nil } - return v.SshPublicKey - }).(pulumi.StringPtrOutput) + return v.GracePeriod + }).(pulumi.IntPtrOutput) } -func (o ElastigroupAzureV3LoginPtrOutput) UserName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ElastigroupAzureV3Login) *string { +func (o ElastigroupAzureV3HealthPtrOutput) HealthCheckTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Health) []string { if v == nil { return nil } - return &v.UserName - }).(pulumi.StringPtrOutput) + return v.HealthCheckTypes + }).(pulumi.StringArrayOutput) } -type ElastigroupAzureV3ManagedServiceIdentity struct { - Name string `pulumi:"name"` - ResourceGroupName string `pulumi:"resourceGroupName"` +func (o ElastigroupAzureV3HealthPtrOutput) UnhealthyDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Health) *int { + if v == nil { + return nil + } + return v.UnhealthyDuration + }).(pulumi.IntPtrOutput) } -// ElastigroupAzureV3ManagedServiceIdentityInput is an input type that accepts ElastigroupAzureV3ManagedServiceIdentityArgs and ElastigroupAzureV3ManagedServiceIdentityOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ManagedServiceIdentityInput` via: +type ElastigroupAzureV3Image struct { + Customs []ElastigroupAzureV3ImageCustom `pulumi:"customs"` + GalleryImages []ElastigroupAzureV3ImageGalleryImage `pulumi:"galleryImages"` + Marketplaces []ElastigroupAzureV3ImageMarketplace `pulumi:"marketplaces"` +} + +// ElastigroupAzureV3ImageInput is an input type that accepts ElastigroupAzureV3ImageArgs and ElastigroupAzureV3ImageOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ImageInput` via: // -// ElastigroupAzureV3ManagedServiceIdentityArgs{...} -type ElastigroupAzureV3ManagedServiceIdentityInput interface { +// ElastigroupAzureV3ImageArgs{...} +type ElastigroupAzureV3ImageInput interface { pulumi.Input - ToElastigroupAzureV3ManagedServiceIdentityOutput() ElastigroupAzureV3ManagedServiceIdentityOutput - ToElastigroupAzureV3ManagedServiceIdentityOutputWithContext(context.Context) ElastigroupAzureV3ManagedServiceIdentityOutput + ToElastigroupAzureV3ImageOutput() ElastigroupAzureV3ImageOutput + ToElastigroupAzureV3ImageOutputWithContext(context.Context) ElastigroupAzureV3ImageOutput } -type ElastigroupAzureV3ManagedServiceIdentityArgs struct { - Name pulumi.StringInput `pulumi:"name"` - ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` +type ElastigroupAzureV3ImageArgs struct { + Customs ElastigroupAzureV3ImageCustomArrayInput `pulumi:"customs"` + GalleryImages ElastigroupAzureV3ImageGalleryImageArrayInput `pulumi:"galleryImages"` + Marketplaces ElastigroupAzureV3ImageMarketplaceArrayInput `pulumi:"marketplaces"` } -func (ElastigroupAzureV3ManagedServiceIdentityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ManagedServiceIdentity)(nil)).Elem() +func (ElastigroupAzureV3ImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Image)(nil)).Elem() } -func (i ElastigroupAzureV3ManagedServiceIdentityArgs) ToElastigroupAzureV3ManagedServiceIdentityOutput() ElastigroupAzureV3ManagedServiceIdentityOutput { - return i.ToElastigroupAzureV3ManagedServiceIdentityOutputWithContext(context.Background()) +func (i ElastigroupAzureV3ImageArgs) ToElastigroupAzureV3ImageOutput() ElastigroupAzureV3ImageOutput { + return i.ToElastigroupAzureV3ImageOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ManagedServiceIdentityArgs) ToElastigroupAzureV3ManagedServiceIdentityOutputWithContext(ctx context.Context) ElastigroupAzureV3ManagedServiceIdentityOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ManagedServiceIdentityOutput) +func (i ElastigroupAzureV3ImageArgs) ToElastigroupAzureV3ImageOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageOutput) } -// ElastigroupAzureV3ManagedServiceIdentityArrayInput is an input type that accepts ElastigroupAzureV3ManagedServiceIdentityArray and ElastigroupAzureV3ManagedServiceIdentityArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ManagedServiceIdentityArrayInput` via: +// ElastigroupAzureV3ImageArrayInput is an input type that accepts ElastigroupAzureV3ImageArray and ElastigroupAzureV3ImageArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ImageArrayInput` via: // -// ElastigroupAzureV3ManagedServiceIdentityArray{ ElastigroupAzureV3ManagedServiceIdentityArgs{...} } -type ElastigroupAzureV3ManagedServiceIdentityArrayInput interface { +// ElastigroupAzureV3ImageArray{ ElastigroupAzureV3ImageArgs{...} } +type ElastigroupAzureV3ImageArrayInput interface { pulumi.Input - ToElastigroupAzureV3ManagedServiceIdentityArrayOutput() ElastigroupAzureV3ManagedServiceIdentityArrayOutput - ToElastigroupAzureV3ManagedServiceIdentityArrayOutputWithContext(context.Context) ElastigroupAzureV3ManagedServiceIdentityArrayOutput + ToElastigroupAzureV3ImageArrayOutput() ElastigroupAzureV3ImageArrayOutput + ToElastigroupAzureV3ImageArrayOutputWithContext(context.Context) ElastigroupAzureV3ImageArrayOutput } -type ElastigroupAzureV3ManagedServiceIdentityArray []ElastigroupAzureV3ManagedServiceIdentityInput +type ElastigroupAzureV3ImageArray []ElastigroupAzureV3ImageInput -func (ElastigroupAzureV3ManagedServiceIdentityArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ManagedServiceIdentity)(nil)).Elem() +func (ElastigroupAzureV3ImageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3Image)(nil)).Elem() } -func (i ElastigroupAzureV3ManagedServiceIdentityArray) ToElastigroupAzureV3ManagedServiceIdentityArrayOutput() ElastigroupAzureV3ManagedServiceIdentityArrayOutput { - return i.ToElastigroupAzureV3ManagedServiceIdentityArrayOutputWithContext(context.Background()) +func (i ElastigroupAzureV3ImageArray) ToElastigroupAzureV3ImageArrayOutput() ElastigroupAzureV3ImageArrayOutput { + return i.ToElastigroupAzureV3ImageArrayOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ManagedServiceIdentityArray) ToElastigroupAzureV3ManagedServiceIdentityArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ManagedServiceIdentityArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ManagedServiceIdentityArrayOutput) +func (i ElastigroupAzureV3ImageArray) ToElastigroupAzureV3ImageArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageArrayOutput) } -type ElastigroupAzureV3ManagedServiceIdentityOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3ImageOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ManagedServiceIdentityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ManagedServiceIdentity)(nil)).Elem() +func (ElastigroupAzureV3ImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Image)(nil)).Elem() } -func (o ElastigroupAzureV3ManagedServiceIdentityOutput) ToElastigroupAzureV3ManagedServiceIdentityOutput() ElastigroupAzureV3ManagedServiceIdentityOutput { +func (o ElastigroupAzureV3ImageOutput) ToElastigroupAzureV3ImageOutput() ElastigroupAzureV3ImageOutput { return o } -func (o ElastigroupAzureV3ManagedServiceIdentityOutput) ToElastigroupAzureV3ManagedServiceIdentityOutputWithContext(ctx context.Context) ElastigroupAzureV3ManagedServiceIdentityOutput { +func (o ElastigroupAzureV3ImageOutput) ToElastigroupAzureV3ImageOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageOutput { return o } -func (o ElastigroupAzureV3ManagedServiceIdentityOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ManagedServiceIdentity) string { return v.Name }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ImageOutput) Customs() ElastigroupAzureV3ImageCustomArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3Image) []ElastigroupAzureV3ImageCustom { return v.Customs }).(ElastigroupAzureV3ImageCustomArrayOutput) } -func (o ElastigroupAzureV3ManagedServiceIdentityOutput) ResourceGroupName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ManagedServiceIdentity) string { return v.ResourceGroupName }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ImageOutput) GalleryImages() ElastigroupAzureV3ImageGalleryImageArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3Image) []ElastigroupAzureV3ImageGalleryImage { return v.GalleryImages }).(ElastigroupAzureV3ImageGalleryImageArrayOutput) } -type ElastigroupAzureV3ManagedServiceIdentityArrayOutput struct{ *pulumi.OutputState } +func (o ElastigroupAzureV3ImageOutput) Marketplaces() ElastigroupAzureV3ImageMarketplaceArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3Image) []ElastigroupAzureV3ImageMarketplace { return v.Marketplaces }).(ElastigroupAzureV3ImageMarketplaceArrayOutput) +} -func (ElastigroupAzureV3ManagedServiceIdentityArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ManagedServiceIdentity)(nil)).Elem() +type ElastigroupAzureV3ImageArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ImageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3Image)(nil)).Elem() } -func (o ElastigroupAzureV3ManagedServiceIdentityArrayOutput) ToElastigroupAzureV3ManagedServiceIdentityArrayOutput() ElastigroupAzureV3ManagedServiceIdentityArrayOutput { +func (o ElastigroupAzureV3ImageArrayOutput) ToElastigroupAzureV3ImageArrayOutput() ElastigroupAzureV3ImageArrayOutput { return o } -func (o ElastigroupAzureV3ManagedServiceIdentityArrayOutput) ToElastigroupAzureV3ManagedServiceIdentityArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ManagedServiceIdentityArrayOutput { +func (o ElastigroupAzureV3ImageArrayOutput) ToElastigroupAzureV3ImageArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageArrayOutput { return o } -func (o ElastigroupAzureV3ManagedServiceIdentityArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ManagedServiceIdentityOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ManagedServiceIdentity { - return vs[0].([]ElastigroupAzureV3ManagedServiceIdentity)[vs[1].(int)] - }).(ElastigroupAzureV3ManagedServiceIdentityOutput) +func (o ElastigroupAzureV3ImageArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ImageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3Image { + return vs[0].([]ElastigroupAzureV3Image)[vs[1].(int)] + }).(ElastigroupAzureV3ImageOutput) } -type ElastigroupAzureV3Network struct { - NetworkInterfaces []ElastigroupAzureV3NetworkNetworkInterface `pulumi:"networkInterfaces"` - ResourceGroupName string `pulumi:"resourceGroupName"` - VirtualNetworkName string `pulumi:"virtualNetworkName"` +type ElastigroupAzureV3ImageCustom struct { + ImageName string `pulumi:"imageName"` + ResourceGroupName string `pulumi:"resourceGroupName"` } -// ElastigroupAzureV3NetworkInput is an input type that accepts ElastigroupAzureV3NetworkArgs and ElastigroupAzureV3NetworkOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3NetworkInput` via: +// ElastigroupAzureV3ImageCustomInput is an input type that accepts ElastigroupAzureV3ImageCustomArgs and ElastigroupAzureV3ImageCustomOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ImageCustomInput` via: // -// ElastigroupAzureV3NetworkArgs{...} -type ElastigroupAzureV3NetworkInput interface { +// ElastigroupAzureV3ImageCustomArgs{...} +type ElastigroupAzureV3ImageCustomInput interface { pulumi.Input - ToElastigroupAzureV3NetworkOutput() ElastigroupAzureV3NetworkOutput - ToElastigroupAzureV3NetworkOutputWithContext(context.Context) ElastigroupAzureV3NetworkOutput -} - -type ElastigroupAzureV3NetworkArgs struct { - NetworkInterfaces ElastigroupAzureV3NetworkNetworkInterfaceArrayInput `pulumi:"networkInterfaces"` - ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` - VirtualNetworkName pulumi.StringInput `pulumi:"virtualNetworkName"` -} - -func (ElastigroupAzureV3NetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3Network)(nil)).Elem() + ToElastigroupAzureV3ImageCustomOutput() ElastigroupAzureV3ImageCustomOutput + ToElastigroupAzureV3ImageCustomOutputWithContext(context.Context) ElastigroupAzureV3ImageCustomOutput } -func (i ElastigroupAzureV3NetworkArgs) ToElastigroupAzureV3NetworkOutput() ElastigroupAzureV3NetworkOutput { - return i.ToElastigroupAzureV3NetworkOutputWithContext(context.Background()) +type ElastigroupAzureV3ImageCustomArgs struct { + ImageName pulumi.StringInput `pulumi:"imageName"` + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` } -func (i ElastigroupAzureV3NetworkArgs) ToElastigroupAzureV3NetworkOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkOutput) +func (ElastigroupAzureV3ImageCustomArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ImageCustom)(nil)).Elem() } -func (i ElastigroupAzureV3NetworkArgs) ToElastigroupAzureV3NetworkPtrOutput() ElastigroupAzureV3NetworkPtrOutput { - return i.ToElastigroupAzureV3NetworkPtrOutputWithContext(context.Background()) +func (i ElastigroupAzureV3ImageCustomArgs) ToElastigroupAzureV3ImageCustomOutput() ElastigroupAzureV3ImageCustomOutput { + return i.ToElastigroupAzureV3ImageCustomOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3NetworkArgs) ToElastigroupAzureV3NetworkPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkOutput).ToElastigroupAzureV3NetworkPtrOutputWithContext(ctx) +func (i ElastigroupAzureV3ImageCustomArgs) ToElastigroupAzureV3ImageCustomOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageCustomOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageCustomOutput) } -// ElastigroupAzureV3NetworkPtrInput is an input type that accepts ElastigroupAzureV3NetworkArgs, ElastigroupAzureV3NetworkPtr and ElastigroupAzureV3NetworkPtrOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3NetworkPtrInput` via: -// -// ElastigroupAzureV3NetworkArgs{...} -// -// or: +// ElastigroupAzureV3ImageCustomArrayInput is an input type that accepts ElastigroupAzureV3ImageCustomArray and ElastigroupAzureV3ImageCustomArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ImageCustomArrayInput` via: // -// nil -type ElastigroupAzureV3NetworkPtrInput interface { +// ElastigroupAzureV3ImageCustomArray{ ElastigroupAzureV3ImageCustomArgs{...} } +type ElastigroupAzureV3ImageCustomArrayInput interface { pulumi.Input - ToElastigroupAzureV3NetworkPtrOutput() ElastigroupAzureV3NetworkPtrOutput - ToElastigroupAzureV3NetworkPtrOutputWithContext(context.Context) ElastigroupAzureV3NetworkPtrOutput + ToElastigroupAzureV3ImageCustomArrayOutput() ElastigroupAzureV3ImageCustomArrayOutput + ToElastigroupAzureV3ImageCustomArrayOutputWithContext(context.Context) ElastigroupAzureV3ImageCustomArrayOutput } -type elastigroupAzureV3NetworkPtrType ElastigroupAzureV3NetworkArgs - -func ElastigroupAzureV3NetworkPtr(v *ElastigroupAzureV3NetworkArgs) ElastigroupAzureV3NetworkPtrInput { - return (*elastigroupAzureV3NetworkPtrType)(v) -} +type ElastigroupAzureV3ImageCustomArray []ElastigroupAzureV3ImageCustomInput -func (*elastigroupAzureV3NetworkPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ElastigroupAzureV3Network)(nil)).Elem() +func (ElastigroupAzureV3ImageCustomArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ImageCustom)(nil)).Elem() } -func (i *elastigroupAzureV3NetworkPtrType) ToElastigroupAzureV3NetworkPtrOutput() ElastigroupAzureV3NetworkPtrOutput { - return i.ToElastigroupAzureV3NetworkPtrOutputWithContext(context.Background()) +func (i ElastigroupAzureV3ImageCustomArray) ToElastigroupAzureV3ImageCustomArrayOutput() ElastigroupAzureV3ImageCustomArrayOutput { + return i.ToElastigroupAzureV3ImageCustomArrayOutputWithContext(context.Background()) } -func (i *elastigroupAzureV3NetworkPtrType) ToElastigroupAzureV3NetworkPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkPtrOutput) +func (i ElastigroupAzureV3ImageCustomArray) ToElastigroupAzureV3ImageCustomArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageCustomArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageCustomArrayOutput) } -type ElastigroupAzureV3NetworkOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3ImageCustomOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3NetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3Network)(nil)).Elem() +func (ElastigroupAzureV3ImageCustomOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ImageCustom)(nil)).Elem() } -func (o ElastigroupAzureV3NetworkOutput) ToElastigroupAzureV3NetworkOutput() ElastigroupAzureV3NetworkOutput { +func (o ElastigroupAzureV3ImageCustomOutput) ToElastigroupAzureV3ImageCustomOutput() ElastigroupAzureV3ImageCustomOutput { return o } -func (o ElastigroupAzureV3NetworkOutput) ToElastigroupAzureV3NetworkOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkOutput { +func (o ElastigroupAzureV3ImageCustomOutput) ToElastigroupAzureV3ImageCustomOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageCustomOutput { return o } -func (o ElastigroupAzureV3NetworkOutput) ToElastigroupAzureV3NetworkPtrOutput() ElastigroupAzureV3NetworkPtrOutput { - return o.ToElastigroupAzureV3NetworkPtrOutputWithContext(context.Background()) +func (o ElastigroupAzureV3ImageCustomOutput) ImageName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ImageCustom) string { return v.ImageName }).(pulumi.StringOutput) } -func (o ElastigroupAzureV3NetworkOutput) ToElastigroupAzureV3NetworkPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupAzureV3Network) *ElastigroupAzureV3Network { - return &v - }).(ElastigroupAzureV3NetworkPtrOutput) +func (o ElastigroupAzureV3ImageCustomOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ImageCustom) string { return v.ResourceGroupName }).(pulumi.StringOutput) } -func (o ElastigroupAzureV3NetworkOutput) NetworkInterfaces() ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput { - return o.ApplyT(func(v ElastigroupAzureV3Network) []ElastigroupAzureV3NetworkNetworkInterface { - return v.NetworkInterfaces - }).(ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) -} +type ElastigroupAzureV3ImageCustomArrayOutput struct{ *pulumi.OutputState } -func (o ElastigroupAzureV3NetworkOutput) ResourceGroupName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3Network) string { return v.ResourceGroupName }).(pulumi.StringOutput) +func (ElastigroupAzureV3ImageCustomArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ImageCustom)(nil)).Elem() } -func (o ElastigroupAzureV3NetworkOutput) VirtualNetworkName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3Network) string { return v.VirtualNetworkName }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ImageCustomArrayOutput) ToElastigroupAzureV3ImageCustomArrayOutput() ElastigroupAzureV3ImageCustomArrayOutput { + return o } -type ElastigroupAzureV3NetworkPtrOutput struct{ *pulumi.OutputState } - -func (ElastigroupAzureV3NetworkPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ElastigroupAzureV3Network)(nil)).Elem() +func (o ElastigroupAzureV3ImageCustomArrayOutput) ToElastigroupAzureV3ImageCustomArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageCustomArrayOutput { + return o } -func (o ElastigroupAzureV3NetworkPtrOutput) ToElastigroupAzureV3NetworkPtrOutput() ElastigroupAzureV3NetworkPtrOutput { - return o +func (o ElastigroupAzureV3ImageCustomArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ImageCustomOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ImageCustom { + return vs[0].([]ElastigroupAzureV3ImageCustom)[vs[1].(int)] + }).(ElastigroupAzureV3ImageCustomOutput) } -func (o ElastigroupAzureV3NetworkPtrOutput) ToElastigroupAzureV3NetworkPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkPtrOutput { - return o +type ElastigroupAzureV3ImageGalleryImage struct { + GalleryName string `pulumi:"galleryName"` + ImageName string `pulumi:"imageName"` + ResourceGroupName string `pulumi:"resourceGroupName"` + SpotAccountId *string `pulumi:"spotAccountId"` + Version string `pulumi:"version"` } -func (o ElastigroupAzureV3NetworkPtrOutput) Elem() ElastigroupAzureV3NetworkOutput { - return o.ApplyT(func(v *ElastigroupAzureV3Network) ElastigroupAzureV3Network { - if v != nil { - return *v - } - var ret ElastigroupAzureV3Network - return ret - }).(ElastigroupAzureV3NetworkOutput) +// ElastigroupAzureV3ImageGalleryImageInput is an input type that accepts ElastigroupAzureV3ImageGalleryImageArgs and ElastigroupAzureV3ImageGalleryImageOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ImageGalleryImageInput` via: +// +// ElastigroupAzureV3ImageGalleryImageArgs{...} +type ElastigroupAzureV3ImageGalleryImageInput interface { + pulumi.Input + + ToElastigroupAzureV3ImageGalleryImageOutput() ElastigroupAzureV3ImageGalleryImageOutput + ToElastigroupAzureV3ImageGalleryImageOutputWithContext(context.Context) ElastigroupAzureV3ImageGalleryImageOutput } -func (o ElastigroupAzureV3NetworkPtrOutput) NetworkInterfaces() ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput { - return o.ApplyT(func(v *ElastigroupAzureV3Network) []ElastigroupAzureV3NetworkNetworkInterface { - if v == nil { - return nil - } - return v.NetworkInterfaces - }).(ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) +type ElastigroupAzureV3ImageGalleryImageArgs struct { + GalleryName pulumi.StringInput `pulumi:"galleryName"` + ImageName pulumi.StringInput `pulumi:"imageName"` + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` + SpotAccountId pulumi.StringPtrInput `pulumi:"spotAccountId"` + Version pulumi.StringInput `pulumi:"version"` } -func (o ElastigroupAzureV3NetworkPtrOutput) ResourceGroupName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ElastigroupAzureV3Network) *string { - if v == nil { - return nil - } - return &v.ResourceGroupName - }).(pulumi.StringPtrOutput) +func (ElastigroupAzureV3ImageGalleryImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ImageGalleryImage)(nil)).Elem() } -func (o ElastigroupAzureV3NetworkPtrOutput) VirtualNetworkName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ElastigroupAzureV3Network) *string { - if v == nil { - return nil - } - return &v.VirtualNetworkName - }).(pulumi.StringPtrOutput) +func (i ElastigroupAzureV3ImageGalleryImageArgs) ToElastigroupAzureV3ImageGalleryImageOutput() ElastigroupAzureV3ImageGalleryImageOutput { + return i.ToElastigroupAzureV3ImageGalleryImageOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ImageGalleryImageArgs) ToElastigroupAzureV3ImageGalleryImageOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageGalleryImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageGalleryImageOutput) +} + +// ElastigroupAzureV3ImageGalleryImageArrayInput is an input type that accepts ElastigroupAzureV3ImageGalleryImageArray and ElastigroupAzureV3ImageGalleryImageArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ImageGalleryImageArrayInput` via: +// +// ElastigroupAzureV3ImageGalleryImageArray{ ElastigroupAzureV3ImageGalleryImageArgs{...} } +type ElastigroupAzureV3ImageGalleryImageArrayInput interface { + pulumi.Input + + ToElastigroupAzureV3ImageGalleryImageArrayOutput() ElastigroupAzureV3ImageGalleryImageArrayOutput + ToElastigroupAzureV3ImageGalleryImageArrayOutputWithContext(context.Context) ElastigroupAzureV3ImageGalleryImageArrayOutput +} + +type ElastigroupAzureV3ImageGalleryImageArray []ElastigroupAzureV3ImageGalleryImageInput + +func (ElastigroupAzureV3ImageGalleryImageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ImageGalleryImage)(nil)).Elem() +} + +func (i ElastigroupAzureV3ImageGalleryImageArray) ToElastigroupAzureV3ImageGalleryImageArrayOutput() ElastigroupAzureV3ImageGalleryImageArrayOutput { + return i.ToElastigroupAzureV3ImageGalleryImageArrayOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ImageGalleryImageArray) ToElastigroupAzureV3ImageGalleryImageArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageGalleryImageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageGalleryImageArrayOutput) +} + +type ElastigroupAzureV3ImageGalleryImageOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ImageGalleryImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ImageGalleryImage)(nil)).Elem() +} + +func (o ElastigroupAzureV3ImageGalleryImageOutput) ToElastigroupAzureV3ImageGalleryImageOutput() ElastigroupAzureV3ImageGalleryImageOutput { + return o +} + +func (o ElastigroupAzureV3ImageGalleryImageOutput) ToElastigroupAzureV3ImageGalleryImageOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageGalleryImageOutput { + return o +} + +func (o ElastigroupAzureV3ImageGalleryImageOutput) GalleryName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ImageGalleryImage) string { return v.GalleryName }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ImageGalleryImageOutput) ImageName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ImageGalleryImage) string { return v.ImageName }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ImageGalleryImageOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ImageGalleryImage) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ImageGalleryImageOutput) SpotAccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ImageGalleryImage) *string { return v.SpotAccountId }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3ImageGalleryImageOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ImageGalleryImage) string { return v.Version }).(pulumi.StringOutput) +} + +type ElastigroupAzureV3ImageGalleryImageArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ImageGalleryImageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ImageGalleryImage)(nil)).Elem() +} + +func (o ElastigroupAzureV3ImageGalleryImageArrayOutput) ToElastigroupAzureV3ImageGalleryImageArrayOutput() ElastigroupAzureV3ImageGalleryImageArrayOutput { + return o +} + +func (o ElastigroupAzureV3ImageGalleryImageArrayOutput) ToElastigroupAzureV3ImageGalleryImageArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageGalleryImageArrayOutput { + return o +} + +func (o ElastigroupAzureV3ImageGalleryImageArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ImageGalleryImageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ImageGalleryImage { + return vs[0].([]ElastigroupAzureV3ImageGalleryImage)[vs[1].(int)] + }).(ElastigroupAzureV3ImageGalleryImageOutput) +} + +type ElastigroupAzureV3ImageMarketplace struct { + Offer string `pulumi:"offer"` + Publisher string `pulumi:"publisher"` + Sku string `pulumi:"sku"` + Version string `pulumi:"version"` +} + +// ElastigroupAzureV3ImageMarketplaceInput is an input type that accepts ElastigroupAzureV3ImageMarketplaceArgs and ElastigroupAzureV3ImageMarketplaceOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ImageMarketplaceInput` via: +// +// ElastigroupAzureV3ImageMarketplaceArgs{...} +type ElastigroupAzureV3ImageMarketplaceInput interface { + pulumi.Input + + ToElastigroupAzureV3ImageMarketplaceOutput() ElastigroupAzureV3ImageMarketplaceOutput + ToElastigroupAzureV3ImageMarketplaceOutputWithContext(context.Context) ElastigroupAzureV3ImageMarketplaceOutput +} + +type ElastigroupAzureV3ImageMarketplaceArgs struct { + Offer pulumi.StringInput `pulumi:"offer"` + Publisher pulumi.StringInput `pulumi:"publisher"` + Sku pulumi.StringInput `pulumi:"sku"` + Version pulumi.StringInput `pulumi:"version"` +} + +func (ElastigroupAzureV3ImageMarketplaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ImageMarketplace)(nil)).Elem() +} + +func (i ElastigroupAzureV3ImageMarketplaceArgs) ToElastigroupAzureV3ImageMarketplaceOutput() ElastigroupAzureV3ImageMarketplaceOutput { + return i.ToElastigroupAzureV3ImageMarketplaceOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ImageMarketplaceArgs) ToElastigroupAzureV3ImageMarketplaceOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageMarketplaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageMarketplaceOutput) +} + +// ElastigroupAzureV3ImageMarketplaceArrayInput is an input type that accepts ElastigroupAzureV3ImageMarketplaceArray and ElastigroupAzureV3ImageMarketplaceArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ImageMarketplaceArrayInput` via: +// +// ElastigroupAzureV3ImageMarketplaceArray{ ElastigroupAzureV3ImageMarketplaceArgs{...} } +type ElastigroupAzureV3ImageMarketplaceArrayInput interface { + pulumi.Input + + ToElastigroupAzureV3ImageMarketplaceArrayOutput() ElastigroupAzureV3ImageMarketplaceArrayOutput + ToElastigroupAzureV3ImageMarketplaceArrayOutputWithContext(context.Context) ElastigroupAzureV3ImageMarketplaceArrayOutput +} + +type ElastigroupAzureV3ImageMarketplaceArray []ElastigroupAzureV3ImageMarketplaceInput + +func (ElastigroupAzureV3ImageMarketplaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ImageMarketplace)(nil)).Elem() +} + +func (i ElastigroupAzureV3ImageMarketplaceArray) ToElastigroupAzureV3ImageMarketplaceArrayOutput() ElastigroupAzureV3ImageMarketplaceArrayOutput { + return i.ToElastigroupAzureV3ImageMarketplaceArrayOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ImageMarketplaceArray) ToElastigroupAzureV3ImageMarketplaceArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageMarketplaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ImageMarketplaceArrayOutput) +} + +type ElastigroupAzureV3ImageMarketplaceOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ImageMarketplaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ImageMarketplace)(nil)).Elem() +} + +func (o ElastigroupAzureV3ImageMarketplaceOutput) ToElastigroupAzureV3ImageMarketplaceOutput() ElastigroupAzureV3ImageMarketplaceOutput { + return o +} + +func (o ElastigroupAzureV3ImageMarketplaceOutput) ToElastigroupAzureV3ImageMarketplaceOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageMarketplaceOutput { + return o +} + +func (o ElastigroupAzureV3ImageMarketplaceOutput) Offer() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ImageMarketplace) string { return v.Offer }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ImageMarketplaceOutput) Publisher() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ImageMarketplace) string { return v.Publisher }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ImageMarketplaceOutput) Sku() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ImageMarketplace) string { return v.Sku }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ImageMarketplaceOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ImageMarketplace) string { return v.Version }).(pulumi.StringOutput) +} + +type ElastigroupAzureV3ImageMarketplaceArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ImageMarketplaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ImageMarketplace)(nil)).Elem() +} + +func (o ElastigroupAzureV3ImageMarketplaceArrayOutput) ToElastigroupAzureV3ImageMarketplaceArrayOutput() ElastigroupAzureV3ImageMarketplaceArrayOutput { + return o +} + +func (o ElastigroupAzureV3ImageMarketplaceArrayOutput) ToElastigroupAzureV3ImageMarketplaceArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ImageMarketplaceArrayOutput { + return o +} + +func (o ElastigroupAzureV3ImageMarketplaceArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ImageMarketplaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ImageMarketplace { + return vs[0].([]ElastigroupAzureV3ImageMarketplace)[vs[1].(int)] + }).(ElastigroupAzureV3ImageMarketplaceOutput) +} + +type ElastigroupAzureV3LoadBalancer struct { + BackendPoolNames []string `pulumi:"backendPoolNames"` + Name string `pulumi:"name"` + ResourceGroupName string `pulumi:"resourceGroupName"` + Sku *string `pulumi:"sku"` + Type string `pulumi:"type"` +} + +// ElastigroupAzureV3LoadBalancerInput is an input type that accepts ElastigroupAzureV3LoadBalancerArgs and ElastigroupAzureV3LoadBalancerOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3LoadBalancerInput` via: +// +// ElastigroupAzureV3LoadBalancerArgs{...} +type ElastigroupAzureV3LoadBalancerInput interface { + pulumi.Input + + ToElastigroupAzureV3LoadBalancerOutput() ElastigroupAzureV3LoadBalancerOutput + ToElastigroupAzureV3LoadBalancerOutputWithContext(context.Context) ElastigroupAzureV3LoadBalancerOutput +} + +type ElastigroupAzureV3LoadBalancerArgs struct { + BackendPoolNames pulumi.StringArrayInput `pulumi:"backendPoolNames"` + Name pulumi.StringInput `pulumi:"name"` + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` + Sku pulumi.StringPtrInput `pulumi:"sku"` + Type pulumi.StringInput `pulumi:"type"` +} + +func (ElastigroupAzureV3LoadBalancerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3LoadBalancer)(nil)).Elem() +} + +func (i ElastigroupAzureV3LoadBalancerArgs) ToElastigroupAzureV3LoadBalancerOutput() ElastigroupAzureV3LoadBalancerOutput { + return i.ToElastigroupAzureV3LoadBalancerOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3LoadBalancerArgs) ToElastigroupAzureV3LoadBalancerOutputWithContext(ctx context.Context) ElastigroupAzureV3LoadBalancerOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3LoadBalancerOutput) +} + +// ElastigroupAzureV3LoadBalancerArrayInput is an input type that accepts ElastigroupAzureV3LoadBalancerArray and ElastigroupAzureV3LoadBalancerArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3LoadBalancerArrayInput` via: +// +// ElastigroupAzureV3LoadBalancerArray{ ElastigroupAzureV3LoadBalancerArgs{...} } +type ElastigroupAzureV3LoadBalancerArrayInput interface { + pulumi.Input + + ToElastigroupAzureV3LoadBalancerArrayOutput() ElastigroupAzureV3LoadBalancerArrayOutput + ToElastigroupAzureV3LoadBalancerArrayOutputWithContext(context.Context) ElastigroupAzureV3LoadBalancerArrayOutput +} + +type ElastigroupAzureV3LoadBalancerArray []ElastigroupAzureV3LoadBalancerInput + +func (ElastigroupAzureV3LoadBalancerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3LoadBalancer)(nil)).Elem() +} + +func (i ElastigroupAzureV3LoadBalancerArray) ToElastigroupAzureV3LoadBalancerArrayOutput() ElastigroupAzureV3LoadBalancerArrayOutput { + return i.ToElastigroupAzureV3LoadBalancerArrayOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3LoadBalancerArray) ToElastigroupAzureV3LoadBalancerArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3LoadBalancerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3LoadBalancerArrayOutput) +} + +type ElastigroupAzureV3LoadBalancerOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3LoadBalancerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3LoadBalancer)(nil)).Elem() +} + +func (o ElastigroupAzureV3LoadBalancerOutput) ToElastigroupAzureV3LoadBalancerOutput() ElastigroupAzureV3LoadBalancerOutput { + return o +} + +func (o ElastigroupAzureV3LoadBalancerOutput) ToElastigroupAzureV3LoadBalancerOutputWithContext(ctx context.Context) ElastigroupAzureV3LoadBalancerOutput { + return o +} + +func (o ElastigroupAzureV3LoadBalancerOutput) BackendPoolNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3LoadBalancer) []string { return v.BackendPoolNames }).(pulumi.StringArrayOutput) +} + +func (o ElastigroupAzureV3LoadBalancerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3LoadBalancer) string { return v.Name }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3LoadBalancerOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3LoadBalancer) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3LoadBalancerOutput) Sku() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3LoadBalancer) *string { return v.Sku }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3LoadBalancerOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3LoadBalancer) string { return v.Type }).(pulumi.StringOutput) +} + +type ElastigroupAzureV3LoadBalancerArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3LoadBalancerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3LoadBalancer)(nil)).Elem() +} + +func (o ElastigroupAzureV3LoadBalancerArrayOutput) ToElastigroupAzureV3LoadBalancerArrayOutput() ElastigroupAzureV3LoadBalancerArrayOutput { + return o +} + +func (o ElastigroupAzureV3LoadBalancerArrayOutput) ToElastigroupAzureV3LoadBalancerArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3LoadBalancerArrayOutput { + return o +} + +func (o ElastigroupAzureV3LoadBalancerArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3LoadBalancerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3LoadBalancer { + return vs[0].([]ElastigroupAzureV3LoadBalancer)[vs[1].(int)] + }).(ElastigroupAzureV3LoadBalancerOutput) +} + +type ElastigroupAzureV3Login struct { + Password *string `pulumi:"password"` + SshPublicKey *string `pulumi:"sshPublicKey"` + UserName string `pulumi:"userName"` +} + +// ElastigroupAzureV3LoginInput is an input type that accepts ElastigroupAzureV3LoginArgs and ElastigroupAzureV3LoginOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3LoginInput` via: +// +// ElastigroupAzureV3LoginArgs{...} +type ElastigroupAzureV3LoginInput interface { + pulumi.Input + + ToElastigroupAzureV3LoginOutput() ElastigroupAzureV3LoginOutput + ToElastigroupAzureV3LoginOutputWithContext(context.Context) ElastigroupAzureV3LoginOutput +} + +type ElastigroupAzureV3LoginArgs struct { + Password pulumi.StringPtrInput `pulumi:"password"` + SshPublicKey pulumi.StringPtrInput `pulumi:"sshPublicKey"` + UserName pulumi.StringInput `pulumi:"userName"` +} + +func (ElastigroupAzureV3LoginArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Login)(nil)).Elem() +} + +func (i ElastigroupAzureV3LoginArgs) ToElastigroupAzureV3LoginOutput() ElastigroupAzureV3LoginOutput { + return i.ToElastigroupAzureV3LoginOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3LoginArgs) ToElastigroupAzureV3LoginOutputWithContext(ctx context.Context) ElastigroupAzureV3LoginOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3LoginOutput) +} + +func (i ElastigroupAzureV3LoginArgs) ToElastigroupAzureV3LoginPtrOutput() ElastigroupAzureV3LoginPtrOutput { + return i.ToElastigroupAzureV3LoginPtrOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3LoginArgs) ToElastigroupAzureV3LoginPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3LoginPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3LoginOutput).ToElastigroupAzureV3LoginPtrOutputWithContext(ctx) +} + +// ElastigroupAzureV3LoginPtrInput is an input type that accepts ElastigroupAzureV3LoginArgs, ElastigroupAzureV3LoginPtr and ElastigroupAzureV3LoginPtrOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3LoginPtrInput` via: +// +// ElastigroupAzureV3LoginArgs{...} +// +// or: +// +// nil +type ElastigroupAzureV3LoginPtrInput interface { + pulumi.Input + + ToElastigroupAzureV3LoginPtrOutput() ElastigroupAzureV3LoginPtrOutput + ToElastigroupAzureV3LoginPtrOutputWithContext(context.Context) ElastigroupAzureV3LoginPtrOutput +} + +type elastigroupAzureV3LoginPtrType ElastigroupAzureV3LoginArgs + +func ElastigroupAzureV3LoginPtr(v *ElastigroupAzureV3LoginArgs) ElastigroupAzureV3LoginPtrInput { + return (*elastigroupAzureV3LoginPtrType)(v) +} + +func (*elastigroupAzureV3LoginPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3Login)(nil)).Elem() +} + +func (i *elastigroupAzureV3LoginPtrType) ToElastigroupAzureV3LoginPtrOutput() ElastigroupAzureV3LoginPtrOutput { + return i.ToElastigroupAzureV3LoginPtrOutputWithContext(context.Background()) +} + +func (i *elastigroupAzureV3LoginPtrType) ToElastigroupAzureV3LoginPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3LoginPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3LoginPtrOutput) +} + +type ElastigroupAzureV3LoginOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3LoginOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Login)(nil)).Elem() +} + +func (o ElastigroupAzureV3LoginOutput) ToElastigroupAzureV3LoginOutput() ElastigroupAzureV3LoginOutput { + return o +} + +func (o ElastigroupAzureV3LoginOutput) ToElastigroupAzureV3LoginOutputWithContext(ctx context.Context) ElastigroupAzureV3LoginOutput { + return o +} + +func (o ElastigroupAzureV3LoginOutput) ToElastigroupAzureV3LoginPtrOutput() ElastigroupAzureV3LoginPtrOutput { + return o.ToElastigroupAzureV3LoginPtrOutputWithContext(context.Background()) +} + +func (o ElastigroupAzureV3LoginOutput) ToElastigroupAzureV3LoginPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3LoginPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupAzureV3Login) *ElastigroupAzureV3Login { + return &v + }).(ElastigroupAzureV3LoginPtrOutput) +} + +func (o ElastigroupAzureV3LoginOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3Login) *string { return v.Password }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3LoginOutput) SshPublicKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3Login) *string { return v.SshPublicKey }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3LoginOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3Login) string { return v.UserName }).(pulumi.StringOutput) +} + +type ElastigroupAzureV3LoginPtrOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3LoginPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3Login)(nil)).Elem() +} + +func (o ElastigroupAzureV3LoginPtrOutput) ToElastigroupAzureV3LoginPtrOutput() ElastigroupAzureV3LoginPtrOutput { + return o +} + +func (o ElastigroupAzureV3LoginPtrOutput) ToElastigroupAzureV3LoginPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3LoginPtrOutput { + return o +} + +func (o ElastigroupAzureV3LoginPtrOutput) Elem() ElastigroupAzureV3LoginOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Login) ElastigroupAzureV3Login { + if v != nil { + return *v + } + var ret ElastigroupAzureV3Login + return ret + }).(ElastigroupAzureV3LoginOutput) +} + +func (o ElastigroupAzureV3LoginPtrOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Login) *string { + if v == nil { + return nil + } + return v.Password + }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3LoginPtrOutput) SshPublicKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Login) *string { + if v == nil { + return nil + } + return v.SshPublicKey + }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3LoginPtrOutput) UserName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Login) *string { + if v == nil { + return nil + } + return &v.UserName + }).(pulumi.StringPtrOutput) +} + +type ElastigroupAzureV3ManagedServiceIdentity struct { + Name string `pulumi:"name"` + ResourceGroupName string `pulumi:"resourceGroupName"` +} + +// ElastigroupAzureV3ManagedServiceIdentityInput is an input type that accepts ElastigroupAzureV3ManagedServiceIdentityArgs and ElastigroupAzureV3ManagedServiceIdentityOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ManagedServiceIdentityInput` via: +// +// ElastigroupAzureV3ManagedServiceIdentityArgs{...} +type ElastigroupAzureV3ManagedServiceIdentityInput interface { + pulumi.Input + + ToElastigroupAzureV3ManagedServiceIdentityOutput() ElastigroupAzureV3ManagedServiceIdentityOutput + ToElastigroupAzureV3ManagedServiceIdentityOutputWithContext(context.Context) ElastigroupAzureV3ManagedServiceIdentityOutput +} + +type ElastigroupAzureV3ManagedServiceIdentityArgs struct { + Name pulumi.StringInput `pulumi:"name"` + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` +} + +func (ElastigroupAzureV3ManagedServiceIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ManagedServiceIdentity)(nil)).Elem() +} + +func (i ElastigroupAzureV3ManagedServiceIdentityArgs) ToElastigroupAzureV3ManagedServiceIdentityOutput() ElastigroupAzureV3ManagedServiceIdentityOutput { + return i.ToElastigroupAzureV3ManagedServiceIdentityOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ManagedServiceIdentityArgs) ToElastigroupAzureV3ManagedServiceIdentityOutputWithContext(ctx context.Context) ElastigroupAzureV3ManagedServiceIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ManagedServiceIdentityOutput) +} + +// ElastigroupAzureV3ManagedServiceIdentityArrayInput is an input type that accepts ElastigroupAzureV3ManagedServiceIdentityArray and ElastigroupAzureV3ManagedServiceIdentityArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ManagedServiceIdentityArrayInput` via: +// +// ElastigroupAzureV3ManagedServiceIdentityArray{ ElastigroupAzureV3ManagedServiceIdentityArgs{...} } +type ElastigroupAzureV3ManagedServiceIdentityArrayInput interface { + pulumi.Input + + ToElastigroupAzureV3ManagedServiceIdentityArrayOutput() ElastigroupAzureV3ManagedServiceIdentityArrayOutput + ToElastigroupAzureV3ManagedServiceIdentityArrayOutputWithContext(context.Context) ElastigroupAzureV3ManagedServiceIdentityArrayOutput +} + +type ElastigroupAzureV3ManagedServiceIdentityArray []ElastigroupAzureV3ManagedServiceIdentityInput + +func (ElastigroupAzureV3ManagedServiceIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ManagedServiceIdentity)(nil)).Elem() +} + +func (i ElastigroupAzureV3ManagedServiceIdentityArray) ToElastigroupAzureV3ManagedServiceIdentityArrayOutput() ElastigroupAzureV3ManagedServiceIdentityArrayOutput { + return i.ToElastigroupAzureV3ManagedServiceIdentityArrayOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ManagedServiceIdentityArray) ToElastigroupAzureV3ManagedServiceIdentityArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ManagedServiceIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ManagedServiceIdentityArrayOutput) +} + +type ElastigroupAzureV3ManagedServiceIdentityOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ManagedServiceIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ManagedServiceIdentity)(nil)).Elem() +} + +func (o ElastigroupAzureV3ManagedServiceIdentityOutput) ToElastigroupAzureV3ManagedServiceIdentityOutput() ElastigroupAzureV3ManagedServiceIdentityOutput { + return o +} + +func (o ElastigroupAzureV3ManagedServiceIdentityOutput) ToElastigroupAzureV3ManagedServiceIdentityOutputWithContext(ctx context.Context) ElastigroupAzureV3ManagedServiceIdentityOutput { + return o +} + +func (o ElastigroupAzureV3ManagedServiceIdentityOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ManagedServiceIdentity) string { return v.Name }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ManagedServiceIdentityOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ManagedServiceIdentity) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +type ElastigroupAzureV3ManagedServiceIdentityArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ManagedServiceIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ManagedServiceIdentity)(nil)).Elem() +} + +func (o ElastigroupAzureV3ManagedServiceIdentityArrayOutput) ToElastigroupAzureV3ManagedServiceIdentityArrayOutput() ElastigroupAzureV3ManagedServiceIdentityArrayOutput { + return o +} + +func (o ElastigroupAzureV3ManagedServiceIdentityArrayOutput) ToElastigroupAzureV3ManagedServiceIdentityArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ManagedServiceIdentityArrayOutput { + return o +} + +func (o ElastigroupAzureV3ManagedServiceIdentityArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ManagedServiceIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ManagedServiceIdentity { + return vs[0].([]ElastigroupAzureV3ManagedServiceIdentity)[vs[1].(int)] + }).(ElastigroupAzureV3ManagedServiceIdentityOutput) +} + +type ElastigroupAzureV3Network struct { + NetworkInterfaces []ElastigroupAzureV3NetworkNetworkInterface `pulumi:"networkInterfaces"` + ResourceGroupName string `pulumi:"resourceGroupName"` + VirtualNetworkName string `pulumi:"virtualNetworkName"` +} + +// ElastigroupAzureV3NetworkInput is an input type that accepts ElastigroupAzureV3NetworkArgs and ElastigroupAzureV3NetworkOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3NetworkInput` via: +// +// ElastigroupAzureV3NetworkArgs{...} +type ElastigroupAzureV3NetworkInput interface { + pulumi.Input + + ToElastigroupAzureV3NetworkOutput() ElastigroupAzureV3NetworkOutput + ToElastigroupAzureV3NetworkOutputWithContext(context.Context) ElastigroupAzureV3NetworkOutput +} + +type ElastigroupAzureV3NetworkArgs struct { + NetworkInterfaces ElastigroupAzureV3NetworkNetworkInterfaceArrayInput `pulumi:"networkInterfaces"` + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` + VirtualNetworkName pulumi.StringInput `pulumi:"virtualNetworkName"` +} + +func (ElastigroupAzureV3NetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Network)(nil)).Elem() +} + +func (i ElastigroupAzureV3NetworkArgs) ToElastigroupAzureV3NetworkOutput() ElastigroupAzureV3NetworkOutput { + return i.ToElastigroupAzureV3NetworkOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3NetworkArgs) ToElastigroupAzureV3NetworkOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkOutput) +} + +func (i ElastigroupAzureV3NetworkArgs) ToElastigroupAzureV3NetworkPtrOutput() ElastigroupAzureV3NetworkPtrOutput { + return i.ToElastigroupAzureV3NetworkPtrOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3NetworkArgs) ToElastigroupAzureV3NetworkPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkOutput).ToElastigroupAzureV3NetworkPtrOutputWithContext(ctx) +} + +// ElastigroupAzureV3NetworkPtrInput is an input type that accepts ElastigroupAzureV3NetworkArgs, ElastigroupAzureV3NetworkPtr and ElastigroupAzureV3NetworkPtrOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3NetworkPtrInput` via: +// +// ElastigroupAzureV3NetworkArgs{...} +// +// or: +// +// nil +type ElastigroupAzureV3NetworkPtrInput interface { + pulumi.Input + + ToElastigroupAzureV3NetworkPtrOutput() ElastigroupAzureV3NetworkPtrOutput + ToElastigroupAzureV3NetworkPtrOutputWithContext(context.Context) ElastigroupAzureV3NetworkPtrOutput +} + +type elastigroupAzureV3NetworkPtrType ElastigroupAzureV3NetworkArgs + +func ElastigroupAzureV3NetworkPtr(v *ElastigroupAzureV3NetworkArgs) ElastigroupAzureV3NetworkPtrInput { + return (*elastigroupAzureV3NetworkPtrType)(v) +} + +func (*elastigroupAzureV3NetworkPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3Network)(nil)).Elem() +} + +func (i *elastigroupAzureV3NetworkPtrType) ToElastigroupAzureV3NetworkPtrOutput() ElastigroupAzureV3NetworkPtrOutput { + return i.ToElastigroupAzureV3NetworkPtrOutputWithContext(context.Background()) +} + +func (i *elastigroupAzureV3NetworkPtrType) ToElastigroupAzureV3NetworkPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkPtrOutput) +} + +type ElastigroupAzureV3NetworkOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3NetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Network)(nil)).Elem() +} + +func (o ElastigroupAzureV3NetworkOutput) ToElastigroupAzureV3NetworkOutput() ElastigroupAzureV3NetworkOutput { + return o +} + +func (o ElastigroupAzureV3NetworkOutput) ToElastigroupAzureV3NetworkOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkOutput { + return o +} + +func (o ElastigroupAzureV3NetworkOutput) ToElastigroupAzureV3NetworkPtrOutput() ElastigroupAzureV3NetworkPtrOutput { + return o.ToElastigroupAzureV3NetworkPtrOutputWithContext(context.Background()) +} + +func (o ElastigroupAzureV3NetworkOutput) ToElastigroupAzureV3NetworkPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupAzureV3Network) *ElastigroupAzureV3Network { + return &v + }).(ElastigroupAzureV3NetworkPtrOutput) +} + +func (o ElastigroupAzureV3NetworkOutput) NetworkInterfaces() ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3Network) []ElastigroupAzureV3NetworkNetworkInterface { + return v.NetworkInterfaces + }).(ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) +} + +func (o ElastigroupAzureV3NetworkOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3Network) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3NetworkOutput) VirtualNetworkName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3Network) string { return v.VirtualNetworkName }).(pulumi.StringOutput) +} + +type ElastigroupAzureV3NetworkPtrOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3NetworkPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3Network)(nil)).Elem() +} + +func (o ElastigroupAzureV3NetworkPtrOutput) ToElastigroupAzureV3NetworkPtrOutput() ElastigroupAzureV3NetworkPtrOutput { + return o +} + +func (o ElastigroupAzureV3NetworkPtrOutput) ToElastigroupAzureV3NetworkPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkPtrOutput { + return o +} + +func (o ElastigroupAzureV3NetworkPtrOutput) Elem() ElastigroupAzureV3NetworkOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Network) ElastigroupAzureV3Network { + if v != nil { + return *v + } + var ret ElastigroupAzureV3Network + return ret + }).(ElastigroupAzureV3NetworkOutput) +} + +func (o ElastigroupAzureV3NetworkPtrOutput) NetworkInterfaces() ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Network) []ElastigroupAzureV3NetworkNetworkInterface { + if v == nil { + return nil + } + return v.NetworkInterfaces + }).(ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) +} + +func (o ElastigroupAzureV3NetworkPtrOutput) ResourceGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Network) *string { + if v == nil { + return nil + } + return &v.ResourceGroupName + }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3NetworkPtrOutput) VirtualNetworkName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Network) *string { + if v == nil { + return nil + } + return &v.VirtualNetworkName + }).(pulumi.StringPtrOutput) } type ElastigroupAzureV3NetworkNetworkInterface struct { AdditionalIpConfigs []ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig `pulumi:"additionalIpConfigs"` ApplicationSecurityGroups []ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup `pulumi:"applicationSecurityGroups"` AssignPublicIp bool `pulumi:"assignPublicIp"` + EnableIpForwarding *bool `pulumi:"enableIpForwarding"` IsPrimary bool `pulumi:"isPrimary"` + PrivateIpAddresses []string `pulumi:"privateIpAddresses"` + PublicIpSku *string `pulumi:"publicIpSku"` + SecurityGroups []ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup `pulumi:"securityGroups"` SubnetName string `pulumi:"subnetName"` } -// ElastigroupAzureV3NetworkNetworkInterfaceInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceArgs and ElastigroupAzureV3NetworkNetworkInterfaceOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceInput` via: +// ElastigroupAzureV3NetworkNetworkInterfaceInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceArgs and ElastigroupAzureV3NetworkNetworkInterfaceOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceInput` via: +// +// ElastigroupAzureV3NetworkNetworkInterfaceArgs{...} +type ElastigroupAzureV3NetworkNetworkInterfaceInput interface { + pulumi.Input + + ToElastigroupAzureV3NetworkNetworkInterfaceOutput() ElastigroupAzureV3NetworkNetworkInterfaceOutput + ToElastigroupAzureV3NetworkNetworkInterfaceOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceOutput +} + +type ElastigroupAzureV3NetworkNetworkInterfaceArgs struct { + AdditionalIpConfigs ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayInput `pulumi:"additionalIpConfigs"` + ApplicationSecurityGroups ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayInput `pulumi:"applicationSecurityGroups"` + AssignPublicIp pulumi.BoolInput `pulumi:"assignPublicIp"` + EnableIpForwarding pulumi.BoolPtrInput `pulumi:"enableIpForwarding"` + IsPrimary pulumi.BoolInput `pulumi:"isPrimary"` + PrivateIpAddresses pulumi.StringArrayInput `pulumi:"privateIpAddresses"` + PublicIpSku pulumi.StringPtrInput `pulumi:"publicIpSku"` + SecurityGroups ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayInput `pulumi:"securityGroups"` + SubnetName pulumi.StringInput `pulumi:"subnetName"` +} + +func (ElastigroupAzureV3NetworkNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterface)(nil)).Elem() +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceArgs) ToElastigroupAzureV3NetworkNetworkInterfaceOutput() ElastigroupAzureV3NetworkNetworkInterfaceOutput { + return i.ToElastigroupAzureV3NetworkNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceArgs) ToElastigroupAzureV3NetworkNetworkInterfaceOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceOutput) +} + +// ElastigroupAzureV3NetworkNetworkInterfaceArrayInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceArray and ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceArrayInput` via: +// +// ElastigroupAzureV3NetworkNetworkInterfaceArray{ ElastigroupAzureV3NetworkNetworkInterfaceArgs{...} } +type ElastigroupAzureV3NetworkNetworkInterfaceArrayInput interface { + pulumi.Input + + ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput + ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput +} + +type ElastigroupAzureV3NetworkNetworkInterfaceArray []ElastigroupAzureV3NetworkNetworkInterfaceInput + +func (ElastigroupAzureV3NetworkNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterface)(nil)).Elem() +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceArray) ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput { + return i.ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceArray) ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) +} + +type ElastigroupAzureV3NetworkNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3NetworkNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterface)(nil)).Elem() +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) ToElastigroupAzureV3NetworkNetworkInterfaceOutput() ElastigroupAzureV3NetworkNetworkInterfaceOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) ToElastigroupAzureV3NetworkNetworkInterfaceOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) AdditionalIpConfigs() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) []ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig { + return v.AdditionalIpConfigs + }).(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput) +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) ApplicationSecurityGroups() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) []ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup { + return v.ApplicationSecurityGroups + }).(ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput) +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) AssignPublicIp() pulumi.BoolOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) bool { return v.AssignPublicIp }).(pulumi.BoolOutput) +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) EnableIpForwarding() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) *bool { return v.EnableIpForwarding }).(pulumi.BoolPtrOutput) +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) IsPrimary() pulumi.BoolOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) bool { return v.IsPrimary }).(pulumi.BoolOutput) +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) PrivateIpAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) []string { return v.PrivateIpAddresses }).(pulumi.StringArrayOutput) +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) PublicIpSku() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) *string { return v.PublicIpSku }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) SecurityGroups() ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) []ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup { + return v.SecurityGroups + }).(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput) +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) SubnetName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) string { return v.SubnetName }).(pulumi.StringOutput) +} + +type ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterface)(nil)).Elem() +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3NetworkNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3NetworkNetworkInterface { + return vs[0].([]ElastigroupAzureV3NetworkNetworkInterface)[vs[1].(int)] + }).(ElastigroupAzureV3NetworkNetworkInterfaceOutput) +} + +type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig struct { + Name string `pulumi:"name"` + PrivateIpVersion *string `pulumi:"privateIpVersion"` +} + +// ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs and ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigInput` via: +// +// ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs{...} +type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigInput interface { + pulumi.Input + + ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput + ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput +} + +type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs struct { + Name pulumi.StringInput `pulumi:"name"` + PrivateIpVersion pulumi.StringPtrInput `pulumi:"privateIpVersion"` +} + +func (ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig)(nil)).Elem() +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput { + return i.ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) +} + +// ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray and ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayInput` via: +// +// ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray{ ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs{...} } +type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayInput interface { + pulumi.Input + + ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput + ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput +} + +type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray []ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigInput + +func (ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig)(nil)).Elem() +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput { + return i.ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput) +} + +type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig)(nil)).Elem() +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig) string { return v.Name }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) PrivateIpVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig) *string { return v.PrivateIpVersion }).(pulumi.StringPtrOutput) +} + +type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig)(nil)).Elem() +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig { + return vs[0].([]ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig)[vs[1].(int)] + }).(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) +} + +type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup struct { + Name string `pulumi:"name"` + ResourceGroupName string `pulumi:"resourceGroupName"` +} + +// ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs and ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupInput` via: +// +// ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs{...} +type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupInput interface { + pulumi.Input + + ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput + ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput +} + +type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs struct { + Name pulumi.StringInput `pulumi:"name"` + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` +} + +func (ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup)(nil)).Elem() +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput { + return i.ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) +} + +// ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray and ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayInput` via: +// +// ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray{ ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs{...} } +type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayInput interface { + pulumi.Input + + ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput + ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput +} + +type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray []ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupInput + +func (ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup)(nil)).Elem() +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput { + return i.ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput) +} + +type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup)(nil)).Elem() +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup) string { + return v.ResourceGroupName + }).(pulumi.StringOutput) +} + +type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup)(nil)).Elem() +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup { + return vs[0].([]ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup)[vs[1].(int)] + }).(ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) +} + +type ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup struct { + Name *string `pulumi:"name"` + ResourceGroupName *string `pulumi:"resourceGroupName"` +} + +// ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs and ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupInput` via: +// +// ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs{...} +type ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupInput interface { + pulumi.Input + + ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput() ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput + ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput +} + +type ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + ResourceGroupName pulumi.StringPtrInput `pulumi:"resourceGroupName"` +} + +func (ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs) ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput() ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput { + return i.ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs) ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput) +} + +// ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArray and ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayInput` via: +// +// ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArray{ ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs{...} } +type ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayInput interface { + pulumi.Input + + ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput + ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput +} + +type ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArray []ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupInput + +func (ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArray) ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput { + return i.ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArray) ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput) +} + +type ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput) ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput() ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput) ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput) ResourceGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup) *string { return v.ResourceGroupName }).(pulumi.StringPtrOutput) +} + +type ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup)(nil)).Elem() +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput { + return o +} + +func (o ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup { + return vs[0].([]ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup)[vs[1].(int)] + }).(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput) +} + +type ElastigroupAzureV3OsDisk struct { + SizeGb *int `pulumi:"sizeGb"` + Type string `pulumi:"type"` +} + +// ElastigroupAzureV3OsDiskInput is an input type that accepts ElastigroupAzureV3OsDiskArgs and ElastigroupAzureV3OsDiskOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3OsDiskInput` via: +// +// ElastigroupAzureV3OsDiskArgs{...} +type ElastigroupAzureV3OsDiskInput interface { + pulumi.Input + + ToElastigroupAzureV3OsDiskOutput() ElastigroupAzureV3OsDiskOutput + ToElastigroupAzureV3OsDiskOutputWithContext(context.Context) ElastigroupAzureV3OsDiskOutput +} + +type ElastigroupAzureV3OsDiskArgs struct { + SizeGb pulumi.IntPtrInput `pulumi:"sizeGb"` + Type pulumi.StringInput `pulumi:"type"` +} + +func (ElastigroupAzureV3OsDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3OsDisk)(nil)).Elem() +} + +func (i ElastigroupAzureV3OsDiskArgs) ToElastigroupAzureV3OsDiskOutput() ElastigroupAzureV3OsDiskOutput { + return i.ToElastigroupAzureV3OsDiskOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3OsDiskArgs) ToElastigroupAzureV3OsDiskOutputWithContext(ctx context.Context) ElastigroupAzureV3OsDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3OsDiskOutput) +} + +func (i ElastigroupAzureV3OsDiskArgs) ToElastigroupAzureV3OsDiskPtrOutput() ElastigroupAzureV3OsDiskPtrOutput { + return i.ToElastigroupAzureV3OsDiskPtrOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3OsDiskArgs) ToElastigroupAzureV3OsDiskPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3OsDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3OsDiskOutput).ToElastigroupAzureV3OsDiskPtrOutputWithContext(ctx) +} + +// ElastigroupAzureV3OsDiskPtrInput is an input type that accepts ElastigroupAzureV3OsDiskArgs, ElastigroupAzureV3OsDiskPtr and ElastigroupAzureV3OsDiskPtrOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3OsDiskPtrInput` via: +// +// ElastigroupAzureV3OsDiskArgs{...} +// +// or: +// +// nil +type ElastigroupAzureV3OsDiskPtrInput interface { + pulumi.Input + + ToElastigroupAzureV3OsDiskPtrOutput() ElastigroupAzureV3OsDiskPtrOutput + ToElastigroupAzureV3OsDiskPtrOutputWithContext(context.Context) ElastigroupAzureV3OsDiskPtrOutput +} + +type elastigroupAzureV3OsDiskPtrType ElastigroupAzureV3OsDiskArgs + +func ElastigroupAzureV3OsDiskPtr(v *ElastigroupAzureV3OsDiskArgs) ElastigroupAzureV3OsDiskPtrInput { + return (*elastigroupAzureV3OsDiskPtrType)(v) +} + +func (*elastigroupAzureV3OsDiskPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3OsDisk)(nil)).Elem() +} + +func (i *elastigroupAzureV3OsDiskPtrType) ToElastigroupAzureV3OsDiskPtrOutput() ElastigroupAzureV3OsDiskPtrOutput { + return i.ToElastigroupAzureV3OsDiskPtrOutputWithContext(context.Background()) +} + +func (i *elastigroupAzureV3OsDiskPtrType) ToElastigroupAzureV3OsDiskPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3OsDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3OsDiskPtrOutput) +} + +type ElastigroupAzureV3OsDiskOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3OsDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3OsDisk)(nil)).Elem() +} + +func (o ElastigroupAzureV3OsDiskOutput) ToElastigroupAzureV3OsDiskOutput() ElastigroupAzureV3OsDiskOutput { + return o +} + +func (o ElastigroupAzureV3OsDiskOutput) ToElastigroupAzureV3OsDiskOutputWithContext(ctx context.Context) ElastigroupAzureV3OsDiskOutput { + return o +} + +func (o ElastigroupAzureV3OsDiskOutput) ToElastigroupAzureV3OsDiskPtrOutput() ElastigroupAzureV3OsDiskPtrOutput { + return o.ToElastigroupAzureV3OsDiskPtrOutputWithContext(context.Background()) +} + +func (o ElastigroupAzureV3OsDiskOutput) ToElastigroupAzureV3OsDiskPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3OsDiskPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupAzureV3OsDisk) *ElastigroupAzureV3OsDisk { + return &v + }).(ElastigroupAzureV3OsDiskPtrOutput) +} + +func (o ElastigroupAzureV3OsDiskOutput) SizeGb() pulumi.IntPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3OsDisk) *int { return v.SizeGb }).(pulumi.IntPtrOutput) +} + +func (o ElastigroupAzureV3OsDiskOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3OsDisk) string { return v.Type }).(pulumi.StringOutput) +} + +type ElastigroupAzureV3OsDiskPtrOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3OsDiskPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3OsDisk)(nil)).Elem() +} + +func (o ElastigroupAzureV3OsDiskPtrOutput) ToElastigroupAzureV3OsDiskPtrOutput() ElastigroupAzureV3OsDiskPtrOutput { + return o +} + +func (o ElastigroupAzureV3OsDiskPtrOutput) ToElastigroupAzureV3OsDiskPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3OsDiskPtrOutput { + return o +} + +func (o ElastigroupAzureV3OsDiskPtrOutput) Elem() ElastigroupAzureV3OsDiskOutput { + return o.ApplyT(func(v *ElastigroupAzureV3OsDisk) ElastigroupAzureV3OsDisk { + if v != nil { + return *v + } + var ret ElastigroupAzureV3OsDisk + return ret + }).(ElastigroupAzureV3OsDiskOutput) +} + +func (o ElastigroupAzureV3OsDiskPtrOutput) SizeGb() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3OsDisk) *int { + if v == nil { + return nil + } + return v.SizeGb + }).(pulumi.IntPtrOutput) +} + +func (o ElastigroupAzureV3OsDiskPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3OsDisk) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +type ElastigroupAzureV3ProximityPlacementGroup struct { + Name string `pulumi:"name"` + ResourceGroupName string `pulumi:"resourceGroupName"` +} + +// ElastigroupAzureV3ProximityPlacementGroupInput is an input type that accepts ElastigroupAzureV3ProximityPlacementGroupArgs and ElastigroupAzureV3ProximityPlacementGroupOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ProximityPlacementGroupInput` via: +// +// ElastigroupAzureV3ProximityPlacementGroupArgs{...} +type ElastigroupAzureV3ProximityPlacementGroupInput interface { + pulumi.Input + + ToElastigroupAzureV3ProximityPlacementGroupOutput() ElastigroupAzureV3ProximityPlacementGroupOutput + ToElastigroupAzureV3ProximityPlacementGroupOutputWithContext(context.Context) ElastigroupAzureV3ProximityPlacementGroupOutput +} + +type ElastigroupAzureV3ProximityPlacementGroupArgs struct { + Name pulumi.StringInput `pulumi:"name"` + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` +} + +func (ElastigroupAzureV3ProximityPlacementGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ProximityPlacementGroup)(nil)).Elem() +} + +func (i ElastigroupAzureV3ProximityPlacementGroupArgs) ToElastigroupAzureV3ProximityPlacementGroupOutput() ElastigroupAzureV3ProximityPlacementGroupOutput { + return i.ToElastigroupAzureV3ProximityPlacementGroupOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ProximityPlacementGroupArgs) ToElastigroupAzureV3ProximityPlacementGroupOutputWithContext(ctx context.Context) ElastigroupAzureV3ProximityPlacementGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ProximityPlacementGroupOutput) +} + +// ElastigroupAzureV3ProximityPlacementGroupArrayInput is an input type that accepts ElastigroupAzureV3ProximityPlacementGroupArray and ElastigroupAzureV3ProximityPlacementGroupArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ProximityPlacementGroupArrayInput` via: +// +// ElastigroupAzureV3ProximityPlacementGroupArray{ ElastigroupAzureV3ProximityPlacementGroupArgs{...} } +type ElastigroupAzureV3ProximityPlacementGroupArrayInput interface { + pulumi.Input + + ToElastigroupAzureV3ProximityPlacementGroupArrayOutput() ElastigroupAzureV3ProximityPlacementGroupArrayOutput + ToElastigroupAzureV3ProximityPlacementGroupArrayOutputWithContext(context.Context) ElastigroupAzureV3ProximityPlacementGroupArrayOutput +} + +type ElastigroupAzureV3ProximityPlacementGroupArray []ElastigroupAzureV3ProximityPlacementGroupInput + +func (ElastigroupAzureV3ProximityPlacementGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ProximityPlacementGroup)(nil)).Elem() +} + +func (i ElastigroupAzureV3ProximityPlacementGroupArray) ToElastigroupAzureV3ProximityPlacementGroupArrayOutput() ElastigroupAzureV3ProximityPlacementGroupArrayOutput { + return i.ToElastigroupAzureV3ProximityPlacementGroupArrayOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ProximityPlacementGroupArray) ToElastigroupAzureV3ProximityPlacementGroupArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ProximityPlacementGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ProximityPlacementGroupArrayOutput) +} + +type ElastigroupAzureV3ProximityPlacementGroupOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ProximityPlacementGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ProximityPlacementGroup)(nil)).Elem() +} + +func (o ElastigroupAzureV3ProximityPlacementGroupOutput) ToElastigroupAzureV3ProximityPlacementGroupOutput() ElastigroupAzureV3ProximityPlacementGroupOutput { + return o +} + +func (o ElastigroupAzureV3ProximityPlacementGroupOutput) ToElastigroupAzureV3ProximityPlacementGroupOutputWithContext(ctx context.Context) ElastigroupAzureV3ProximityPlacementGroupOutput { + return o +} + +func (o ElastigroupAzureV3ProximityPlacementGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ProximityPlacementGroup) string { return v.Name }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ProximityPlacementGroupOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ProximityPlacementGroup) string { return v.ResourceGroupName }).(pulumi.StringOutput) +} + +type ElastigroupAzureV3ProximityPlacementGroupArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ProximityPlacementGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ProximityPlacementGroup)(nil)).Elem() +} + +func (o ElastigroupAzureV3ProximityPlacementGroupArrayOutput) ToElastigroupAzureV3ProximityPlacementGroupArrayOutput() ElastigroupAzureV3ProximityPlacementGroupArrayOutput { + return o +} + +func (o ElastigroupAzureV3ProximityPlacementGroupArrayOutput) ToElastigroupAzureV3ProximityPlacementGroupArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ProximityPlacementGroupArrayOutput { + return o +} + +func (o ElastigroupAzureV3ProximityPlacementGroupArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ProximityPlacementGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ProximityPlacementGroup { + return vs[0].([]ElastigroupAzureV3ProximityPlacementGroup)[vs[1].(int)] + }).(ElastigroupAzureV3ProximityPlacementGroupOutput) +} + +type ElastigroupAzureV3RevertToSpot struct { + PerformAt string `pulumi:"performAt"` +} + +// ElastigroupAzureV3RevertToSpotInput is an input type that accepts ElastigroupAzureV3RevertToSpotArgs and ElastigroupAzureV3RevertToSpotOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3RevertToSpotInput` via: +// +// ElastigroupAzureV3RevertToSpotArgs{...} +type ElastigroupAzureV3RevertToSpotInput interface { + pulumi.Input + + ToElastigroupAzureV3RevertToSpotOutput() ElastigroupAzureV3RevertToSpotOutput + ToElastigroupAzureV3RevertToSpotOutputWithContext(context.Context) ElastigroupAzureV3RevertToSpotOutput +} + +type ElastigroupAzureV3RevertToSpotArgs struct { + PerformAt pulumi.StringInput `pulumi:"performAt"` +} + +func (ElastigroupAzureV3RevertToSpotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3RevertToSpot)(nil)).Elem() +} + +func (i ElastigroupAzureV3RevertToSpotArgs) ToElastigroupAzureV3RevertToSpotOutput() ElastigroupAzureV3RevertToSpotOutput { + return i.ToElastigroupAzureV3RevertToSpotOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3RevertToSpotArgs) ToElastigroupAzureV3RevertToSpotOutputWithContext(ctx context.Context) ElastigroupAzureV3RevertToSpotOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3RevertToSpotOutput) +} + +func (i ElastigroupAzureV3RevertToSpotArgs) ToElastigroupAzureV3RevertToSpotPtrOutput() ElastigroupAzureV3RevertToSpotPtrOutput { + return i.ToElastigroupAzureV3RevertToSpotPtrOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3RevertToSpotArgs) ToElastigroupAzureV3RevertToSpotPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3RevertToSpotPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3RevertToSpotOutput).ToElastigroupAzureV3RevertToSpotPtrOutputWithContext(ctx) +} + +// ElastigroupAzureV3RevertToSpotPtrInput is an input type that accepts ElastigroupAzureV3RevertToSpotArgs, ElastigroupAzureV3RevertToSpotPtr and ElastigroupAzureV3RevertToSpotPtrOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3RevertToSpotPtrInput` via: +// +// ElastigroupAzureV3RevertToSpotArgs{...} +// +// or: +// +// nil +type ElastigroupAzureV3RevertToSpotPtrInput interface { + pulumi.Input + + ToElastigroupAzureV3RevertToSpotPtrOutput() ElastigroupAzureV3RevertToSpotPtrOutput + ToElastigroupAzureV3RevertToSpotPtrOutputWithContext(context.Context) ElastigroupAzureV3RevertToSpotPtrOutput +} + +type elastigroupAzureV3RevertToSpotPtrType ElastigroupAzureV3RevertToSpotArgs + +func ElastigroupAzureV3RevertToSpotPtr(v *ElastigroupAzureV3RevertToSpotArgs) ElastigroupAzureV3RevertToSpotPtrInput { + return (*elastigroupAzureV3RevertToSpotPtrType)(v) +} + +func (*elastigroupAzureV3RevertToSpotPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3RevertToSpot)(nil)).Elem() +} + +func (i *elastigroupAzureV3RevertToSpotPtrType) ToElastigroupAzureV3RevertToSpotPtrOutput() ElastigroupAzureV3RevertToSpotPtrOutput { + return i.ToElastigroupAzureV3RevertToSpotPtrOutputWithContext(context.Background()) +} + +func (i *elastigroupAzureV3RevertToSpotPtrType) ToElastigroupAzureV3RevertToSpotPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3RevertToSpotPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3RevertToSpotPtrOutput) +} + +type ElastigroupAzureV3RevertToSpotOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3RevertToSpotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3RevertToSpot)(nil)).Elem() +} + +func (o ElastigroupAzureV3RevertToSpotOutput) ToElastigroupAzureV3RevertToSpotOutput() ElastigroupAzureV3RevertToSpotOutput { + return o +} + +func (o ElastigroupAzureV3RevertToSpotOutput) ToElastigroupAzureV3RevertToSpotOutputWithContext(ctx context.Context) ElastigroupAzureV3RevertToSpotOutput { + return o +} + +func (o ElastigroupAzureV3RevertToSpotOutput) ToElastigroupAzureV3RevertToSpotPtrOutput() ElastigroupAzureV3RevertToSpotPtrOutput { + return o.ToElastigroupAzureV3RevertToSpotPtrOutputWithContext(context.Background()) +} + +func (o ElastigroupAzureV3RevertToSpotOutput) ToElastigroupAzureV3RevertToSpotPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3RevertToSpotPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupAzureV3RevertToSpot) *ElastigroupAzureV3RevertToSpot { + return &v + }).(ElastigroupAzureV3RevertToSpotPtrOutput) +} + +func (o ElastigroupAzureV3RevertToSpotOutput) PerformAt() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3RevertToSpot) string { return v.PerformAt }).(pulumi.StringOutput) +} + +type ElastigroupAzureV3RevertToSpotPtrOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3RevertToSpotPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3RevertToSpot)(nil)).Elem() +} + +func (o ElastigroupAzureV3RevertToSpotPtrOutput) ToElastigroupAzureV3RevertToSpotPtrOutput() ElastigroupAzureV3RevertToSpotPtrOutput { + return o +} + +func (o ElastigroupAzureV3RevertToSpotPtrOutput) ToElastigroupAzureV3RevertToSpotPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3RevertToSpotPtrOutput { + return o +} + +func (o ElastigroupAzureV3RevertToSpotPtrOutput) Elem() ElastigroupAzureV3RevertToSpotOutput { + return o.ApplyT(func(v *ElastigroupAzureV3RevertToSpot) ElastigroupAzureV3RevertToSpot { + if v != nil { + return *v + } + var ret ElastigroupAzureV3RevertToSpot + return ret + }).(ElastigroupAzureV3RevertToSpotOutput) +} + +func (o ElastigroupAzureV3RevertToSpotPtrOutput) PerformAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3RevertToSpot) *string { + if v == nil { + return nil + } + return &v.PerformAt + }).(pulumi.StringPtrOutput) +} + +type ElastigroupAzureV3ScalingDownPolicy struct { + Action ElastigroupAzureV3ScalingDownPolicyAction `pulumi:"action"` + Cooldown int `pulumi:"cooldown"` + Dimensions []ElastigroupAzureV3ScalingDownPolicyDimension `pulumi:"dimensions"` + EvaluationPeriods int `pulumi:"evaluationPeriods"` + IsEnabled *bool `pulumi:"isEnabled"` + MetricName string `pulumi:"metricName"` + Namespace string `pulumi:"namespace"` + Operator string `pulumi:"operator"` + Period int `pulumi:"period"` + PolicyName string `pulumi:"policyName"` + Source *string `pulumi:"source"` + Statistic string `pulumi:"statistic"` + Threshold float64 `pulumi:"threshold"` + Unit *string `pulumi:"unit"` +} + +// ElastigroupAzureV3ScalingDownPolicyInput is an input type that accepts ElastigroupAzureV3ScalingDownPolicyArgs and ElastigroupAzureV3ScalingDownPolicyOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ScalingDownPolicyInput` via: +// +// ElastigroupAzureV3ScalingDownPolicyArgs{...} +type ElastigroupAzureV3ScalingDownPolicyInput interface { + pulumi.Input + + ToElastigroupAzureV3ScalingDownPolicyOutput() ElastigroupAzureV3ScalingDownPolicyOutput + ToElastigroupAzureV3ScalingDownPolicyOutputWithContext(context.Context) ElastigroupAzureV3ScalingDownPolicyOutput +} + +type ElastigroupAzureV3ScalingDownPolicyArgs struct { + Action ElastigroupAzureV3ScalingDownPolicyActionInput `pulumi:"action"` + Cooldown pulumi.IntInput `pulumi:"cooldown"` + Dimensions ElastigroupAzureV3ScalingDownPolicyDimensionArrayInput `pulumi:"dimensions"` + EvaluationPeriods pulumi.IntInput `pulumi:"evaluationPeriods"` + IsEnabled pulumi.BoolPtrInput `pulumi:"isEnabled"` + MetricName pulumi.StringInput `pulumi:"metricName"` + Namespace pulumi.StringInput `pulumi:"namespace"` + Operator pulumi.StringInput `pulumi:"operator"` + Period pulumi.IntInput `pulumi:"period"` + PolicyName pulumi.StringInput `pulumi:"policyName"` + Source pulumi.StringPtrInput `pulumi:"source"` + Statistic pulumi.StringInput `pulumi:"statistic"` + Threshold pulumi.Float64Input `pulumi:"threshold"` + Unit pulumi.StringPtrInput `pulumi:"unit"` +} + +func (ElastigroupAzureV3ScalingDownPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicy)(nil)).Elem() +} + +func (i ElastigroupAzureV3ScalingDownPolicyArgs) ToElastigroupAzureV3ScalingDownPolicyOutput() ElastigroupAzureV3ScalingDownPolicyOutput { + return i.ToElastigroupAzureV3ScalingDownPolicyOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ScalingDownPolicyArgs) ToElastigroupAzureV3ScalingDownPolicyOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingDownPolicyOutput) +} + +// ElastigroupAzureV3ScalingDownPolicyArrayInput is an input type that accepts ElastigroupAzureV3ScalingDownPolicyArray and ElastigroupAzureV3ScalingDownPolicyArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ScalingDownPolicyArrayInput` via: +// +// ElastigroupAzureV3ScalingDownPolicyArray{ ElastigroupAzureV3ScalingDownPolicyArgs{...} } +type ElastigroupAzureV3ScalingDownPolicyArrayInput interface { + pulumi.Input + + ToElastigroupAzureV3ScalingDownPolicyArrayOutput() ElastigroupAzureV3ScalingDownPolicyArrayOutput + ToElastigroupAzureV3ScalingDownPolicyArrayOutputWithContext(context.Context) ElastigroupAzureV3ScalingDownPolicyArrayOutput +} + +type ElastigroupAzureV3ScalingDownPolicyArray []ElastigroupAzureV3ScalingDownPolicyInput + +func (ElastigroupAzureV3ScalingDownPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ScalingDownPolicy)(nil)).Elem() +} + +func (i ElastigroupAzureV3ScalingDownPolicyArray) ToElastigroupAzureV3ScalingDownPolicyArrayOutput() ElastigroupAzureV3ScalingDownPolicyArrayOutput { + return i.ToElastigroupAzureV3ScalingDownPolicyArrayOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ScalingDownPolicyArray) ToElastigroupAzureV3ScalingDownPolicyArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingDownPolicyArrayOutput) +} + +type ElastigroupAzureV3ScalingDownPolicyOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ScalingDownPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicy)(nil)).Elem() +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) ToElastigroupAzureV3ScalingDownPolicyOutput() ElastigroupAzureV3ScalingDownPolicyOutput { + return o +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) ToElastigroupAzureV3ScalingDownPolicyOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyOutput { + return o +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) Action() ElastigroupAzureV3ScalingDownPolicyActionOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) ElastigroupAzureV3ScalingDownPolicyAction { return v.Action }).(ElastigroupAzureV3ScalingDownPolicyActionOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) Cooldown() pulumi.IntOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) int { return v.Cooldown }).(pulumi.IntOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) Dimensions() ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) []ElastigroupAzureV3ScalingDownPolicyDimension { + return v.Dimensions + }).(ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) EvaluationPeriods() pulumi.IntOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) int { return v.EvaluationPeriods }).(pulumi.IntOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) IsEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) *bool { return v.IsEnabled }).(pulumi.BoolPtrOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) MetricName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) string { return v.MetricName }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) Namespace() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) string { return v.Namespace }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) string { return v.Operator }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) Period() pulumi.IntOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) int { return v.Period }).(pulumi.IntOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) PolicyName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) string { return v.PolicyName }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) Statistic() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) string { return v.Statistic }).(pulumi.StringOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) Threshold() pulumi.Float64Output { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) float64 { return v.Threshold }).(pulumi.Float64Output) +} + +func (o ElastigroupAzureV3ScalingDownPolicyOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) *string { return v.Unit }).(pulumi.StringPtrOutput) +} + +type ElastigroupAzureV3ScalingDownPolicyArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ScalingDownPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ScalingDownPolicy)(nil)).Elem() +} + +func (o ElastigroupAzureV3ScalingDownPolicyArrayOutput) ToElastigroupAzureV3ScalingDownPolicyArrayOutput() ElastigroupAzureV3ScalingDownPolicyArrayOutput { + return o +} + +func (o ElastigroupAzureV3ScalingDownPolicyArrayOutput) ToElastigroupAzureV3ScalingDownPolicyArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyArrayOutput { + return o +} + +func (o ElastigroupAzureV3ScalingDownPolicyArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ScalingDownPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ScalingDownPolicy { + return vs[0].([]ElastigroupAzureV3ScalingDownPolicy)[vs[1].(int)] + }).(ElastigroupAzureV3ScalingDownPolicyOutput) +} + +type ElastigroupAzureV3ScalingDownPolicyAction struct { + Adjustment *string `pulumi:"adjustment"` + Maximum *string `pulumi:"maximum"` + Minimum *string `pulumi:"minimum"` + Target *string `pulumi:"target"` + Type *string `pulumi:"type"` +} + +// ElastigroupAzureV3ScalingDownPolicyActionInput is an input type that accepts ElastigroupAzureV3ScalingDownPolicyActionArgs and ElastigroupAzureV3ScalingDownPolicyActionOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ScalingDownPolicyActionInput` via: // -// ElastigroupAzureV3NetworkNetworkInterfaceArgs{...} -type ElastigroupAzureV3NetworkNetworkInterfaceInput interface { +// ElastigroupAzureV3ScalingDownPolicyActionArgs{...} +type ElastigroupAzureV3ScalingDownPolicyActionInput interface { pulumi.Input - ToElastigroupAzureV3NetworkNetworkInterfaceOutput() ElastigroupAzureV3NetworkNetworkInterfaceOutput - ToElastigroupAzureV3NetworkNetworkInterfaceOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceOutput + ToElastigroupAzureV3ScalingDownPolicyActionOutput() ElastigroupAzureV3ScalingDownPolicyActionOutput + ToElastigroupAzureV3ScalingDownPolicyActionOutputWithContext(context.Context) ElastigroupAzureV3ScalingDownPolicyActionOutput } -type ElastigroupAzureV3NetworkNetworkInterfaceArgs struct { - AdditionalIpConfigs ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayInput `pulumi:"additionalIpConfigs"` - ApplicationSecurityGroups ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayInput `pulumi:"applicationSecurityGroups"` - AssignPublicIp pulumi.BoolInput `pulumi:"assignPublicIp"` - IsPrimary pulumi.BoolInput `pulumi:"isPrimary"` - SubnetName pulumi.StringInput `pulumi:"subnetName"` +type ElastigroupAzureV3ScalingDownPolicyActionArgs struct { + Adjustment pulumi.StringPtrInput `pulumi:"adjustment"` + Maximum pulumi.StringPtrInput `pulumi:"maximum"` + Minimum pulumi.StringPtrInput `pulumi:"minimum"` + Target pulumi.StringPtrInput `pulumi:"target"` + Type pulumi.StringPtrInput `pulumi:"type"` } -func (ElastigroupAzureV3NetworkNetworkInterfaceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterface)(nil)).Elem() +func (ElastigroupAzureV3ScalingDownPolicyActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicyAction)(nil)).Elem() } -func (i ElastigroupAzureV3NetworkNetworkInterfaceArgs) ToElastigroupAzureV3NetworkNetworkInterfaceOutput() ElastigroupAzureV3NetworkNetworkInterfaceOutput { - return i.ToElastigroupAzureV3NetworkNetworkInterfaceOutputWithContext(context.Background()) +func (i ElastigroupAzureV3ScalingDownPolicyActionArgs) ToElastigroupAzureV3ScalingDownPolicyActionOutput() ElastigroupAzureV3ScalingDownPolicyActionOutput { + return i.ToElastigroupAzureV3ScalingDownPolicyActionOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3NetworkNetworkInterfaceArgs) ToElastigroupAzureV3NetworkNetworkInterfaceOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceOutput) +func (i ElastigroupAzureV3ScalingDownPolicyActionArgs) ToElastigroupAzureV3ScalingDownPolicyActionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingDownPolicyActionOutput) } -// ElastigroupAzureV3NetworkNetworkInterfaceArrayInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceArray and ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceArrayInput` via: +type ElastigroupAzureV3ScalingDownPolicyActionOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ScalingDownPolicyActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicyAction)(nil)).Elem() +} + +func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) ToElastigroupAzureV3ScalingDownPolicyActionOutput() ElastigroupAzureV3ScalingDownPolicyActionOutput { + return o +} + +func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) ToElastigroupAzureV3ScalingDownPolicyActionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyActionOutput { + return o +} + +func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) Adjustment() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyAction) *string { return v.Adjustment }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) Maximum() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyAction) *string { return v.Maximum }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) Minimum() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyAction) *string { return v.Minimum }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) Target() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyAction) *string { return v.Target }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyAction) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type ElastigroupAzureV3ScalingDownPolicyDimension struct { + Name *string `pulumi:"name"` + Value *string `pulumi:"value"` +} + +// ElastigroupAzureV3ScalingDownPolicyDimensionInput is an input type that accepts ElastigroupAzureV3ScalingDownPolicyDimensionArgs and ElastigroupAzureV3ScalingDownPolicyDimensionOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ScalingDownPolicyDimensionInput` via: // -// ElastigroupAzureV3NetworkNetworkInterfaceArray{ ElastigroupAzureV3NetworkNetworkInterfaceArgs{...} } -type ElastigroupAzureV3NetworkNetworkInterfaceArrayInput interface { +// ElastigroupAzureV3ScalingDownPolicyDimensionArgs{...} +type ElastigroupAzureV3ScalingDownPolicyDimensionInput interface { pulumi.Input - ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput - ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput + ToElastigroupAzureV3ScalingDownPolicyDimensionOutput() ElastigroupAzureV3ScalingDownPolicyDimensionOutput + ToElastigroupAzureV3ScalingDownPolicyDimensionOutputWithContext(context.Context) ElastigroupAzureV3ScalingDownPolicyDimensionOutput } -type ElastigroupAzureV3NetworkNetworkInterfaceArray []ElastigroupAzureV3NetworkNetworkInterfaceInput +type ElastigroupAzureV3ScalingDownPolicyDimensionArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + Value pulumi.StringPtrInput `pulumi:"value"` +} -func (ElastigroupAzureV3NetworkNetworkInterfaceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterface)(nil)).Elem() +func (ElastigroupAzureV3ScalingDownPolicyDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicyDimension)(nil)).Elem() +} + +func (i ElastigroupAzureV3ScalingDownPolicyDimensionArgs) ToElastigroupAzureV3ScalingDownPolicyDimensionOutput() ElastigroupAzureV3ScalingDownPolicyDimensionOutput { + return i.ToElastigroupAzureV3ScalingDownPolicyDimensionOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ScalingDownPolicyDimensionArgs) ToElastigroupAzureV3ScalingDownPolicyDimensionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingDownPolicyDimensionOutput) +} + +// ElastigroupAzureV3ScalingDownPolicyDimensionArrayInput is an input type that accepts ElastigroupAzureV3ScalingDownPolicyDimensionArray and ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ScalingDownPolicyDimensionArrayInput` via: +// +// ElastigroupAzureV3ScalingDownPolicyDimensionArray{ ElastigroupAzureV3ScalingDownPolicyDimensionArgs{...} } +type ElastigroupAzureV3ScalingDownPolicyDimensionArrayInput interface { + pulumi.Input + + ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput() ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput + ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutputWithContext(context.Context) ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput +} + +type ElastigroupAzureV3ScalingDownPolicyDimensionArray []ElastigroupAzureV3ScalingDownPolicyDimensionInput + +func (ElastigroupAzureV3ScalingDownPolicyDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ScalingDownPolicyDimension)(nil)).Elem() +} + +func (i ElastigroupAzureV3ScalingDownPolicyDimensionArray) ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput() ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput { + return i.ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ScalingDownPolicyDimensionArray) ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput) +} + +type ElastigroupAzureV3ScalingDownPolicyDimensionOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ScalingDownPolicyDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicyDimension)(nil)).Elem() +} + +func (o ElastigroupAzureV3ScalingDownPolicyDimensionOutput) ToElastigroupAzureV3ScalingDownPolicyDimensionOutput() ElastigroupAzureV3ScalingDownPolicyDimensionOutput { + return o +} + +func (o ElastigroupAzureV3ScalingDownPolicyDimensionOutput) ToElastigroupAzureV3ScalingDownPolicyDimensionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyDimensionOutput { + return o +} + +func (o ElastigroupAzureV3ScalingDownPolicyDimensionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyDimension) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3ScalingDownPolicyDimensionOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyDimension) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ScalingDownPolicyDimension)(nil)).Elem() +} + +func (o ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput) ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput() ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput { + return o +} + +func (o ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput) ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput { + return o +} + +func (o ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ScalingDownPolicyDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ScalingDownPolicyDimension { + return vs[0].([]ElastigroupAzureV3ScalingDownPolicyDimension)[vs[1].(int)] + }).(ElastigroupAzureV3ScalingDownPolicyDimensionOutput) +} + +type ElastigroupAzureV3ScalingUpPolicy struct { + Action ElastigroupAzureV3ScalingUpPolicyAction `pulumi:"action"` + Cooldown int `pulumi:"cooldown"` + Dimensions []ElastigroupAzureV3ScalingUpPolicyDimension `pulumi:"dimensions"` + EvaluationPeriods int `pulumi:"evaluationPeriods"` + IsEnabled *bool `pulumi:"isEnabled"` + MetricName string `pulumi:"metricName"` + Namespace string `pulumi:"namespace"` + Operator string `pulumi:"operator"` + Period int `pulumi:"period"` + PolicyName string `pulumi:"policyName"` + Source *string `pulumi:"source"` + Statistic string `pulumi:"statistic"` + Threshold float64 `pulumi:"threshold"` + Unit *string `pulumi:"unit"` +} + +// ElastigroupAzureV3ScalingUpPolicyInput is an input type that accepts ElastigroupAzureV3ScalingUpPolicyArgs and ElastigroupAzureV3ScalingUpPolicyOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ScalingUpPolicyInput` via: +// +// ElastigroupAzureV3ScalingUpPolicyArgs{...} +type ElastigroupAzureV3ScalingUpPolicyInput interface { + pulumi.Input + + ToElastigroupAzureV3ScalingUpPolicyOutput() ElastigroupAzureV3ScalingUpPolicyOutput + ToElastigroupAzureV3ScalingUpPolicyOutputWithContext(context.Context) ElastigroupAzureV3ScalingUpPolicyOutput +} + +type ElastigroupAzureV3ScalingUpPolicyArgs struct { + Action ElastigroupAzureV3ScalingUpPolicyActionInput `pulumi:"action"` + Cooldown pulumi.IntInput `pulumi:"cooldown"` + Dimensions ElastigroupAzureV3ScalingUpPolicyDimensionArrayInput `pulumi:"dimensions"` + EvaluationPeriods pulumi.IntInput `pulumi:"evaluationPeriods"` + IsEnabled pulumi.BoolPtrInput `pulumi:"isEnabled"` + MetricName pulumi.StringInput `pulumi:"metricName"` + Namespace pulumi.StringInput `pulumi:"namespace"` + Operator pulumi.StringInput `pulumi:"operator"` + Period pulumi.IntInput `pulumi:"period"` + PolicyName pulumi.StringInput `pulumi:"policyName"` + Source pulumi.StringPtrInput `pulumi:"source"` + Statistic pulumi.StringInput `pulumi:"statistic"` + Threshold pulumi.Float64Input `pulumi:"threshold"` + Unit pulumi.StringPtrInput `pulumi:"unit"` +} + +func (ElastigroupAzureV3ScalingUpPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicy)(nil)).Elem() +} + +func (i ElastigroupAzureV3ScalingUpPolicyArgs) ToElastigroupAzureV3ScalingUpPolicyOutput() ElastigroupAzureV3ScalingUpPolicyOutput { + return i.ToElastigroupAzureV3ScalingUpPolicyOutputWithContext(context.Background()) +} + +func (i ElastigroupAzureV3ScalingUpPolicyArgs) ToElastigroupAzureV3ScalingUpPolicyOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingUpPolicyOutput) +} + +// ElastigroupAzureV3ScalingUpPolicyArrayInput is an input type that accepts ElastigroupAzureV3ScalingUpPolicyArray and ElastigroupAzureV3ScalingUpPolicyArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ScalingUpPolicyArrayInput` via: +// +// ElastigroupAzureV3ScalingUpPolicyArray{ ElastigroupAzureV3ScalingUpPolicyArgs{...} } +type ElastigroupAzureV3ScalingUpPolicyArrayInput interface { + pulumi.Input + + ToElastigroupAzureV3ScalingUpPolicyArrayOutput() ElastigroupAzureV3ScalingUpPolicyArrayOutput + ToElastigroupAzureV3ScalingUpPolicyArrayOutputWithContext(context.Context) ElastigroupAzureV3ScalingUpPolicyArrayOutput +} + +type ElastigroupAzureV3ScalingUpPolicyArray []ElastigroupAzureV3ScalingUpPolicyInput + +func (ElastigroupAzureV3ScalingUpPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ScalingUpPolicy)(nil)).Elem() } -func (i ElastigroupAzureV3NetworkNetworkInterfaceArray) ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput { - return i.ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutputWithContext(context.Background()) +func (i ElastigroupAzureV3ScalingUpPolicyArray) ToElastigroupAzureV3ScalingUpPolicyArrayOutput() ElastigroupAzureV3ScalingUpPolicyArrayOutput { + return i.ToElastigroupAzureV3ScalingUpPolicyArrayOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3NetworkNetworkInterfaceArray) ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) +func (i ElastigroupAzureV3ScalingUpPolicyArray) ToElastigroupAzureV3ScalingUpPolicyArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingUpPolicyArrayOutput) } -type ElastigroupAzureV3NetworkNetworkInterfaceOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3ScalingUpPolicyOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3NetworkNetworkInterfaceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterface)(nil)).Elem() +func (ElastigroupAzureV3ScalingUpPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicy)(nil)).Elem() } -func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) ToElastigroupAzureV3NetworkNetworkInterfaceOutput() ElastigroupAzureV3NetworkNetworkInterfaceOutput { +func (o ElastigroupAzureV3ScalingUpPolicyOutput) ToElastigroupAzureV3ScalingUpPolicyOutput() ElastigroupAzureV3ScalingUpPolicyOutput { return o } -func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) ToElastigroupAzureV3NetworkNetworkInterfaceOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceOutput { +func (o ElastigroupAzureV3ScalingUpPolicyOutput) ToElastigroupAzureV3ScalingUpPolicyOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyOutput { return o } -func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) AdditionalIpConfigs() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput { - return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) []ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig { - return v.AdditionalIpConfigs - }).(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput) +func (o ElastigroupAzureV3ScalingUpPolicyOutput) Action() ElastigroupAzureV3ScalingUpPolicyActionOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) ElastigroupAzureV3ScalingUpPolicyAction { return v.Action }).(ElastigroupAzureV3ScalingUpPolicyActionOutput) } -func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) ApplicationSecurityGroups() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput { - return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) []ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup { - return v.ApplicationSecurityGroups - }).(ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput) +func (o ElastigroupAzureV3ScalingUpPolicyOutput) Cooldown() pulumi.IntOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) int { return v.Cooldown }).(pulumi.IntOutput) } -func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) AssignPublicIp() pulumi.BoolOutput { - return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) bool { return v.AssignPublicIp }).(pulumi.BoolOutput) +func (o ElastigroupAzureV3ScalingUpPolicyOutput) Dimensions() ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) []ElastigroupAzureV3ScalingUpPolicyDimension { + return v.Dimensions + }).(ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput) } -func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) IsPrimary() pulumi.BoolOutput { - return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) bool { return v.IsPrimary }).(pulumi.BoolOutput) +func (o ElastigroupAzureV3ScalingUpPolicyOutput) EvaluationPeriods() pulumi.IntOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) int { return v.EvaluationPeriods }).(pulumi.IntOutput) } -func (o ElastigroupAzureV3NetworkNetworkInterfaceOutput) SubnetName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterface) string { return v.SubnetName }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ScalingUpPolicyOutput) IsEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) *bool { return v.IsEnabled }).(pulumi.BoolPtrOutput) } -type ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } +func (o ElastigroupAzureV3ScalingUpPolicyOutput) MetricName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) string { return v.MetricName }).(pulumi.StringOutput) +} -func (ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterface)(nil)).Elem() +func (o ElastigroupAzureV3ScalingUpPolicyOutput) Namespace() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) string { return v.Namespace }).(pulumi.StringOutput) } -func (o ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput { - return o +func (o ElastigroupAzureV3ScalingUpPolicyOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) string { return v.Operator }).(pulumi.StringOutput) } -func (o ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput { - return o +func (o ElastigroupAzureV3ScalingUpPolicyOutput) Period() pulumi.IntOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) int { return v.Period }).(pulumi.IntOutput) } -func (o ElastigroupAzureV3NetworkNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3NetworkNetworkInterfaceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3NetworkNetworkInterface { - return vs[0].([]ElastigroupAzureV3NetworkNetworkInterface)[vs[1].(int)] - }).(ElastigroupAzureV3NetworkNetworkInterfaceOutput) +func (o ElastigroupAzureV3ScalingUpPolicyOutput) PolicyName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) string { return v.PolicyName }).(pulumi.StringOutput) } -type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig struct { - Name string `pulumi:"name"` - PrivateIpVersion *string `pulumi:"privateIpVersion"` +func (o ElastigroupAzureV3ScalingUpPolicyOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) *string { return v.Source }).(pulumi.StringPtrOutput) } -// ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs and ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigInput` via: -// -// ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs{...} -type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigInput interface { - pulumi.Input +func (o ElastigroupAzureV3ScalingUpPolicyOutput) Statistic() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) string { return v.Statistic }).(pulumi.StringOutput) +} - ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput - ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput +func (o ElastigroupAzureV3ScalingUpPolicyOutput) Threshold() pulumi.Float64Output { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) float64 { return v.Threshold }).(pulumi.Float64Output) } -type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs struct { - Name pulumi.StringInput `pulumi:"name"` - PrivateIpVersion pulumi.StringPtrInput `pulumi:"privateIpVersion"` +func (o ElastigroupAzureV3ScalingUpPolicyOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) *string { return v.Unit }).(pulumi.StringPtrOutput) } -func (ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig)(nil)).Elem() +type ElastigroupAzureV3ScalingUpPolicyArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3ScalingUpPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ScalingUpPolicy)(nil)).Elem() } -func (i ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput { - return i.ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutputWithContext(context.Background()) +func (o ElastigroupAzureV3ScalingUpPolicyArrayOutput) ToElastigroupAzureV3ScalingUpPolicyArrayOutput() ElastigroupAzureV3ScalingUpPolicyArrayOutput { + return o } -func (i ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) +func (o ElastigroupAzureV3ScalingUpPolicyArrayOutput) ToElastigroupAzureV3ScalingUpPolicyArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyArrayOutput { + return o } -// ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray and ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayInput` via: +func (o ElastigroupAzureV3ScalingUpPolicyArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ScalingUpPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ScalingUpPolicy { + return vs[0].([]ElastigroupAzureV3ScalingUpPolicy)[vs[1].(int)] + }).(ElastigroupAzureV3ScalingUpPolicyOutput) +} + +type ElastigroupAzureV3ScalingUpPolicyAction struct { + Adjustment *string `pulumi:"adjustment"` + Maximum *string `pulumi:"maximum"` + Minimum *string `pulumi:"minimum"` + Target *string `pulumi:"target"` + Type *string `pulumi:"type"` +} + +// ElastigroupAzureV3ScalingUpPolicyActionInput is an input type that accepts ElastigroupAzureV3ScalingUpPolicyActionArgs and ElastigroupAzureV3ScalingUpPolicyActionOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ScalingUpPolicyActionInput` via: // -// ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray{ ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs{...} } -type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayInput interface { +// ElastigroupAzureV3ScalingUpPolicyActionArgs{...} +type ElastigroupAzureV3ScalingUpPolicyActionInput interface { pulumi.Input - ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput - ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput + ToElastigroupAzureV3ScalingUpPolicyActionOutput() ElastigroupAzureV3ScalingUpPolicyActionOutput + ToElastigroupAzureV3ScalingUpPolicyActionOutputWithContext(context.Context) ElastigroupAzureV3ScalingUpPolicyActionOutput } -type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray []ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigInput +type ElastigroupAzureV3ScalingUpPolicyActionArgs struct { + Adjustment pulumi.StringPtrInput `pulumi:"adjustment"` + Maximum pulumi.StringPtrInput `pulumi:"maximum"` + Minimum pulumi.StringPtrInput `pulumi:"minimum"` + Target pulumi.StringPtrInput `pulumi:"target"` + Type pulumi.StringPtrInput `pulumi:"type"` +} -func (ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig)(nil)).Elem() +func (ElastigroupAzureV3ScalingUpPolicyActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicyAction)(nil)).Elem() } -func (i ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput { - return i.ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutputWithContext(context.Background()) +func (i ElastigroupAzureV3ScalingUpPolicyActionArgs) ToElastigroupAzureV3ScalingUpPolicyActionOutput() ElastigroupAzureV3ScalingUpPolicyActionOutput { + return i.ToElastigroupAzureV3ScalingUpPolicyActionOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput) +func (i ElastigroupAzureV3ScalingUpPolicyActionArgs) ToElastigroupAzureV3ScalingUpPolicyActionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingUpPolicyActionOutput) } -type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3ScalingUpPolicyActionOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig)(nil)).Elem() +func (ElastigroupAzureV3ScalingUpPolicyActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicyAction)(nil)).Elem() } -func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput { +func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) ToElastigroupAzureV3ScalingUpPolicyActionOutput() ElastigroupAzureV3ScalingUpPolicyActionOutput { return o } -func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput { +func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) ToElastigroupAzureV3ScalingUpPolicyActionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyActionOutput { return o } -func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig) string { return v.Name }).(pulumi.StringOutput) -} - -func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) PrivateIpVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig) *string { return v.PrivateIpVersion }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) Adjustment() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyAction) *string { return v.Adjustment }).(pulumi.StringPtrOutput) } -type ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput struct{ *pulumi.OutputState } - -func (ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig)(nil)).Elem() +func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) Maximum() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyAction) *string { return v.Maximum }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput { - return o +func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) Minimum() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyAction) *string { return v.Minimum }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput { - return o +func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) Target() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyAction) *string { return v.Target }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig { - return vs[0].([]ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig)[vs[1].(int)] - }).(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigOutput) +func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyAction) *string { return v.Type }).(pulumi.StringPtrOutput) } -type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup struct { - Name string `pulumi:"name"` - ResourceGroupName string `pulumi:"resourceGroupName"` +type ElastigroupAzureV3ScalingUpPolicyDimension struct { + Name *string `pulumi:"name"` + Value *string `pulumi:"value"` } -// ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs and ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupInput` via: +// ElastigroupAzureV3ScalingUpPolicyDimensionInput is an input type that accepts ElastigroupAzureV3ScalingUpPolicyDimensionArgs and ElastigroupAzureV3ScalingUpPolicyDimensionOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ScalingUpPolicyDimensionInput` via: // -// ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs{...} -type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupInput interface { +// ElastigroupAzureV3ScalingUpPolicyDimensionArgs{...} +type ElastigroupAzureV3ScalingUpPolicyDimensionInput interface { pulumi.Input - ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput - ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput + ToElastigroupAzureV3ScalingUpPolicyDimensionOutput() ElastigroupAzureV3ScalingUpPolicyDimensionOutput + ToElastigroupAzureV3ScalingUpPolicyDimensionOutputWithContext(context.Context) ElastigroupAzureV3ScalingUpPolicyDimensionOutput } -type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs struct { - Name pulumi.StringInput `pulumi:"name"` - ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` +type ElastigroupAzureV3ScalingUpPolicyDimensionArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + Value pulumi.StringPtrInput `pulumi:"value"` } -func (ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup)(nil)).Elem() +func (ElastigroupAzureV3ScalingUpPolicyDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicyDimension)(nil)).Elem() } -func (i ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput { - return i.ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutputWithContext(context.Background()) +func (i ElastigroupAzureV3ScalingUpPolicyDimensionArgs) ToElastigroupAzureV3ScalingUpPolicyDimensionOutput() ElastigroupAzureV3ScalingUpPolicyDimensionOutput { + return i.ToElastigroupAzureV3ScalingUpPolicyDimensionOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) +func (i ElastigroupAzureV3ScalingUpPolicyDimensionArgs) ToElastigroupAzureV3ScalingUpPolicyDimensionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingUpPolicyDimensionOutput) } -// ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayInput is an input type that accepts ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray and ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayInput` via: +// ElastigroupAzureV3ScalingUpPolicyDimensionArrayInput is an input type that accepts ElastigroupAzureV3ScalingUpPolicyDimensionArray and ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3ScalingUpPolicyDimensionArrayInput` via: // -// ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray{ ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs{...} } -type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayInput interface { +// ElastigroupAzureV3ScalingUpPolicyDimensionArray{ ElastigroupAzureV3ScalingUpPolicyDimensionArgs{...} } +type ElastigroupAzureV3ScalingUpPolicyDimensionArrayInput interface { pulumi.Input - ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput - ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutputWithContext(context.Context) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput + ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput() ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput + ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutputWithContext(context.Context) ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput } -type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray []ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupInput +type ElastigroupAzureV3ScalingUpPolicyDimensionArray []ElastigroupAzureV3ScalingUpPolicyDimensionInput -func (ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup)(nil)).Elem() +func (ElastigroupAzureV3ScalingUpPolicyDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ScalingUpPolicyDimension)(nil)).Elem() } -func (i ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput { - return i.ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutputWithContext(context.Background()) +func (i ElastigroupAzureV3ScalingUpPolicyDimensionArray) ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput() ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput { + return i.ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput) +func (i ElastigroupAzureV3ScalingUpPolicyDimensionArray) ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput) } -type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3ScalingUpPolicyDimensionOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup)(nil)).Elem() +func (ElastigroupAzureV3ScalingUpPolicyDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicyDimension)(nil)).Elem() } -func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput { +func (o ElastigroupAzureV3ScalingUpPolicyDimensionOutput) ToElastigroupAzureV3ScalingUpPolicyDimensionOutput() ElastigroupAzureV3ScalingUpPolicyDimensionOutput { return o } -func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput { +func (o ElastigroupAzureV3ScalingUpPolicyDimensionOutput) ToElastigroupAzureV3ScalingUpPolicyDimensionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyDimensionOutput { return o } -func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ScalingUpPolicyDimensionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyDimension) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) ResourceGroupName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup) string { - return v.ResourceGroupName - }).(pulumi.StringOutput) +func (o ElastigroupAzureV3ScalingUpPolicyDimensionOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyDimension) *string { return v.Value }).(pulumi.StringPtrOutput) } -type ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup)(nil)).Elem() +func (ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3ScalingUpPolicyDimension)(nil)).Elem() } -func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput() ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput { +func (o ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput) ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput() ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput { return o } -func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput) ToElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput { +func (o ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput) ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput { return o } -func (o ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup { - return vs[0].([]ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup)[vs[1].(int)] - }).(ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput) +func (o ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ScalingUpPolicyDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ScalingUpPolicyDimension { + return vs[0].([]ElastigroupAzureV3ScalingUpPolicyDimension)[vs[1].(int)] + }).(ElastigroupAzureV3ScalingUpPolicyDimensionOutput) } -type ElastigroupAzureV3ScalingDownPolicy struct { - Action ElastigroupAzureV3ScalingDownPolicyAction `pulumi:"action"` - Cooldown int `pulumi:"cooldown"` - Dimensions []ElastigroupAzureV3ScalingDownPolicyDimension `pulumi:"dimensions"` - EvaluationPeriods int `pulumi:"evaluationPeriods"` - IsEnabled *bool `pulumi:"isEnabled"` - MetricName string `pulumi:"metricName"` - Namespace string `pulumi:"namespace"` - Operator string `pulumi:"operator"` - Period int `pulumi:"period"` - PolicyName string `pulumi:"policyName"` - Source *string `pulumi:"source"` - Statistic string `pulumi:"statistic"` - Threshold float64 `pulumi:"threshold"` - Unit *string `pulumi:"unit"` +type ElastigroupAzureV3SchedulingTask struct { + Adjustment *string `pulumi:"adjustment"` + AdjustmentPercentage *string `pulumi:"adjustmentPercentage"` + BatchSizePercentage *string `pulumi:"batchSizePercentage"` + CronExpression string `pulumi:"cronExpression"` + GracePeriod *string `pulumi:"gracePeriod"` + IsEnabled bool `pulumi:"isEnabled"` + ScaleMaxCapacity *string `pulumi:"scaleMaxCapacity"` + ScaleMinCapacity *string `pulumi:"scaleMinCapacity"` + ScaleTargetCapacity *string `pulumi:"scaleTargetCapacity"` + Type string `pulumi:"type"` } -// ElastigroupAzureV3ScalingDownPolicyInput is an input type that accepts ElastigroupAzureV3ScalingDownPolicyArgs and ElastigroupAzureV3ScalingDownPolicyOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ScalingDownPolicyInput` via: +// ElastigroupAzureV3SchedulingTaskInput is an input type that accepts ElastigroupAzureV3SchedulingTaskArgs and ElastigroupAzureV3SchedulingTaskOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3SchedulingTaskInput` via: // -// ElastigroupAzureV3ScalingDownPolicyArgs{...} -type ElastigroupAzureV3ScalingDownPolicyInput interface { +// ElastigroupAzureV3SchedulingTaskArgs{...} +type ElastigroupAzureV3SchedulingTaskInput interface { pulumi.Input - ToElastigroupAzureV3ScalingDownPolicyOutput() ElastigroupAzureV3ScalingDownPolicyOutput - ToElastigroupAzureV3ScalingDownPolicyOutputWithContext(context.Context) ElastigroupAzureV3ScalingDownPolicyOutput + ToElastigroupAzureV3SchedulingTaskOutput() ElastigroupAzureV3SchedulingTaskOutput + ToElastigroupAzureV3SchedulingTaskOutputWithContext(context.Context) ElastigroupAzureV3SchedulingTaskOutput } -type ElastigroupAzureV3ScalingDownPolicyArgs struct { - Action ElastigroupAzureV3ScalingDownPolicyActionInput `pulumi:"action"` - Cooldown pulumi.IntInput `pulumi:"cooldown"` - Dimensions ElastigroupAzureV3ScalingDownPolicyDimensionArrayInput `pulumi:"dimensions"` - EvaluationPeriods pulumi.IntInput `pulumi:"evaluationPeriods"` - IsEnabled pulumi.BoolPtrInput `pulumi:"isEnabled"` - MetricName pulumi.StringInput `pulumi:"metricName"` - Namespace pulumi.StringInput `pulumi:"namespace"` - Operator pulumi.StringInput `pulumi:"operator"` - Period pulumi.IntInput `pulumi:"period"` - PolicyName pulumi.StringInput `pulumi:"policyName"` - Source pulumi.StringPtrInput `pulumi:"source"` - Statistic pulumi.StringInput `pulumi:"statistic"` - Threshold pulumi.Float64Input `pulumi:"threshold"` - Unit pulumi.StringPtrInput `pulumi:"unit"` +type ElastigroupAzureV3SchedulingTaskArgs struct { + Adjustment pulumi.StringPtrInput `pulumi:"adjustment"` + AdjustmentPercentage pulumi.StringPtrInput `pulumi:"adjustmentPercentage"` + BatchSizePercentage pulumi.StringPtrInput `pulumi:"batchSizePercentage"` + CronExpression pulumi.StringInput `pulumi:"cronExpression"` + GracePeriod pulumi.StringPtrInput `pulumi:"gracePeriod"` + IsEnabled pulumi.BoolInput `pulumi:"isEnabled"` + ScaleMaxCapacity pulumi.StringPtrInput `pulumi:"scaleMaxCapacity"` + ScaleMinCapacity pulumi.StringPtrInput `pulumi:"scaleMinCapacity"` + ScaleTargetCapacity pulumi.StringPtrInput `pulumi:"scaleTargetCapacity"` + Type pulumi.StringInput `pulumi:"type"` } -func (ElastigroupAzureV3ScalingDownPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicy)(nil)).Elem() +func (ElastigroupAzureV3SchedulingTaskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3SchedulingTask)(nil)).Elem() } -func (i ElastigroupAzureV3ScalingDownPolicyArgs) ToElastigroupAzureV3ScalingDownPolicyOutput() ElastigroupAzureV3ScalingDownPolicyOutput { - return i.ToElastigroupAzureV3ScalingDownPolicyOutputWithContext(context.Background()) +func (i ElastigroupAzureV3SchedulingTaskArgs) ToElastigroupAzureV3SchedulingTaskOutput() ElastigroupAzureV3SchedulingTaskOutput { + return i.ToElastigroupAzureV3SchedulingTaskOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ScalingDownPolicyArgs) ToElastigroupAzureV3ScalingDownPolicyOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingDownPolicyOutput) +func (i ElastigroupAzureV3SchedulingTaskArgs) ToElastigroupAzureV3SchedulingTaskOutputWithContext(ctx context.Context) ElastigroupAzureV3SchedulingTaskOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SchedulingTaskOutput) } -// ElastigroupAzureV3ScalingDownPolicyArrayInput is an input type that accepts ElastigroupAzureV3ScalingDownPolicyArray and ElastigroupAzureV3ScalingDownPolicyArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ScalingDownPolicyArrayInput` via: +// ElastigroupAzureV3SchedulingTaskArrayInput is an input type that accepts ElastigroupAzureV3SchedulingTaskArray and ElastigroupAzureV3SchedulingTaskArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3SchedulingTaskArrayInput` via: // -// ElastigroupAzureV3ScalingDownPolicyArray{ ElastigroupAzureV3ScalingDownPolicyArgs{...} } -type ElastigroupAzureV3ScalingDownPolicyArrayInput interface { +// ElastigroupAzureV3SchedulingTaskArray{ ElastigroupAzureV3SchedulingTaskArgs{...} } +type ElastigroupAzureV3SchedulingTaskArrayInput interface { pulumi.Input - ToElastigroupAzureV3ScalingDownPolicyArrayOutput() ElastigroupAzureV3ScalingDownPolicyArrayOutput - ToElastigroupAzureV3ScalingDownPolicyArrayOutputWithContext(context.Context) ElastigroupAzureV3ScalingDownPolicyArrayOutput + ToElastigroupAzureV3SchedulingTaskArrayOutput() ElastigroupAzureV3SchedulingTaskArrayOutput + ToElastigroupAzureV3SchedulingTaskArrayOutputWithContext(context.Context) ElastigroupAzureV3SchedulingTaskArrayOutput } -type ElastigroupAzureV3ScalingDownPolicyArray []ElastigroupAzureV3ScalingDownPolicyInput +type ElastigroupAzureV3SchedulingTaskArray []ElastigroupAzureV3SchedulingTaskInput -func (ElastigroupAzureV3ScalingDownPolicyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ScalingDownPolicy)(nil)).Elem() +func (ElastigroupAzureV3SchedulingTaskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3SchedulingTask)(nil)).Elem() } -func (i ElastigroupAzureV3ScalingDownPolicyArray) ToElastigroupAzureV3ScalingDownPolicyArrayOutput() ElastigroupAzureV3ScalingDownPolicyArrayOutput { - return i.ToElastigroupAzureV3ScalingDownPolicyArrayOutputWithContext(context.Background()) +func (i ElastigroupAzureV3SchedulingTaskArray) ToElastigroupAzureV3SchedulingTaskArrayOutput() ElastigroupAzureV3SchedulingTaskArrayOutput { + return i.ToElastigroupAzureV3SchedulingTaskArrayOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ScalingDownPolicyArray) ToElastigroupAzureV3ScalingDownPolicyArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingDownPolicyArrayOutput) +func (i ElastigroupAzureV3SchedulingTaskArray) ToElastigroupAzureV3SchedulingTaskArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3SchedulingTaskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SchedulingTaskArrayOutput) } -type ElastigroupAzureV3ScalingDownPolicyOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3SchedulingTaskOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ScalingDownPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicy)(nil)).Elem() +func (ElastigroupAzureV3SchedulingTaskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3SchedulingTask)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) ToElastigroupAzureV3ScalingDownPolicyOutput() ElastigroupAzureV3ScalingDownPolicyOutput { +func (o ElastigroupAzureV3SchedulingTaskOutput) ToElastigroupAzureV3SchedulingTaskOutput() ElastigroupAzureV3SchedulingTaskOutput { return o } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) ToElastigroupAzureV3ScalingDownPolicyOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyOutput { +func (o ElastigroupAzureV3SchedulingTaskOutput) ToElastigroupAzureV3SchedulingTaskOutputWithContext(ctx context.Context) ElastigroupAzureV3SchedulingTaskOutput { return o } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) Action() ElastigroupAzureV3ScalingDownPolicyActionOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) ElastigroupAzureV3ScalingDownPolicyAction { return v.Action }).(ElastigroupAzureV3ScalingDownPolicyActionOutput) +func (o ElastigroupAzureV3SchedulingTaskOutput) Adjustment() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3SchedulingTask) *string { return v.Adjustment }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) Cooldown() pulumi.IntOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) int { return v.Cooldown }).(pulumi.IntOutput) +func (o ElastigroupAzureV3SchedulingTaskOutput) AdjustmentPercentage() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3SchedulingTask) *string { return v.AdjustmentPercentage }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) Dimensions() ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) []ElastigroupAzureV3ScalingDownPolicyDimension { - return v.Dimensions - }).(ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput) +func (o ElastigroupAzureV3SchedulingTaskOutput) BatchSizePercentage() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3SchedulingTask) *string { return v.BatchSizePercentage }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) EvaluationPeriods() pulumi.IntOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) int { return v.EvaluationPeriods }).(pulumi.IntOutput) +func (o ElastigroupAzureV3SchedulingTaskOutput) CronExpression() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3SchedulingTask) string { return v.CronExpression }).(pulumi.StringOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) IsEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) *bool { return v.IsEnabled }).(pulumi.BoolPtrOutput) +func (o ElastigroupAzureV3SchedulingTaskOutput) GracePeriod() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3SchedulingTask) *string { return v.GracePeriod }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) MetricName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) string { return v.MetricName }).(pulumi.StringOutput) +func (o ElastigroupAzureV3SchedulingTaskOutput) IsEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v ElastigroupAzureV3SchedulingTask) bool { return v.IsEnabled }).(pulumi.BoolOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) Namespace() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) string { return v.Namespace }).(pulumi.StringOutput) +func (o ElastigroupAzureV3SchedulingTaskOutput) ScaleMaxCapacity() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3SchedulingTask) *string { return v.ScaleMaxCapacity }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) Operator() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) string { return v.Operator }).(pulumi.StringOutput) +func (o ElastigroupAzureV3SchedulingTaskOutput) ScaleMinCapacity() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3SchedulingTask) *string { return v.ScaleMinCapacity }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) Period() pulumi.IntOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) int { return v.Period }).(pulumi.IntOutput) +func (o ElastigroupAzureV3SchedulingTaskOutput) ScaleTargetCapacity() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3SchedulingTask) *string { return v.ScaleTargetCapacity }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) PolicyName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) string { return v.PolicyName }).(pulumi.StringOutput) +func (o ElastigroupAzureV3SchedulingTaskOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3SchedulingTask) string { return v.Type }).(pulumi.StringOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) Source() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) *string { return v.Source }).(pulumi.StringPtrOutput) +type ElastigroupAzureV3SchedulingTaskArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3SchedulingTaskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3SchedulingTask)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) Statistic() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) string { return v.Statistic }).(pulumi.StringOutput) +func (o ElastigroupAzureV3SchedulingTaskArrayOutput) ToElastigroupAzureV3SchedulingTaskArrayOutput() ElastigroupAzureV3SchedulingTaskArrayOutput { + return o } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) Threshold() pulumi.Float64Output { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) float64 { return v.Threshold }).(pulumi.Float64Output) +func (o ElastigroupAzureV3SchedulingTaskArrayOutput) ToElastigroupAzureV3SchedulingTaskArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3SchedulingTaskArrayOutput { + return o } -func (o ElastigroupAzureV3ScalingDownPolicyOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicy) *string { return v.Unit }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SchedulingTaskArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3SchedulingTaskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3SchedulingTask { + return vs[0].([]ElastigroupAzureV3SchedulingTask)[vs[1].(int)] + }).(ElastigroupAzureV3SchedulingTaskOutput) } -type ElastigroupAzureV3ScalingDownPolicyArrayOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3Secret struct { + SourceVaults []ElastigroupAzureV3SecretSourceVault `pulumi:"sourceVaults"` + VaultCertificates []ElastigroupAzureV3SecretVaultCertificate `pulumi:"vaultCertificates"` +} -func (ElastigroupAzureV3ScalingDownPolicyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ScalingDownPolicy)(nil)).Elem() +// ElastigroupAzureV3SecretInput is an input type that accepts ElastigroupAzureV3SecretArgs and ElastigroupAzureV3SecretOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3SecretInput` via: +// +// ElastigroupAzureV3SecretArgs{...} +type ElastigroupAzureV3SecretInput interface { + pulumi.Input + + ToElastigroupAzureV3SecretOutput() ElastigroupAzureV3SecretOutput + ToElastigroupAzureV3SecretOutputWithContext(context.Context) ElastigroupAzureV3SecretOutput } -func (o ElastigroupAzureV3ScalingDownPolicyArrayOutput) ToElastigroupAzureV3ScalingDownPolicyArrayOutput() ElastigroupAzureV3ScalingDownPolicyArrayOutput { - return o +type ElastigroupAzureV3SecretArgs struct { + SourceVaults ElastigroupAzureV3SecretSourceVaultArrayInput `pulumi:"sourceVaults"` + VaultCertificates ElastigroupAzureV3SecretVaultCertificateArrayInput `pulumi:"vaultCertificates"` } -func (o ElastigroupAzureV3ScalingDownPolicyArrayOutput) ToElastigroupAzureV3ScalingDownPolicyArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyArrayOutput { - return o +func (ElastigroupAzureV3SecretArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Secret)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingDownPolicyArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ScalingDownPolicyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ScalingDownPolicy { - return vs[0].([]ElastigroupAzureV3ScalingDownPolicy)[vs[1].(int)] - }).(ElastigroupAzureV3ScalingDownPolicyOutput) +func (i ElastigroupAzureV3SecretArgs) ToElastigroupAzureV3SecretOutput() ElastigroupAzureV3SecretOutput { + return i.ToElastigroupAzureV3SecretOutputWithContext(context.Background()) } -type ElastigroupAzureV3ScalingDownPolicyAction struct { - Adjustment *string `pulumi:"adjustment"` - Maximum *string `pulumi:"maximum"` - Minimum *string `pulumi:"minimum"` - Target *string `pulumi:"target"` - Type *string `pulumi:"type"` +func (i ElastigroupAzureV3SecretArgs) ToElastigroupAzureV3SecretOutputWithContext(ctx context.Context) ElastigroupAzureV3SecretOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SecretOutput) } -// ElastigroupAzureV3ScalingDownPolicyActionInput is an input type that accepts ElastigroupAzureV3ScalingDownPolicyActionArgs and ElastigroupAzureV3ScalingDownPolicyActionOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ScalingDownPolicyActionInput` via: +// ElastigroupAzureV3SecretArrayInput is an input type that accepts ElastigroupAzureV3SecretArray and ElastigroupAzureV3SecretArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3SecretArrayInput` via: // -// ElastigroupAzureV3ScalingDownPolicyActionArgs{...} -type ElastigroupAzureV3ScalingDownPolicyActionInput interface { +// ElastigroupAzureV3SecretArray{ ElastigroupAzureV3SecretArgs{...} } +type ElastigroupAzureV3SecretArrayInput interface { pulumi.Input - ToElastigroupAzureV3ScalingDownPolicyActionOutput() ElastigroupAzureV3ScalingDownPolicyActionOutput - ToElastigroupAzureV3ScalingDownPolicyActionOutputWithContext(context.Context) ElastigroupAzureV3ScalingDownPolicyActionOutput + ToElastigroupAzureV3SecretArrayOutput() ElastigroupAzureV3SecretArrayOutput + ToElastigroupAzureV3SecretArrayOutputWithContext(context.Context) ElastigroupAzureV3SecretArrayOutput } -type ElastigroupAzureV3ScalingDownPolicyActionArgs struct { - Adjustment pulumi.StringPtrInput `pulumi:"adjustment"` - Maximum pulumi.StringPtrInput `pulumi:"maximum"` - Minimum pulumi.StringPtrInput `pulumi:"minimum"` - Target pulumi.StringPtrInput `pulumi:"target"` - Type pulumi.StringPtrInput `pulumi:"type"` -} +type ElastigroupAzureV3SecretArray []ElastigroupAzureV3SecretInput -func (ElastigroupAzureV3ScalingDownPolicyActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicyAction)(nil)).Elem() +func (ElastigroupAzureV3SecretArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3Secret)(nil)).Elem() } -func (i ElastigroupAzureV3ScalingDownPolicyActionArgs) ToElastigroupAzureV3ScalingDownPolicyActionOutput() ElastigroupAzureV3ScalingDownPolicyActionOutput { - return i.ToElastigroupAzureV3ScalingDownPolicyActionOutputWithContext(context.Background()) +func (i ElastigroupAzureV3SecretArray) ToElastigroupAzureV3SecretArrayOutput() ElastigroupAzureV3SecretArrayOutput { + return i.ToElastigroupAzureV3SecretArrayOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ScalingDownPolicyActionArgs) ToElastigroupAzureV3ScalingDownPolicyActionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingDownPolicyActionOutput) +func (i ElastigroupAzureV3SecretArray) ToElastigroupAzureV3SecretArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3SecretArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SecretArrayOutput) } -type ElastigroupAzureV3ScalingDownPolicyActionOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3SecretOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ScalingDownPolicyActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicyAction)(nil)).Elem() +func (ElastigroupAzureV3SecretOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Secret)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) ToElastigroupAzureV3ScalingDownPolicyActionOutput() ElastigroupAzureV3ScalingDownPolicyActionOutput { +func (o ElastigroupAzureV3SecretOutput) ToElastigroupAzureV3SecretOutput() ElastigroupAzureV3SecretOutput { return o } -func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) ToElastigroupAzureV3ScalingDownPolicyActionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyActionOutput { +func (o ElastigroupAzureV3SecretOutput) ToElastigroupAzureV3SecretOutputWithContext(ctx context.Context) ElastigroupAzureV3SecretOutput { return o } -func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) Adjustment() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyAction) *string { return v.Adjustment }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SecretOutput) SourceVaults() ElastigroupAzureV3SecretSourceVaultArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3Secret) []ElastigroupAzureV3SecretSourceVault { return v.SourceVaults }).(ElastigroupAzureV3SecretSourceVaultArrayOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) Maximum() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyAction) *string { return v.Maximum }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SecretOutput) VaultCertificates() ElastigroupAzureV3SecretVaultCertificateArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3Secret) []ElastigroupAzureV3SecretVaultCertificate { + return v.VaultCertificates + }).(ElastigroupAzureV3SecretVaultCertificateArrayOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) Minimum() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyAction) *string { return v.Minimum }).(pulumi.StringPtrOutput) +type ElastigroupAzureV3SecretArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3SecretArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3Secret)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) Target() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyAction) *string { return v.Target }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SecretArrayOutput) ToElastigroupAzureV3SecretArrayOutput() ElastigroupAzureV3SecretArrayOutput { + return o } -func (o ElastigroupAzureV3ScalingDownPolicyActionOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyAction) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SecretArrayOutput) ToElastigroupAzureV3SecretArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3SecretArrayOutput { + return o } -type ElastigroupAzureV3ScalingDownPolicyDimension struct { - Name *string `pulumi:"name"` - Value *string `pulumi:"value"` +func (o ElastigroupAzureV3SecretArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3SecretOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3Secret { + return vs[0].([]ElastigroupAzureV3Secret)[vs[1].(int)] + }).(ElastigroupAzureV3SecretOutput) } -// ElastigroupAzureV3ScalingDownPolicyDimensionInput is an input type that accepts ElastigroupAzureV3ScalingDownPolicyDimensionArgs and ElastigroupAzureV3ScalingDownPolicyDimensionOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ScalingDownPolicyDimensionInput` via: +type ElastigroupAzureV3SecretSourceVault struct { + Name string `pulumi:"name"` + ResourceGroupName string `pulumi:"resourceGroupName"` +} + +// ElastigroupAzureV3SecretSourceVaultInput is an input type that accepts ElastigroupAzureV3SecretSourceVaultArgs and ElastigroupAzureV3SecretSourceVaultOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3SecretSourceVaultInput` via: // -// ElastigroupAzureV3ScalingDownPolicyDimensionArgs{...} -type ElastigroupAzureV3ScalingDownPolicyDimensionInput interface { +// ElastigroupAzureV3SecretSourceVaultArgs{...} +type ElastigroupAzureV3SecretSourceVaultInput interface { pulumi.Input - ToElastigroupAzureV3ScalingDownPolicyDimensionOutput() ElastigroupAzureV3ScalingDownPolicyDimensionOutput - ToElastigroupAzureV3ScalingDownPolicyDimensionOutputWithContext(context.Context) ElastigroupAzureV3ScalingDownPolicyDimensionOutput + ToElastigroupAzureV3SecretSourceVaultOutput() ElastigroupAzureV3SecretSourceVaultOutput + ToElastigroupAzureV3SecretSourceVaultOutputWithContext(context.Context) ElastigroupAzureV3SecretSourceVaultOutput } -type ElastigroupAzureV3ScalingDownPolicyDimensionArgs struct { - Name pulumi.StringPtrInput `pulumi:"name"` - Value pulumi.StringPtrInput `pulumi:"value"` +type ElastigroupAzureV3SecretSourceVaultArgs struct { + Name pulumi.StringInput `pulumi:"name"` + ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"` } -func (ElastigroupAzureV3ScalingDownPolicyDimensionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicyDimension)(nil)).Elem() +func (ElastigroupAzureV3SecretSourceVaultArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3SecretSourceVault)(nil)).Elem() } -func (i ElastigroupAzureV3ScalingDownPolicyDimensionArgs) ToElastigroupAzureV3ScalingDownPolicyDimensionOutput() ElastigroupAzureV3ScalingDownPolicyDimensionOutput { - return i.ToElastigroupAzureV3ScalingDownPolicyDimensionOutputWithContext(context.Background()) +func (i ElastigroupAzureV3SecretSourceVaultArgs) ToElastigroupAzureV3SecretSourceVaultOutput() ElastigroupAzureV3SecretSourceVaultOutput { + return i.ToElastigroupAzureV3SecretSourceVaultOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ScalingDownPolicyDimensionArgs) ToElastigroupAzureV3ScalingDownPolicyDimensionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyDimensionOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingDownPolicyDimensionOutput) +func (i ElastigroupAzureV3SecretSourceVaultArgs) ToElastigroupAzureV3SecretSourceVaultOutputWithContext(ctx context.Context) ElastigroupAzureV3SecretSourceVaultOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SecretSourceVaultOutput) } -// ElastigroupAzureV3ScalingDownPolicyDimensionArrayInput is an input type that accepts ElastigroupAzureV3ScalingDownPolicyDimensionArray and ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ScalingDownPolicyDimensionArrayInput` via: +// ElastigroupAzureV3SecretSourceVaultArrayInput is an input type that accepts ElastigroupAzureV3SecretSourceVaultArray and ElastigroupAzureV3SecretSourceVaultArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3SecretSourceVaultArrayInput` via: // -// ElastigroupAzureV3ScalingDownPolicyDimensionArray{ ElastigroupAzureV3ScalingDownPolicyDimensionArgs{...} } -type ElastigroupAzureV3ScalingDownPolicyDimensionArrayInput interface { +// ElastigroupAzureV3SecretSourceVaultArray{ ElastigroupAzureV3SecretSourceVaultArgs{...} } +type ElastigroupAzureV3SecretSourceVaultArrayInput interface { pulumi.Input - ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput() ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput - ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutputWithContext(context.Context) ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput + ToElastigroupAzureV3SecretSourceVaultArrayOutput() ElastigroupAzureV3SecretSourceVaultArrayOutput + ToElastigroupAzureV3SecretSourceVaultArrayOutputWithContext(context.Context) ElastigroupAzureV3SecretSourceVaultArrayOutput } -type ElastigroupAzureV3ScalingDownPolicyDimensionArray []ElastigroupAzureV3ScalingDownPolicyDimensionInput +type ElastigroupAzureV3SecretSourceVaultArray []ElastigroupAzureV3SecretSourceVaultInput -func (ElastigroupAzureV3ScalingDownPolicyDimensionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ScalingDownPolicyDimension)(nil)).Elem() +func (ElastigroupAzureV3SecretSourceVaultArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3SecretSourceVault)(nil)).Elem() } -func (i ElastigroupAzureV3ScalingDownPolicyDimensionArray) ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput() ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput { - return i.ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutputWithContext(context.Background()) +func (i ElastigroupAzureV3SecretSourceVaultArray) ToElastigroupAzureV3SecretSourceVaultArrayOutput() ElastigroupAzureV3SecretSourceVaultArrayOutput { + return i.ToElastigroupAzureV3SecretSourceVaultArrayOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ScalingDownPolicyDimensionArray) ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput) +func (i ElastigroupAzureV3SecretSourceVaultArray) ToElastigroupAzureV3SecretSourceVaultArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3SecretSourceVaultArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SecretSourceVaultArrayOutput) } -type ElastigroupAzureV3ScalingDownPolicyDimensionOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3SecretSourceVaultOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ScalingDownPolicyDimensionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicyDimension)(nil)).Elem() +func (ElastigroupAzureV3SecretSourceVaultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3SecretSourceVault)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingDownPolicyDimensionOutput) ToElastigroupAzureV3ScalingDownPolicyDimensionOutput() ElastigroupAzureV3ScalingDownPolicyDimensionOutput { +func (o ElastigroupAzureV3SecretSourceVaultOutput) ToElastigroupAzureV3SecretSourceVaultOutput() ElastigroupAzureV3SecretSourceVaultOutput { return o } -func (o ElastigroupAzureV3ScalingDownPolicyDimensionOutput) ToElastigroupAzureV3ScalingDownPolicyDimensionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyDimensionOutput { +func (o ElastigroupAzureV3SecretSourceVaultOutput) ToElastigroupAzureV3SecretSourceVaultOutputWithContext(ctx context.Context) ElastigroupAzureV3SecretSourceVaultOutput { return o } -func (o ElastigroupAzureV3ScalingDownPolicyDimensionOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyDimension) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SecretSourceVaultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3SecretSourceVault) string { return v.Name }).(pulumi.StringOutput) } -func (o ElastigroupAzureV3ScalingDownPolicyDimensionOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingDownPolicyDimension) *string { return v.Value }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SecretSourceVaultOutput) ResourceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3SecretSourceVault) string { return v.ResourceGroupName }).(pulumi.StringOutput) } -type ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3SecretSourceVaultArrayOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ScalingDownPolicyDimension)(nil)).Elem() +func (ElastigroupAzureV3SecretSourceVaultArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3SecretSourceVault)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput) ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput() ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput { +func (o ElastigroupAzureV3SecretSourceVaultArrayOutput) ToElastigroupAzureV3SecretSourceVaultArrayOutput() ElastigroupAzureV3SecretSourceVaultArrayOutput { return o } -func (o ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput) ToElastigroupAzureV3ScalingDownPolicyDimensionArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput { +func (o ElastigroupAzureV3SecretSourceVaultArrayOutput) ToElastigroupAzureV3SecretSourceVaultArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3SecretSourceVaultArrayOutput { return o } -func (o ElastigroupAzureV3ScalingDownPolicyDimensionArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ScalingDownPolicyDimensionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ScalingDownPolicyDimension { - return vs[0].([]ElastigroupAzureV3ScalingDownPolicyDimension)[vs[1].(int)] - }).(ElastigroupAzureV3ScalingDownPolicyDimensionOutput) -} - -type ElastigroupAzureV3ScalingUpPolicy struct { - Action ElastigroupAzureV3ScalingUpPolicyAction `pulumi:"action"` - Cooldown int `pulumi:"cooldown"` - Dimensions []ElastigroupAzureV3ScalingUpPolicyDimension `pulumi:"dimensions"` - EvaluationPeriods int `pulumi:"evaluationPeriods"` - IsEnabled *bool `pulumi:"isEnabled"` - MetricName string `pulumi:"metricName"` - Namespace string `pulumi:"namespace"` - Operator string `pulumi:"operator"` - Period int `pulumi:"period"` - PolicyName string `pulumi:"policyName"` - Source *string `pulumi:"source"` - Statistic string `pulumi:"statistic"` - Threshold float64 `pulumi:"threshold"` - Unit *string `pulumi:"unit"` -} - -// ElastigroupAzureV3ScalingUpPolicyInput is an input type that accepts ElastigroupAzureV3ScalingUpPolicyArgs and ElastigroupAzureV3ScalingUpPolicyOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ScalingUpPolicyInput` via: +func (o ElastigroupAzureV3SecretSourceVaultArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3SecretSourceVaultOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3SecretSourceVault { + return vs[0].([]ElastigroupAzureV3SecretSourceVault)[vs[1].(int)] + }).(ElastigroupAzureV3SecretSourceVaultOutput) +} + +type ElastigroupAzureV3SecretVaultCertificate struct { + CertificateStore string `pulumi:"certificateStore"` + CertificateUrl string `pulumi:"certificateUrl"` +} + +// ElastigroupAzureV3SecretVaultCertificateInput is an input type that accepts ElastigroupAzureV3SecretVaultCertificateArgs and ElastigroupAzureV3SecretVaultCertificateOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3SecretVaultCertificateInput` via: // -// ElastigroupAzureV3ScalingUpPolicyArgs{...} -type ElastigroupAzureV3ScalingUpPolicyInput interface { +// ElastigroupAzureV3SecretVaultCertificateArgs{...} +type ElastigroupAzureV3SecretVaultCertificateInput interface { pulumi.Input - ToElastigroupAzureV3ScalingUpPolicyOutput() ElastigroupAzureV3ScalingUpPolicyOutput - ToElastigroupAzureV3ScalingUpPolicyOutputWithContext(context.Context) ElastigroupAzureV3ScalingUpPolicyOutput + ToElastigroupAzureV3SecretVaultCertificateOutput() ElastigroupAzureV3SecretVaultCertificateOutput + ToElastigroupAzureV3SecretVaultCertificateOutputWithContext(context.Context) ElastigroupAzureV3SecretVaultCertificateOutput } -type ElastigroupAzureV3ScalingUpPolicyArgs struct { - Action ElastigroupAzureV3ScalingUpPolicyActionInput `pulumi:"action"` - Cooldown pulumi.IntInput `pulumi:"cooldown"` - Dimensions ElastigroupAzureV3ScalingUpPolicyDimensionArrayInput `pulumi:"dimensions"` - EvaluationPeriods pulumi.IntInput `pulumi:"evaluationPeriods"` - IsEnabled pulumi.BoolPtrInput `pulumi:"isEnabled"` - MetricName pulumi.StringInput `pulumi:"metricName"` - Namespace pulumi.StringInput `pulumi:"namespace"` - Operator pulumi.StringInput `pulumi:"operator"` - Period pulumi.IntInput `pulumi:"period"` - PolicyName pulumi.StringInput `pulumi:"policyName"` - Source pulumi.StringPtrInput `pulumi:"source"` - Statistic pulumi.StringInput `pulumi:"statistic"` - Threshold pulumi.Float64Input `pulumi:"threshold"` - Unit pulumi.StringPtrInput `pulumi:"unit"` +type ElastigroupAzureV3SecretVaultCertificateArgs struct { + CertificateStore pulumi.StringInput `pulumi:"certificateStore"` + CertificateUrl pulumi.StringInput `pulumi:"certificateUrl"` } -func (ElastigroupAzureV3ScalingUpPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicy)(nil)).Elem() +func (ElastigroupAzureV3SecretVaultCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3SecretVaultCertificate)(nil)).Elem() } -func (i ElastigroupAzureV3ScalingUpPolicyArgs) ToElastigroupAzureV3ScalingUpPolicyOutput() ElastigroupAzureV3ScalingUpPolicyOutput { - return i.ToElastigroupAzureV3ScalingUpPolicyOutputWithContext(context.Background()) +func (i ElastigroupAzureV3SecretVaultCertificateArgs) ToElastigroupAzureV3SecretVaultCertificateOutput() ElastigroupAzureV3SecretVaultCertificateOutput { + return i.ToElastigroupAzureV3SecretVaultCertificateOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ScalingUpPolicyArgs) ToElastigroupAzureV3ScalingUpPolicyOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingUpPolicyOutput) +func (i ElastigroupAzureV3SecretVaultCertificateArgs) ToElastigroupAzureV3SecretVaultCertificateOutputWithContext(ctx context.Context) ElastigroupAzureV3SecretVaultCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SecretVaultCertificateOutput) } -// ElastigroupAzureV3ScalingUpPolicyArrayInput is an input type that accepts ElastigroupAzureV3ScalingUpPolicyArray and ElastigroupAzureV3ScalingUpPolicyArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ScalingUpPolicyArrayInput` via: +// ElastigroupAzureV3SecretVaultCertificateArrayInput is an input type that accepts ElastigroupAzureV3SecretVaultCertificateArray and ElastigroupAzureV3SecretVaultCertificateArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3SecretVaultCertificateArrayInput` via: // -// ElastigroupAzureV3ScalingUpPolicyArray{ ElastigroupAzureV3ScalingUpPolicyArgs{...} } -type ElastigroupAzureV3ScalingUpPolicyArrayInput interface { +// ElastigroupAzureV3SecretVaultCertificateArray{ ElastigroupAzureV3SecretVaultCertificateArgs{...} } +type ElastigroupAzureV3SecretVaultCertificateArrayInput interface { pulumi.Input - ToElastigroupAzureV3ScalingUpPolicyArrayOutput() ElastigroupAzureV3ScalingUpPolicyArrayOutput - ToElastigroupAzureV3ScalingUpPolicyArrayOutputWithContext(context.Context) ElastigroupAzureV3ScalingUpPolicyArrayOutput + ToElastigroupAzureV3SecretVaultCertificateArrayOutput() ElastigroupAzureV3SecretVaultCertificateArrayOutput + ToElastigroupAzureV3SecretVaultCertificateArrayOutputWithContext(context.Context) ElastigroupAzureV3SecretVaultCertificateArrayOutput } -type ElastigroupAzureV3ScalingUpPolicyArray []ElastigroupAzureV3ScalingUpPolicyInput +type ElastigroupAzureV3SecretVaultCertificateArray []ElastigroupAzureV3SecretVaultCertificateInput -func (ElastigroupAzureV3ScalingUpPolicyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ScalingUpPolicy)(nil)).Elem() +func (ElastigroupAzureV3SecretVaultCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3SecretVaultCertificate)(nil)).Elem() } -func (i ElastigroupAzureV3ScalingUpPolicyArray) ToElastigroupAzureV3ScalingUpPolicyArrayOutput() ElastigroupAzureV3ScalingUpPolicyArrayOutput { - return i.ToElastigroupAzureV3ScalingUpPolicyArrayOutputWithContext(context.Background()) +func (i ElastigroupAzureV3SecretVaultCertificateArray) ToElastigroupAzureV3SecretVaultCertificateArrayOutput() ElastigroupAzureV3SecretVaultCertificateArrayOutput { + return i.ToElastigroupAzureV3SecretVaultCertificateArrayOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ScalingUpPolicyArray) ToElastigroupAzureV3ScalingUpPolicyArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingUpPolicyArrayOutput) +func (i ElastigroupAzureV3SecretVaultCertificateArray) ToElastigroupAzureV3SecretVaultCertificateArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3SecretVaultCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SecretVaultCertificateArrayOutput) } -type ElastigroupAzureV3ScalingUpPolicyOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3SecretVaultCertificateOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ScalingUpPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicy)(nil)).Elem() +func (ElastigroupAzureV3SecretVaultCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3SecretVaultCertificate)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) ToElastigroupAzureV3ScalingUpPolicyOutput() ElastigroupAzureV3ScalingUpPolicyOutput { +func (o ElastigroupAzureV3SecretVaultCertificateOutput) ToElastigroupAzureV3SecretVaultCertificateOutput() ElastigroupAzureV3SecretVaultCertificateOutput { return o } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) ToElastigroupAzureV3ScalingUpPolicyOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyOutput { +func (o ElastigroupAzureV3SecretVaultCertificateOutput) ToElastigroupAzureV3SecretVaultCertificateOutputWithContext(ctx context.Context) ElastigroupAzureV3SecretVaultCertificateOutput { return o } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) Action() ElastigroupAzureV3ScalingUpPolicyActionOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) ElastigroupAzureV3ScalingUpPolicyAction { return v.Action }).(ElastigroupAzureV3ScalingUpPolicyActionOutput) +func (o ElastigroupAzureV3SecretVaultCertificateOutput) CertificateStore() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3SecretVaultCertificate) string { return v.CertificateStore }).(pulumi.StringOutput) } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) Cooldown() pulumi.IntOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) int { return v.Cooldown }).(pulumi.IntOutput) +func (o ElastigroupAzureV3SecretVaultCertificateOutput) CertificateUrl() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3SecretVaultCertificate) string { return v.CertificateUrl }).(pulumi.StringOutput) } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) Dimensions() ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) []ElastigroupAzureV3ScalingUpPolicyDimension { - return v.Dimensions - }).(ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput) +type ElastigroupAzureV3SecretVaultCertificateArrayOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3SecretVaultCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3SecretVaultCertificate)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) EvaluationPeriods() pulumi.IntOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) int { return v.EvaluationPeriods }).(pulumi.IntOutput) +func (o ElastigroupAzureV3SecretVaultCertificateArrayOutput) ToElastigroupAzureV3SecretVaultCertificateArrayOutput() ElastigroupAzureV3SecretVaultCertificateArrayOutput { + return o } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) IsEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) *bool { return v.IsEnabled }).(pulumi.BoolPtrOutput) +func (o ElastigroupAzureV3SecretVaultCertificateArrayOutput) ToElastigroupAzureV3SecretVaultCertificateArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3SecretVaultCertificateArrayOutput { + return o } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) MetricName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) string { return v.MetricName }).(pulumi.StringOutput) +func (o ElastigroupAzureV3SecretVaultCertificateArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3SecretVaultCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3SecretVaultCertificate { + return vs[0].([]ElastigroupAzureV3SecretVaultCertificate)[vs[1].(int)] + }).(ElastigroupAzureV3SecretVaultCertificateOutput) } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) Namespace() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) string { return v.Namespace }).(pulumi.StringOutput) +type ElastigroupAzureV3Security struct { + ConfidentialOsDiskEncryption *bool `pulumi:"confidentialOsDiskEncryption"` + SecureBootEnabled *bool `pulumi:"secureBootEnabled"` + SecurityType *string `pulumi:"securityType"` + VtpmEnabled *bool `pulumi:"vtpmEnabled"` } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) Operator() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) string { return v.Operator }).(pulumi.StringOutput) +// ElastigroupAzureV3SecurityInput is an input type that accepts ElastigroupAzureV3SecurityArgs and ElastigroupAzureV3SecurityOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3SecurityInput` via: +// +// ElastigroupAzureV3SecurityArgs{...} +type ElastigroupAzureV3SecurityInput interface { + pulumi.Input + + ToElastigroupAzureV3SecurityOutput() ElastigroupAzureV3SecurityOutput + ToElastigroupAzureV3SecurityOutputWithContext(context.Context) ElastigroupAzureV3SecurityOutput } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) Period() pulumi.IntOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) int { return v.Period }).(pulumi.IntOutput) +type ElastigroupAzureV3SecurityArgs struct { + ConfidentialOsDiskEncryption pulumi.BoolPtrInput `pulumi:"confidentialOsDiskEncryption"` + SecureBootEnabled pulumi.BoolPtrInput `pulumi:"secureBootEnabled"` + SecurityType pulumi.StringPtrInput `pulumi:"securityType"` + VtpmEnabled pulumi.BoolPtrInput `pulumi:"vtpmEnabled"` } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) PolicyName() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) string { return v.PolicyName }).(pulumi.StringOutput) +func (ElastigroupAzureV3SecurityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Security)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) Source() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) *string { return v.Source }).(pulumi.StringPtrOutput) +func (i ElastigroupAzureV3SecurityArgs) ToElastigroupAzureV3SecurityOutput() ElastigroupAzureV3SecurityOutput { + return i.ToElastigroupAzureV3SecurityOutputWithContext(context.Background()) } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) Statistic() pulumi.StringOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) string { return v.Statistic }).(pulumi.StringOutput) +func (i ElastigroupAzureV3SecurityArgs) ToElastigroupAzureV3SecurityOutputWithContext(ctx context.Context) ElastigroupAzureV3SecurityOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SecurityOutput) } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) Threshold() pulumi.Float64Output { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) float64 { return v.Threshold }).(pulumi.Float64Output) +func (i ElastigroupAzureV3SecurityArgs) ToElastigroupAzureV3SecurityPtrOutput() ElastigroupAzureV3SecurityPtrOutput { + return i.ToElastigroupAzureV3SecurityPtrOutputWithContext(context.Background()) } -func (o ElastigroupAzureV3ScalingUpPolicyOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicy) *string { return v.Unit }).(pulumi.StringPtrOutput) +func (i ElastigroupAzureV3SecurityArgs) ToElastigroupAzureV3SecurityPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3SecurityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SecurityOutput).ToElastigroupAzureV3SecurityPtrOutputWithContext(ctx) } -type ElastigroupAzureV3ScalingUpPolicyArrayOutput struct{ *pulumi.OutputState } +// ElastigroupAzureV3SecurityPtrInput is an input type that accepts ElastigroupAzureV3SecurityArgs, ElastigroupAzureV3SecurityPtr and ElastigroupAzureV3SecurityPtrOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3SecurityPtrInput` via: +// +// ElastigroupAzureV3SecurityArgs{...} +// +// or: +// +// nil +type ElastigroupAzureV3SecurityPtrInput interface { + pulumi.Input -func (ElastigroupAzureV3ScalingUpPolicyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ScalingUpPolicy)(nil)).Elem() + ToElastigroupAzureV3SecurityPtrOutput() ElastigroupAzureV3SecurityPtrOutput + ToElastigroupAzureV3SecurityPtrOutputWithContext(context.Context) ElastigroupAzureV3SecurityPtrOutput } -func (o ElastigroupAzureV3ScalingUpPolicyArrayOutput) ToElastigroupAzureV3ScalingUpPolicyArrayOutput() ElastigroupAzureV3ScalingUpPolicyArrayOutput { - return o +type elastigroupAzureV3SecurityPtrType ElastigroupAzureV3SecurityArgs + +func ElastigroupAzureV3SecurityPtr(v *ElastigroupAzureV3SecurityArgs) ElastigroupAzureV3SecurityPtrInput { + return (*elastigroupAzureV3SecurityPtrType)(v) } -func (o ElastigroupAzureV3ScalingUpPolicyArrayOutput) ToElastigroupAzureV3ScalingUpPolicyArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyArrayOutput { - return o +func (*elastigroupAzureV3SecurityPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3Security)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingUpPolicyArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ScalingUpPolicyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ScalingUpPolicy { - return vs[0].([]ElastigroupAzureV3ScalingUpPolicy)[vs[1].(int)] - }).(ElastigroupAzureV3ScalingUpPolicyOutput) +func (i *elastigroupAzureV3SecurityPtrType) ToElastigroupAzureV3SecurityPtrOutput() ElastigroupAzureV3SecurityPtrOutput { + return i.ToElastigroupAzureV3SecurityPtrOutputWithContext(context.Background()) } -type ElastigroupAzureV3ScalingUpPolicyAction struct { - Adjustment *string `pulumi:"adjustment"` - Maximum *string `pulumi:"maximum"` - Minimum *string `pulumi:"minimum"` - Target *string `pulumi:"target"` - Type *string `pulumi:"type"` +func (i *elastigroupAzureV3SecurityPtrType) ToElastigroupAzureV3SecurityPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3SecurityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SecurityPtrOutput) } -// ElastigroupAzureV3ScalingUpPolicyActionInput is an input type that accepts ElastigroupAzureV3ScalingUpPolicyActionArgs and ElastigroupAzureV3ScalingUpPolicyActionOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ScalingUpPolicyActionInput` via: -// -// ElastigroupAzureV3ScalingUpPolicyActionArgs{...} -type ElastigroupAzureV3ScalingUpPolicyActionInput interface { - pulumi.Input +type ElastigroupAzureV3SecurityOutput struct{ *pulumi.OutputState } - ToElastigroupAzureV3ScalingUpPolicyActionOutput() ElastigroupAzureV3ScalingUpPolicyActionOutput - ToElastigroupAzureV3ScalingUpPolicyActionOutputWithContext(context.Context) ElastigroupAzureV3ScalingUpPolicyActionOutput +func (ElastigroupAzureV3SecurityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Security)(nil)).Elem() } -type ElastigroupAzureV3ScalingUpPolicyActionArgs struct { - Adjustment pulumi.StringPtrInput `pulumi:"adjustment"` - Maximum pulumi.StringPtrInput `pulumi:"maximum"` - Minimum pulumi.StringPtrInput `pulumi:"minimum"` - Target pulumi.StringPtrInput `pulumi:"target"` - Type pulumi.StringPtrInput `pulumi:"type"` +func (o ElastigroupAzureV3SecurityOutput) ToElastigroupAzureV3SecurityOutput() ElastigroupAzureV3SecurityOutput { + return o } -func (ElastigroupAzureV3ScalingUpPolicyActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicyAction)(nil)).Elem() +func (o ElastigroupAzureV3SecurityOutput) ToElastigroupAzureV3SecurityOutputWithContext(ctx context.Context) ElastigroupAzureV3SecurityOutput { + return o } -func (i ElastigroupAzureV3ScalingUpPolicyActionArgs) ToElastigroupAzureV3ScalingUpPolicyActionOutput() ElastigroupAzureV3ScalingUpPolicyActionOutput { - return i.ToElastigroupAzureV3ScalingUpPolicyActionOutputWithContext(context.Background()) +func (o ElastigroupAzureV3SecurityOutput) ToElastigroupAzureV3SecurityPtrOutput() ElastigroupAzureV3SecurityPtrOutput { + return o.ToElastigroupAzureV3SecurityPtrOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ScalingUpPolicyActionArgs) ToElastigroupAzureV3ScalingUpPolicyActionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingUpPolicyActionOutput) +func (o ElastigroupAzureV3SecurityOutput) ToElastigroupAzureV3SecurityPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3SecurityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ElastigroupAzureV3Security) *ElastigroupAzureV3Security { + return &v + }).(ElastigroupAzureV3SecurityPtrOutput) } -type ElastigroupAzureV3ScalingUpPolicyActionOutput struct{ *pulumi.OutputState } +func (o ElastigroupAzureV3SecurityOutput) ConfidentialOsDiskEncryption() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3Security) *bool { return v.ConfidentialOsDiskEncryption }).(pulumi.BoolPtrOutput) +} -func (ElastigroupAzureV3ScalingUpPolicyActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicyAction)(nil)).Elem() +func (o ElastigroupAzureV3SecurityOutput) SecureBootEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3Security) *bool { return v.SecureBootEnabled }).(pulumi.BoolPtrOutput) } -func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) ToElastigroupAzureV3ScalingUpPolicyActionOutput() ElastigroupAzureV3ScalingUpPolicyActionOutput { +func (o ElastigroupAzureV3SecurityOutput) SecurityType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3Security) *string { return v.SecurityType }).(pulumi.StringPtrOutput) +} + +func (o ElastigroupAzureV3SecurityOutput) VtpmEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ElastigroupAzureV3Security) *bool { return v.VtpmEnabled }).(pulumi.BoolPtrOutput) +} + +type ElastigroupAzureV3SecurityPtrOutput struct{ *pulumi.OutputState } + +func (ElastigroupAzureV3SecurityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ElastigroupAzureV3Security)(nil)).Elem() +} + +func (o ElastigroupAzureV3SecurityPtrOutput) ToElastigroupAzureV3SecurityPtrOutput() ElastigroupAzureV3SecurityPtrOutput { return o } -func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) ToElastigroupAzureV3ScalingUpPolicyActionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyActionOutput { +func (o ElastigroupAzureV3SecurityPtrOutput) ToElastigroupAzureV3SecurityPtrOutputWithContext(ctx context.Context) ElastigroupAzureV3SecurityPtrOutput { return o } -func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) Adjustment() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyAction) *string { return v.Adjustment }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SecurityPtrOutput) Elem() ElastigroupAzureV3SecurityOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Security) ElastigroupAzureV3Security { + if v != nil { + return *v + } + var ret ElastigroupAzureV3Security + return ret + }).(ElastigroupAzureV3SecurityOutput) } -func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) Maximum() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyAction) *string { return v.Maximum }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SecurityPtrOutput) ConfidentialOsDiskEncryption() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Security) *bool { + if v == nil { + return nil + } + return v.ConfidentialOsDiskEncryption + }).(pulumi.BoolPtrOutput) } -func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) Minimum() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyAction) *string { return v.Minimum }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SecurityPtrOutput) SecureBootEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Security) *bool { + if v == nil { + return nil + } + return v.SecureBootEnabled + }).(pulumi.BoolPtrOutput) } -func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) Target() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyAction) *string { return v.Target }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SecurityPtrOutput) SecurityType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Security) *string { + if v == nil { + return nil + } + return v.SecurityType + }).(pulumi.StringPtrOutput) } -func (o ElastigroupAzureV3ScalingUpPolicyActionOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyAction) *string { return v.Type }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SecurityPtrOutput) VtpmEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ElastigroupAzureV3Security) *bool { + if v == nil { + return nil + } + return v.VtpmEnabled + }).(pulumi.BoolPtrOutput) } -type ElastigroupAzureV3ScalingUpPolicyDimension struct { - Name *string `pulumi:"name"` - Value *string `pulumi:"value"` +type ElastigroupAzureV3Signal struct { + Timeout int `pulumi:"timeout"` + Type string `pulumi:"type"` } -// ElastigroupAzureV3ScalingUpPolicyDimensionInput is an input type that accepts ElastigroupAzureV3ScalingUpPolicyDimensionArgs and ElastigroupAzureV3ScalingUpPolicyDimensionOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ScalingUpPolicyDimensionInput` via: +// ElastigroupAzureV3SignalInput is an input type that accepts ElastigroupAzureV3SignalArgs and ElastigroupAzureV3SignalOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3SignalInput` via: // -// ElastigroupAzureV3ScalingUpPolicyDimensionArgs{...} -type ElastigroupAzureV3ScalingUpPolicyDimensionInput interface { +// ElastigroupAzureV3SignalArgs{...} +type ElastigroupAzureV3SignalInput interface { pulumi.Input - ToElastigroupAzureV3ScalingUpPolicyDimensionOutput() ElastigroupAzureV3ScalingUpPolicyDimensionOutput - ToElastigroupAzureV3ScalingUpPolicyDimensionOutputWithContext(context.Context) ElastigroupAzureV3ScalingUpPolicyDimensionOutput + ToElastigroupAzureV3SignalOutput() ElastigroupAzureV3SignalOutput + ToElastigroupAzureV3SignalOutputWithContext(context.Context) ElastigroupAzureV3SignalOutput } -type ElastigroupAzureV3ScalingUpPolicyDimensionArgs struct { - Name pulumi.StringPtrInput `pulumi:"name"` - Value pulumi.StringPtrInput `pulumi:"value"` +type ElastigroupAzureV3SignalArgs struct { + Timeout pulumi.IntInput `pulumi:"timeout"` + Type pulumi.StringInput `pulumi:"type"` } -func (ElastigroupAzureV3ScalingUpPolicyDimensionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicyDimension)(nil)).Elem() +func (ElastigroupAzureV3SignalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Signal)(nil)).Elem() } -func (i ElastigroupAzureV3ScalingUpPolicyDimensionArgs) ToElastigroupAzureV3ScalingUpPolicyDimensionOutput() ElastigroupAzureV3ScalingUpPolicyDimensionOutput { - return i.ToElastigroupAzureV3ScalingUpPolicyDimensionOutputWithContext(context.Background()) +func (i ElastigroupAzureV3SignalArgs) ToElastigroupAzureV3SignalOutput() ElastigroupAzureV3SignalOutput { + return i.ToElastigroupAzureV3SignalOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ScalingUpPolicyDimensionArgs) ToElastigroupAzureV3ScalingUpPolicyDimensionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyDimensionOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingUpPolicyDimensionOutput) +func (i ElastigroupAzureV3SignalArgs) ToElastigroupAzureV3SignalOutputWithContext(ctx context.Context) ElastigroupAzureV3SignalOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SignalOutput) } -// ElastigroupAzureV3ScalingUpPolicyDimensionArrayInput is an input type that accepts ElastigroupAzureV3ScalingUpPolicyDimensionArray and ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput values. -// You can construct a concrete instance of `ElastigroupAzureV3ScalingUpPolicyDimensionArrayInput` via: +// ElastigroupAzureV3SignalArrayInput is an input type that accepts ElastigroupAzureV3SignalArray and ElastigroupAzureV3SignalArrayOutput values. +// You can construct a concrete instance of `ElastigroupAzureV3SignalArrayInput` via: // -// ElastigroupAzureV3ScalingUpPolicyDimensionArray{ ElastigroupAzureV3ScalingUpPolicyDimensionArgs{...} } -type ElastigroupAzureV3ScalingUpPolicyDimensionArrayInput interface { +// ElastigroupAzureV3SignalArray{ ElastigroupAzureV3SignalArgs{...} } +type ElastigroupAzureV3SignalArrayInput interface { pulumi.Input - ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput() ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput - ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutputWithContext(context.Context) ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput + ToElastigroupAzureV3SignalArrayOutput() ElastigroupAzureV3SignalArrayOutput + ToElastigroupAzureV3SignalArrayOutputWithContext(context.Context) ElastigroupAzureV3SignalArrayOutput } -type ElastigroupAzureV3ScalingUpPolicyDimensionArray []ElastigroupAzureV3ScalingUpPolicyDimensionInput +type ElastigroupAzureV3SignalArray []ElastigroupAzureV3SignalInput -func (ElastigroupAzureV3ScalingUpPolicyDimensionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ScalingUpPolicyDimension)(nil)).Elem() +func (ElastigroupAzureV3SignalArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3Signal)(nil)).Elem() } -func (i ElastigroupAzureV3ScalingUpPolicyDimensionArray) ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput() ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput { - return i.ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutputWithContext(context.Background()) +func (i ElastigroupAzureV3SignalArray) ToElastigroupAzureV3SignalArrayOutput() ElastigroupAzureV3SignalArrayOutput { + return i.ToElastigroupAzureV3SignalArrayOutputWithContext(context.Background()) } -func (i ElastigroupAzureV3ScalingUpPolicyDimensionArray) ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput) +func (i ElastigroupAzureV3SignalArray) ToElastigroupAzureV3SignalArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3SignalArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ElastigroupAzureV3SignalArrayOutput) } -type ElastigroupAzureV3ScalingUpPolicyDimensionOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3SignalOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ScalingUpPolicyDimensionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicyDimension)(nil)).Elem() +func (ElastigroupAzureV3SignalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ElastigroupAzureV3Signal)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingUpPolicyDimensionOutput) ToElastigroupAzureV3ScalingUpPolicyDimensionOutput() ElastigroupAzureV3ScalingUpPolicyDimensionOutput { +func (o ElastigroupAzureV3SignalOutput) ToElastigroupAzureV3SignalOutput() ElastigroupAzureV3SignalOutput { return o } -func (o ElastigroupAzureV3ScalingUpPolicyDimensionOutput) ToElastigroupAzureV3ScalingUpPolicyDimensionOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyDimensionOutput { +func (o ElastigroupAzureV3SignalOutput) ToElastigroupAzureV3SignalOutputWithContext(ctx context.Context) ElastigroupAzureV3SignalOutput { return o } -func (o ElastigroupAzureV3ScalingUpPolicyDimensionOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyDimension) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SignalOutput) Timeout() pulumi.IntOutput { + return o.ApplyT(func(v ElastigroupAzureV3Signal) int { return v.Timeout }).(pulumi.IntOutput) } -func (o ElastigroupAzureV3ScalingUpPolicyDimensionOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v ElastigroupAzureV3ScalingUpPolicyDimension) *string { return v.Value }).(pulumi.StringPtrOutput) +func (o ElastigroupAzureV3SignalOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v ElastigroupAzureV3Signal) string { return v.Type }).(pulumi.StringOutput) } -type ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput struct{ *pulumi.OutputState } +type ElastigroupAzureV3SignalArrayOutput struct{ *pulumi.OutputState } -func (ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ElastigroupAzureV3ScalingUpPolicyDimension)(nil)).Elem() +func (ElastigroupAzureV3SignalArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ElastigroupAzureV3Signal)(nil)).Elem() } -func (o ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput) ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput() ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput { +func (o ElastigroupAzureV3SignalArrayOutput) ToElastigroupAzureV3SignalArrayOutput() ElastigroupAzureV3SignalArrayOutput { return o } -func (o ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput) ToElastigroupAzureV3ScalingUpPolicyDimensionArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput { +func (o ElastigroupAzureV3SignalArrayOutput) ToElastigroupAzureV3SignalArrayOutputWithContext(ctx context.Context) ElastigroupAzureV3SignalArrayOutput { return o } -func (o ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3ScalingUpPolicyDimensionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3ScalingUpPolicyDimension { - return vs[0].([]ElastigroupAzureV3ScalingUpPolicyDimension)[vs[1].(int)] - }).(ElastigroupAzureV3ScalingUpPolicyDimensionOutput) +func (o ElastigroupAzureV3SignalArrayOutput) Index(i pulumi.IntInput) ElastigroupAzureV3SignalOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ElastigroupAzureV3Signal { + return vs[0].([]ElastigroupAzureV3Signal)[vs[1].(int)] + }).(ElastigroupAzureV3SignalOutput) } type ElastigroupAzureV3Tag struct { @@ -2440,8 +4515,9 @@ func (o ElastigroupAzureV3TagArrayOutput) Index(i pulumi.IntInput) ElastigroupAz } type ElastigroupAzureV3VmSizes struct { - OdSizes []string `pulumi:"odSizes"` - SpotSizes []string `pulumi:"spotSizes"` + OdSizes []string `pulumi:"odSizes"` + PreferredSpotSizes []string `pulumi:"preferredSpotSizes"` + SpotSizes []string `pulumi:"spotSizes"` } // ElastigroupAzureV3VmSizesInput is an input type that accepts ElastigroupAzureV3VmSizesArgs and ElastigroupAzureV3VmSizesOutput values. @@ -2456,8 +4532,9 @@ type ElastigroupAzureV3VmSizesInput interface { } type ElastigroupAzureV3VmSizesArgs struct { - OdSizes pulumi.StringArrayInput `pulumi:"odSizes"` - SpotSizes pulumi.StringArrayInput `pulumi:"spotSizes"` + OdSizes pulumi.StringArrayInput `pulumi:"odSizes"` + PreferredSpotSizes pulumi.StringArrayInput `pulumi:"preferredSpotSizes"` + SpotSizes pulumi.StringArrayInput `pulumi:"spotSizes"` } func (ElastigroupAzureV3VmSizesArgs) ElementType() reflect.Type { @@ -2541,6 +4618,10 @@ func (o ElastigroupAzureV3VmSizesOutput) OdSizes() pulumi.StringArrayOutput { return o.ApplyT(func(v ElastigroupAzureV3VmSizes) []string { return v.OdSizes }).(pulumi.StringArrayOutput) } +func (o ElastigroupAzureV3VmSizesOutput) PreferredSpotSizes() pulumi.StringArrayOutput { + return o.ApplyT(func(v ElastigroupAzureV3VmSizes) []string { return v.PreferredSpotSizes }).(pulumi.StringArrayOutput) +} + func (o ElastigroupAzureV3VmSizesOutput) SpotSizes() pulumi.StringArrayOutput { return o.ApplyT(func(v ElastigroupAzureV3VmSizes) []string { return v.SpotSizes }).(pulumi.StringArrayOutput) } @@ -2578,6 +4659,15 @@ func (o ElastigroupAzureV3VmSizesPtrOutput) OdSizes() pulumi.StringArrayOutput { }).(pulumi.StringArrayOutput) } +func (o ElastigroupAzureV3VmSizesPtrOutput) PreferredSpotSizes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ElastigroupAzureV3VmSizes) []string { + if v == nil { + return nil + } + return v.PreferredSpotSizes + }).(pulumi.StringArrayOutput) +} + func (o ElastigroupAzureV3VmSizesPtrOutput) SpotSizes() pulumi.StringArrayOutput { return o.ApplyT(func(v *ElastigroupAzureV3VmSizes) []string { if v == nil { @@ -8995,10 +11085,20 @@ func (o StatefulNodeAzureVmSizesPtrOutput) SpotSizes() pulumi.StringArrayOutput func init() { pulumi.RegisterInputType(reflect.TypeOf((*DataIntegrationS3Input)(nil)).Elem(), DataIntegrationS3Args{}) pulumi.RegisterInputType(reflect.TypeOf((*DataIntegrationS3PtrInput)(nil)).Elem(), DataIntegrationS3Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3BootDiagnosticInput)(nil)).Elem(), ElastigroupAzureV3BootDiagnosticArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3BootDiagnosticArrayInput)(nil)).Elem(), ElastigroupAzureV3BootDiagnosticArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3CapacityReservationInput)(nil)).Elem(), ElastigroupAzureV3CapacityReservationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3CapacityReservationPtrInput)(nil)).Elem(), ElastigroupAzureV3CapacityReservationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3CapacityReservationCapacityReservationGroupsInput)(nil)).Elem(), ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrInput)(nil)).Elem(), ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3DataDiskInput)(nil)).Elem(), ElastigroupAzureV3DataDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3DataDiskArrayInput)(nil)).Elem(), ElastigroupAzureV3DataDiskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ExtensionInput)(nil)).Elem(), ElastigroupAzureV3ExtensionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ExtensionArrayInput)(nil)).Elem(), ElastigroupAzureV3ExtensionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultInput)(nil)).Elem(), ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrInput)(nil)).Elem(), ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3HealthInput)(nil)).Elem(), ElastigroupAzureV3HealthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3HealthPtrInput)(nil)).Elem(), ElastigroupAzureV3HealthArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ImageInput)(nil)).Elem(), ElastigroupAzureV3ImageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ImageArrayInput)(nil)).Elem(), ElastigroupAzureV3ImageArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ImageCustomInput)(nil)).Elem(), ElastigroupAzureV3ImageCustomArgs{}) @@ -9007,6 +11107,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ImageGalleryImageArrayInput)(nil)).Elem(), ElastigroupAzureV3ImageGalleryImageArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ImageMarketplaceInput)(nil)).Elem(), ElastigroupAzureV3ImageMarketplaceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ImageMarketplaceArrayInput)(nil)).Elem(), ElastigroupAzureV3ImageMarketplaceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3LoadBalancerInput)(nil)).Elem(), ElastigroupAzureV3LoadBalancerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3LoadBalancerArrayInput)(nil)).Elem(), ElastigroupAzureV3LoadBalancerArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3LoginInput)(nil)).Elem(), ElastigroupAzureV3LoginArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3LoginPtrInput)(nil)).Elem(), ElastigroupAzureV3LoginArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ManagedServiceIdentityInput)(nil)).Elem(), ElastigroupAzureV3ManagedServiceIdentityArgs{}) @@ -9019,6 +11121,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayInput)(nil)).Elem(), ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupInput)(nil)).Elem(), ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayInput)(nil)).Elem(), ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupInput)(nil)).Elem(), ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayInput)(nil)).Elem(), ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3OsDiskInput)(nil)).Elem(), ElastigroupAzureV3OsDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3OsDiskPtrInput)(nil)).Elem(), ElastigroupAzureV3OsDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ProximityPlacementGroupInput)(nil)).Elem(), ElastigroupAzureV3ProximityPlacementGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ProximityPlacementGroupArrayInput)(nil)).Elem(), ElastigroupAzureV3ProximityPlacementGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3RevertToSpotInput)(nil)).Elem(), ElastigroupAzureV3RevertToSpotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3RevertToSpotPtrInput)(nil)).Elem(), ElastigroupAzureV3RevertToSpotArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicyInput)(nil)).Elem(), ElastigroupAzureV3ScalingDownPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicyArrayInput)(nil)).Elem(), ElastigroupAzureV3ScalingDownPolicyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ScalingDownPolicyActionInput)(nil)).Elem(), ElastigroupAzureV3ScalingDownPolicyActionArgs{}) @@ -9029,6 +11139,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicyActionInput)(nil)).Elem(), ElastigroupAzureV3ScalingUpPolicyActionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicyDimensionInput)(nil)).Elem(), ElastigroupAzureV3ScalingUpPolicyDimensionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3ScalingUpPolicyDimensionArrayInput)(nil)).Elem(), ElastigroupAzureV3ScalingUpPolicyDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3SchedulingTaskInput)(nil)).Elem(), ElastigroupAzureV3SchedulingTaskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3SchedulingTaskArrayInput)(nil)).Elem(), ElastigroupAzureV3SchedulingTaskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3SecretInput)(nil)).Elem(), ElastigroupAzureV3SecretArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3SecretArrayInput)(nil)).Elem(), ElastigroupAzureV3SecretArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3SecretSourceVaultInput)(nil)).Elem(), ElastigroupAzureV3SecretSourceVaultArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3SecretSourceVaultArrayInput)(nil)).Elem(), ElastigroupAzureV3SecretSourceVaultArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3SecretVaultCertificateInput)(nil)).Elem(), ElastigroupAzureV3SecretVaultCertificateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3SecretVaultCertificateArrayInput)(nil)).Elem(), ElastigroupAzureV3SecretVaultCertificateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3SecurityInput)(nil)).Elem(), ElastigroupAzureV3SecurityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3SecurityPtrInput)(nil)).Elem(), ElastigroupAzureV3SecurityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3SignalInput)(nil)).Elem(), ElastigroupAzureV3SignalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3SignalArrayInput)(nil)).Elem(), ElastigroupAzureV3SignalArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3TagInput)(nil)).Elem(), ElastigroupAzureV3TagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3TagArrayInput)(nil)).Elem(), ElastigroupAzureV3TagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ElastigroupAzureV3VmSizesInput)(nil)).Elem(), ElastigroupAzureV3VmSizesArgs{}) @@ -9139,10 +11261,20 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*StatefulNodeAzureVmSizesPtrInput)(nil)).Elem(), StatefulNodeAzureVmSizesArgs{}) pulumi.RegisterOutputType(DataIntegrationS3Output{}) pulumi.RegisterOutputType(DataIntegrationS3PtrOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3BootDiagnosticOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3BootDiagnosticArrayOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3CapacityReservationOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3CapacityReservationPtrOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsPtrOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3DataDiskOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3DataDiskArrayOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ExtensionOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ExtensionArrayOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultPtrOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3HealthOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3HealthPtrOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ImageOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ImageArrayOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ImageCustomOutput{}) @@ -9151,6 +11283,8 @@ func init() { pulumi.RegisterOutputType(ElastigroupAzureV3ImageGalleryImageArrayOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ImageMarketplaceOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ImageMarketplaceArrayOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3LoadBalancerOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3LoadBalancerArrayOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3LoginOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3LoginPtrOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ManagedServiceIdentityOutput{}) @@ -9163,6 +11297,14 @@ func init() { pulumi.RegisterOutputType(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArrayOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArrayOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3OsDiskOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3OsDiskPtrOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3ProximityPlacementGroupOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3ProximityPlacementGroupArrayOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3RevertToSpotOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3RevertToSpotPtrOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ScalingDownPolicyOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ScalingDownPolicyArrayOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ScalingDownPolicyActionOutput{}) @@ -9173,6 +11315,18 @@ func init() { pulumi.RegisterOutputType(ElastigroupAzureV3ScalingUpPolicyActionOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ScalingUpPolicyDimensionOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3ScalingUpPolicyDimensionArrayOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3SchedulingTaskOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3SchedulingTaskArrayOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3SecretOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3SecretArrayOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3SecretSourceVaultOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3SecretSourceVaultArrayOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3SecretVaultCertificateOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3SecretVaultCertificateArrayOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3SecurityOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3SecurityPtrOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3SignalOutput{}) + pulumi.RegisterOutputType(ElastigroupAzureV3SignalArrayOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3TagOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3TagArrayOutput{}) pulumi.RegisterOutputType(ElastigroupAzureV3VmSizesOutput{}) diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/ElastigroupAzureV3.java b/sdk/java/src/main/java/com/pulumi/spotinst/ElastigroupAzureV3.java index 6d3490b9..f1795432 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/ElastigroupAzureV3.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/ElastigroupAzureV3.java @@ -10,13 +10,25 @@ import com.pulumi.spotinst.ElastigroupAzureV3Args; import com.pulumi.spotinst.Utilities; import com.pulumi.spotinst.inputs.ElastigroupAzureV3State; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3BootDiagnostic; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3CapacityReservation; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3DataDisk; import com.pulumi.spotinst.outputs.ElastigroupAzureV3Extension; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3Health; import com.pulumi.spotinst.outputs.ElastigroupAzureV3Image; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3LoadBalancer; import com.pulumi.spotinst.outputs.ElastigroupAzureV3Login; import com.pulumi.spotinst.outputs.ElastigroupAzureV3ManagedServiceIdentity; import com.pulumi.spotinst.outputs.ElastigroupAzureV3Network; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3OsDisk; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3ProximityPlacementGroup; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3RevertToSpot; import com.pulumi.spotinst.outputs.ElastigroupAzureV3ScalingDownPolicy; import com.pulumi.spotinst.outputs.ElastigroupAzureV3ScalingUpPolicy; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3SchedulingTask; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3Secret; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3Security; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3Signal; import com.pulumi.spotinst.outputs.ElastigroupAzureV3Tag; import com.pulumi.spotinst.outputs.ElastigroupAzureV3VmSizes; import java.lang.Boolean; @@ -28,12 +40,42 @@ @ResourceType(type="spotinst:index/elastigroupAzureV3:ElastigroupAzureV3") public class ElastigroupAzureV3 extends com.pulumi.resources.CustomResource { + @Export(name="availabilityVsCost", refs={Integer.class}, tree="[0]") + private Output availabilityVsCost; + + public Output> availabilityVsCost() { + return Codegen.optional(this.availabilityVsCost); + } + @Export(name="bootDiagnostics", refs={List.class,ElastigroupAzureV3BootDiagnostic.class}, tree="[0,1]") + private Output> bootDiagnostics; + + public Output> bootDiagnostics() { + return this.bootDiagnostics; + } + @Export(name="capacityReservation", refs={ElastigroupAzureV3CapacityReservation.class}, tree="[0]") + private Output capacityReservation; + + public Output> capacityReservation() { + return Codegen.optional(this.capacityReservation); + } @Export(name="customData", refs={String.class}, tree="[0]") private Output customData; public Output> customData() { return Codegen.optional(this.customData); } + @Export(name="dataDisks", refs={List.class,ElastigroupAzureV3DataDisk.class}, tree="[0,1]") + private Output> dataDisks; + + public Output>> dataDisks() { + return Codegen.optional(this.dataDisks); + } + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + public Output> description() { + return Codegen.optional(this.description); + } @Export(name="desiredCapacity", refs={Integer.class}, tree="[0]") private Output desiredCapacity; @@ -58,12 +100,24 @@ public Output> extensions() { public Output fallbackToOnDemand() { return this.fallbackToOnDemand; } + @Export(name="health", refs={ElastigroupAzureV3Health.class}, tree="[0]") + private Output health; + + public Output> health() { + return Codegen.optional(this.health); + } @Export(name="images", refs={List.class,ElastigroupAzureV3Image.class}, tree="[0,1]") private Output> images; public Output>> images() { return Codegen.optional(this.images); } + @Export(name="loadBalancers", refs={List.class,ElastigroupAzureV3LoadBalancer.class}, tree="[0,1]") + private Output> loadBalancers; + + public Output>> loadBalancers() { + return Codegen.optional(this.loadBalancers); + } @Export(name="login", refs={ElastigroupAzureV3Login.class}, tree="[0]") private Output login; @@ -106,12 +160,36 @@ public Output network() { public Output> onDemandCount() { return Codegen.optional(this.onDemandCount); } + @Export(name="optimizationWindows", refs={List.class,String.class}, tree="[0,1]") + private Output> optimizationWindows; + + public Output>> optimizationWindows() { + return Codegen.optional(this.optimizationWindows); + } @Export(name="os", refs={String.class}, tree="[0]") private Output os; public Output os() { return this.os; } + @Export(name="osDisk", refs={ElastigroupAzureV3OsDisk.class}, tree="[0]") + private Output osDisk; + + public Output> osDisk() { + return Codegen.optional(this.osDisk); + } + @Export(name="preferredZones", refs={List.class,String.class}, tree="[0,1]") + private Output> preferredZones; + + public Output>> preferredZones() { + return Codegen.optional(this.preferredZones); + } + @Export(name="proximityPlacementGroups", refs={List.class,ElastigroupAzureV3ProximityPlacementGroup.class}, tree="[0,1]") + private Output> proximityPlacementGroups; + + public Output>> proximityPlacementGroups() { + return Codegen.optional(this.proximityPlacementGroups); + } @Export(name="region", refs={String.class}, tree="[0]") private Output region; @@ -124,6 +202,12 @@ public Output region() { public Output resourceGroupName() { return this.resourceGroupName; } + @Export(name="revertToSpot", refs={ElastigroupAzureV3RevertToSpot.class}, tree="[0]") + private Output revertToSpot; + + public Output> revertToSpot() { + return Codegen.optional(this.revertToSpot); + } @Export(name="scalingDownPolicies", refs={List.class,ElastigroupAzureV3ScalingDownPolicy.class}, tree="[0,1]") private Output> scalingDownPolicies; @@ -136,6 +220,36 @@ public Output>> scalingDownPo public Output>> scalingUpPolicies() { return Codegen.optional(this.scalingUpPolicies); } + @Export(name="schedulingTasks", refs={List.class,ElastigroupAzureV3SchedulingTask.class}, tree="[0,1]") + private Output> schedulingTasks; + + public Output>> schedulingTasks() { + return Codegen.optional(this.schedulingTasks); + } + @Export(name="secrets", refs={List.class,ElastigroupAzureV3Secret.class}, tree="[0,1]") + private Output> secrets; + + public Output>> secrets() { + return Codegen.optional(this.secrets); + } + @Export(name="security", refs={ElastigroupAzureV3Security.class}, tree="[0]") + private Output security; + + public Output> security() { + return Codegen.optional(this.security); + } + @Export(name="shutdownScript", refs={String.class}, tree="[0]") + private Output shutdownScript; + + public Output> shutdownScript() { + return Codegen.optional(this.shutdownScript); + } + @Export(name="signals", refs={List.class,ElastigroupAzureV3Signal.class}, tree="[0,1]") + private Output> signals; + + public Output>> signals() { + return Codegen.optional(this.signals); + } @Export(name="spotPercentage", refs={Integer.class}, tree="[0]") private Output spotPercentage; @@ -148,12 +262,30 @@ public Output> spotPercentage() { public Output>> tags() { return Codegen.optional(this.tags); } + @Export(name="userData", refs={String.class}, tree="[0]") + private Output userData; + + public Output> userData() { + return Codegen.optional(this.userData); + } + @Export(name="vmNamePrefix", refs={String.class}, tree="[0]") + private Output vmNamePrefix; + + public Output> vmNamePrefix() { + return Codegen.optional(this.vmNamePrefix); + } @Export(name="vmSizes", refs={ElastigroupAzureV3VmSizes.class}, tree="[0]") private Output vmSizes; public Output vmSizes() { return this.vmSizes; } + @Export(name="zones", refs={List.class,String.class}, tree="[0,1]") + private Output> zones; + + public Output>> zones() { + return Codegen.optional(this.zones); + } /** * diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/ElastigroupAzureV3Args.java b/sdk/java/src/main/java/com/pulumi/spotinst/ElastigroupAzureV3Args.java index 4e93ce16..5688fa17 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/ElastigroupAzureV3Args.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/ElastigroupAzureV3Args.java @@ -6,13 +6,25 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3BootDiagnosticArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3CapacityReservationArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3DataDiskArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3ExtensionArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3HealthArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3ImageArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3LoadBalancerArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3LoginArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3ManagedServiceIdentityArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3NetworkArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3OsDiskArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3ProximityPlacementGroupArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3RevertToSpotArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3ScalingDownPolicyArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3ScalingUpPolicyArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3SchedulingTaskArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3SecretArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3SecurityArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3SignalArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3TagArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3VmSizesArgs; import java.lang.Boolean; @@ -28,6 +40,27 @@ public final class ElastigroupAzureV3Args extends com.pulumi.resources.ResourceA public static final ElastigroupAzureV3Args Empty = new ElastigroupAzureV3Args(); + @Import(name="availabilityVsCost") + private @Nullable Output availabilityVsCost; + + public Optional> availabilityVsCost() { + return Optional.ofNullable(this.availabilityVsCost); + } + + @Import(name="bootDiagnostics") + private @Nullable Output> bootDiagnostics; + + public Optional>> bootDiagnostics() { + return Optional.ofNullable(this.bootDiagnostics); + } + + @Import(name="capacityReservation") + private @Nullable Output capacityReservation; + + public Optional> capacityReservation() { + return Optional.ofNullable(this.capacityReservation); + } + @Import(name="customData") private @Nullable Output customData; @@ -35,6 +68,20 @@ public Optional> customData() { return Optional.ofNullable(this.customData); } + @Import(name="dataDisks") + private @Nullable Output> dataDisks; + + public Optional>> dataDisks() { + return Optional.ofNullable(this.dataDisks); + } + + @Import(name="description") + private @Nullable Output description; + + public Optional> description() { + return Optional.ofNullable(this.description); + } + @Import(name="desiredCapacity") private @Nullable Output desiredCapacity; @@ -63,6 +110,13 @@ public Output fallbackToOnDemand() { return this.fallbackToOnDemand; } + @Import(name="health") + private @Nullable Output health; + + public Optional> health() { + return Optional.ofNullable(this.health); + } + @Import(name="images") private @Nullable Output> images; @@ -70,6 +124,13 @@ public Optional>> images() { return Optional.ofNullable(this.images); } + @Import(name="loadBalancers") + private @Nullable Output> loadBalancers; + + public Optional>> loadBalancers() { + return Optional.ofNullable(this.loadBalancers); + } + @Import(name="login") private @Nullable Output login; @@ -119,6 +180,13 @@ public Optional> onDemandCount() { return Optional.ofNullable(this.onDemandCount); } + @Import(name="optimizationWindows") + private @Nullable Output> optimizationWindows; + + public Optional>> optimizationWindows() { + return Optional.ofNullable(this.optimizationWindows); + } + @Import(name="os", required=true) private Output os; @@ -126,6 +194,27 @@ public Output os() { return this.os; } + @Import(name="osDisk") + private @Nullable Output osDisk; + + public Optional> osDisk() { + return Optional.ofNullable(this.osDisk); + } + + @Import(name="preferredZones") + private @Nullable Output> preferredZones; + + public Optional>> preferredZones() { + return Optional.ofNullable(this.preferredZones); + } + + @Import(name="proximityPlacementGroups") + private @Nullable Output> proximityPlacementGroups; + + public Optional>> proximityPlacementGroups() { + return Optional.ofNullable(this.proximityPlacementGroups); + } + @Import(name="region", required=true) private Output region; @@ -140,6 +229,13 @@ public Output resourceGroupName() { return this.resourceGroupName; } + @Import(name="revertToSpot") + private @Nullable Output revertToSpot; + + public Optional> revertToSpot() { + return Optional.ofNullable(this.revertToSpot); + } + @Import(name="scalingDownPolicies") private @Nullable Output> scalingDownPolicies; @@ -154,6 +250,41 @@ public Optional>> scalingUpPo return Optional.ofNullable(this.scalingUpPolicies); } + @Import(name="schedulingTasks") + private @Nullable Output> schedulingTasks; + + public Optional>> schedulingTasks() { + return Optional.ofNullable(this.schedulingTasks); + } + + @Import(name="secrets") + private @Nullable Output> secrets; + + public Optional>> secrets() { + return Optional.ofNullable(this.secrets); + } + + @Import(name="security") + private @Nullable Output security; + + public Optional> security() { + return Optional.ofNullable(this.security); + } + + @Import(name="shutdownScript") + private @Nullable Output shutdownScript; + + public Optional> shutdownScript() { + return Optional.ofNullable(this.shutdownScript); + } + + @Import(name="signals") + private @Nullable Output> signals; + + public Optional>> signals() { + return Optional.ofNullable(this.signals); + } + @Import(name="spotPercentage") private @Nullable Output spotPercentage; @@ -168,6 +299,20 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + @Import(name="userData") + private @Nullable Output userData; + + public Optional> userData() { + return Optional.ofNullable(this.userData); + } + + @Import(name="vmNamePrefix") + private @Nullable Output vmNamePrefix; + + public Optional> vmNamePrefix() { + return Optional.ofNullable(this.vmNamePrefix); + } + @Import(name="vmSizes", required=true) private Output vmSizes; @@ -175,15 +320,29 @@ public Output vmSizes() { return this.vmSizes; } + @Import(name="zones") + private @Nullable Output> zones; + + public Optional>> zones() { + return Optional.ofNullable(this.zones); + } + private ElastigroupAzureV3Args() {} private ElastigroupAzureV3Args(ElastigroupAzureV3Args $) { + this.availabilityVsCost = $.availabilityVsCost; + this.bootDiagnostics = $.bootDiagnostics; + this.capacityReservation = $.capacityReservation; this.customData = $.customData; + this.dataDisks = $.dataDisks; + this.description = $.description; this.desiredCapacity = $.desiredCapacity; this.drainingTimeout = $.drainingTimeout; this.extensions = $.extensions; this.fallbackToOnDemand = $.fallbackToOnDemand; + this.health = $.health; this.images = $.images; + this.loadBalancers = $.loadBalancers; this.login = $.login; this.managedServiceIdentities = $.managedServiceIdentities; this.maxSize = $.maxSize; @@ -191,14 +350,27 @@ private ElastigroupAzureV3Args(ElastigroupAzureV3Args $) { this.name = $.name; this.network = $.network; this.onDemandCount = $.onDemandCount; + this.optimizationWindows = $.optimizationWindows; this.os = $.os; + this.osDisk = $.osDisk; + this.preferredZones = $.preferredZones; + this.proximityPlacementGroups = $.proximityPlacementGroups; this.region = $.region; this.resourceGroupName = $.resourceGroupName; + this.revertToSpot = $.revertToSpot; this.scalingDownPolicies = $.scalingDownPolicies; this.scalingUpPolicies = $.scalingUpPolicies; + this.schedulingTasks = $.schedulingTasks; + this.secrets = $.secrets; + this.security = $.security; + this.shutdownScript = $.shutdownScript; + this.signals = $.signals; this.spotPercentage = $.spotPercentage; this.tags = $.tags; + this.userData = $.userData; + this.vmNamePrefix = $.vmNamePrefix; this.vmSizes = $.vmSizes; + this.zones = $.zones; } public static Builder builder() { @@ -219,6 +391,37 @@ public Builder(ElastigroupAzureV3Args defaults) { $ = new ElastigroupAzureV3Args(Objects.requireNonNull(defaults)); } + public Builder availabilityVsCost(@Nullable Output availabilityVsCost) { + $.availabilityVsCost = availabilityVsCost; + return this; + } + + public Builder availabilityVsCost(Integer availabilityVsCost) { + return availabilityVsCost(Output.of(availabilityVsCost)); + } + + public Builder bootDiagnostics(@Nullable Output> bootDiagnostics) { + $.bootDiagnostics = bootDiagnostics; + return this; + } + + public Builder bootDiagnostics(List bootDiagnostics) { + return bootDiagnostics(Output.of(bootDiagnostics)); + } + + public Builder bootDiagnostics(ElastigroupAzureV3BootDiagnosticArgs... bootDiagnostics) { + return bootDiagnostics(List.of(bootDiagnostics)); + } + + public Builder capacityReservation(@Nullable Output capacityReservation) { + $.capacityReservation = capacityReservation; + return this; + } + + public Builder capacityReservation(ElastigroupAzureV3CapacityReservationArgs capacityReservation) { + return capacityReservation(Output.of(capacityReservation)); + } + public Builder customData(@Nullable Output customData) { $.customData = customData; return this; @@ -228,6 +431,28 @@ public Builder customData(String customData) { return customData(Output.of(customData)); } + public Builder dataDisks(@Nullable Output> dataDisks) { + $.dataDisks = dataDisks; + return this; + } + + public Builder dataDisks(List dataDisks) { + return dataDisks(Output.of(dataDisks)); + } + + public Builder dataDisks(ElastigroupAzureV3DataDiskArgs... dataDisks) { + return dataDisks(List.of(dataDisks)); + } + + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + public Builder description(String description) { + return description(Output.of(description)); + } + public Builder desiredCapacity(@Nullable Output desiredCapacity) { $.desiredCapacity = desiredCapacity; return this; @@ -268,6 +493,15 @@ public Builder fallbackToOnDemand(Boolean fallbackToOnDemand) { return fallbackToOnDemand(Output.of(fallbackToOnDemand)); } + public Builder health(@Nullable Output health) { + $.health = health; + return this; + } + + public Builder health(ElastigroupAzureV3HealthArgs health) { + return health(Output.of(health)); + } + public Builder images(@Nullable Output> images) { $.images = images; return this; @@ -281,6 +515,19 @@ public Builder images(ElastigroupAzureV3ImageArgs... images) { return images(List.of(images)); } + public Builder loadBalancers(@Nullable Output> loadBalancers) { + $.loadBalancers = loadBalancers; + return this; + } + + public Builder loadBalancers(List loadBalancers) { + return loadBalancers(Output.of(loadBalancers)); + } + + public Builder loadBalancers(ElastigroupAzureV3LoadBalancerArgs... loadBalancers) { + return loadBalancers(List.of(loadBalancers)); + } + public Builder login(@Nullable Output login) { $.login = login; return this; @@ -348,6 +595,19 @@ public Builder onDemandCount(Integer onDemandCount) { return onDemandCount(Output.of(onDemandCount)); } + public Builder optimizationWindows(@Nullable Output> optimizationWindows) { + $.optimizationWindows = optimizationWindows; + return this; + } + + public Builder optimizationWindows(List optimizationWindows) { + return optimizationWindows(Output.of(optimizationWindows)); + } + + public Builder optimizationWindows(String... optimizationWindows) { + return optimizationWindows(List.of(optimizationWindows)); + } + public Builder os(Output os) { $.os = os; return this; @@ -357,6 +617,41 @@ public Builder os(String os) { return os(Output.of(os)); } + public Builder osDisk(@Nullable Output osDisk) { + $.osDisk = osDisk; + return this; + } + + public Builder osDisk(ElastigroupAzureV3OsDiskArgs osDisk) { + return osDisk(Output.of(osDisk)); + } + + public Builder preferredZones(@Nullable Output> preferredZones) { + $.preferredZones = preferredZones; + return this; + } + + public Builder preferredZones(List preferredZones) { + return preferredZones(Output.of(preferredZones)); + } + + public Builder preferredZones(String... preferredZones) { + return preferredZones(List.of(preferredZones)); + } + + public Builder proximityPlacementGroups(@Nullable Output> proximityPlacementGroups) { + $.proximityPlacementGroups = proximityPlacementGroups; + return this; + } + + public Builder proximityPlacementGroups(List proximityPlacementGroups) { + return proximityPlacementGroups(Output.of(proximityPlacementGroups)); + } + + public Builder proximityPlacementGroups(ElastigroupAzureV3ProximityPlacementGroupArgs... proximityPlacementGroups) { + return proximityPlacementGroups(List.of(proximityPlacementGroups)); + } + public Builder region(Output region) { $.region = region; return this; @@ -375,6 +670,15 @@ public Builder resourceGroupName(String resourceGroupName) { return resourceGroupName(Output.of(resourceGroupName)); } + public Builder revertToSpot(@Nullable Output revertToSpot) { + $.revertToSpot = revertToSpot; + return this; + } + + public Builder revertToSpot(ElastigroupAzureV3RevertToSpotArgs revertToSpot) { + return revertToSpot(Output.of(revertToSpot)); + } + public Builder scalingDownPolicies(@Nullable Output> scalingDownPolicies) { $.scalingDownPolicies = scalingDownPolicies; return this; @@ -401,6 +705,63 @@ public Builder scalingUpPolicies(ElastigroupAzureV3ScalingUpPolicyArgs... scalin return scalingUpPolicies(List.of(scalingUpPolicies)); } + public Builder schedulingTasks(@Nullable Output> schedulingTasks) { + $.schedulingTasks = schedulingTasks; + return this; + } + + public Builder schedulingTasks(List schedulingTasks) { + return schedulingTasks(Output.of(schedulingTasks)); + } + + public Builder schedulingTasks(ElastigroupAzureV3SchedulingTaskArgs... schedulingTasks) { + return schedulingTasks(List.of(schedulingTasks)); + } + + public Builder secrets(@Nullable Output> secrets) { + $.secrets = secrets; + return this; + } + + public Builder secrets(List secrets) { + return secrets(Output.of(secrets)); + } + + public Builder secrets(ElastigroupAzureV3SecretArgs... secrets) { + return secrets(List.of(secrets)); + } + + public Builder security(@Nullable Output security) { + $.security = security; + return this; + } + + public Builder security(ElastigroupAzureV3SecurityArgs security) { + return security(Output.of(security)); + } + + public Builder shutdownScript(@Nullable Output shutdownScript) { + $.shutdownScript = shutdownScript; + return this; + } + + public Builder shutdownScript(String shutdownScript) { + return shutdownScript(Output.of(shutdownScript)); + } + + public Builder signals(@Nullable Output> signals) { + $.signals = signals; + return this; + } + + public Builder signals(List signals) { + return signals(Output.of(signals)); + } + + public Builder signals(ElastigroupAzureV3SignalArgs... signals) { + return signals(List.of(signals)); + } + public Builder spotPercentage(@Nullable Output spotPercentage) { $.spotPercentage = spotPercentage; return this; @@ -423,6 +784,24 @@ public Builder tags(ElastigroupAzureV3TagArgs... tags) { return tags(List.of(tags)); } + public Builder userData(@Nullable Output userData) { + $.userData = userData; + return this; + } + + public Builder userData(String userData) { + return userData(Output.of(userData)); + } + + public Builder vmNamePrefix(@Nullable Output vmNamePrefix) { + $.vmNamePrefix = vmNamePrefix; + return this; + } + + public Builder vmNamePrefix(String vmNamePrefix) { + return vmNamePrefix(Output.of(vmNamePrefix)); + } + public Builder vmSizes(Output vmSizes) { $.vmSizes = vmSizes; return this; @@ -432,6 +811,19 @@ public Builder vmSizes(ElastigroupAzureV3VmSizesArgs vmSizes) { return vmSizes(Output.of(vmSizes)); } + public Builder zones(@Nullable Output> zones) { + $.zones = zones; + return this; + } + + public Builder zones(List zones) { + return zones(Output.of(zones)); + } + + public Builder zones(String... zones) { + return zones(List.of(zones)); + } + public ElastigroupAzureV3Args build() { if ($.fallbackToOnDemand == null) { throw new MissingRequiredPropertyException("ElastigroupAzureV3Args", "fallbackToOnDemand"); diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanLaunchSpecUpdatePolicyRollConfigArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanLaunchSpecUpdatePolicyRollConfigArgs.java index 7d235c59..824d2937 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanLaunchSpecUpdatePolicyRollConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/inputs/OceanLaunchSpecUpdatePolicyRollConfigArgs.java @@ -6,8 +6,11 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; import java.lang.Integer; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class OceanLaunchSpecUpdatePolicyRollConfigArgs extends com.pulumi.resources.ResourceArgs { @@ -29,10 +32,26 @@ public Output batchSizePercentage() { return this.batchSizePercentage; } + /** + * During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + * + */ + @Import(name="respectPdb") + private @Nullable Output respectPdb; + + /** + * @return During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + * + */ + public Optional> respectPdb() { + return Optional.ofNullable(this.respectPdb); + } + private OceanLaunchSpecUpdatePolicyRollConfigArgs() {} private OceanLaunchSpecUpdatePolicyRollConfigArgs(OceanLaunchSpecUpdatePolicyRollConfigArgs $) { this.batchSizePercentage = $.batchSizePercentage; + this.respectPdb = $.respectPdb; } public static Builder builder() { @@ -74,6 +93,27 @@ public Builder batchSizePercentage(Integer batchSizePercentage) { return batchSizePercentage(Output.of(batchSizePercentage)); } + /** + * @param respectPdb During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + * + * @return builder + * + */ + public Builder respectPdb(@Nullable Output respectPdb) { + $.respectPdb = respectPdb; + return this; + } + + /** + * @param respectPdb During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + * + * @return builder + * + */ + public Builder respectPdb(Boolean respectPdb) { + return respectPdb(Output.of(respectPdb)); + } + public OceanLaunchSpecUpdatePolicyRollConfigArgs build() { if ($.batchSizePercentage == null) { throw new MissingRequiredPropertyException("OceanLaunchSpecUpdatePolicyRollConfigArgs", "batchSizePercentage"); diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanLaunchSpecUpdatePolicyRollConfig.java b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanLaunchSpecUpdatePolicyRollConfig.java index 132acb66..c5ace3ee 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanLaunchSpecUpdatePolicyRollConfig.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/aws/outputs/OceanLaunchSpecUpdatePolicyRollConfig.java @@ -5,8 +5,11 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; import java.lang.Integer; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class OceanLaunchSpecUpdatePolicyRollConfig { @@ -15,6 +18,11 @@ public final class OceanLaunchSpecUpdatePolicyRollConfig { * */ private Integer batchSizePercentage; + /** + * @return During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + * + */ + private @Nullable Boolean respectPdb; private OceanLaunchSpecUpdatePolicyRollConfig() {} /** @@ -24,6 +32,13 @@ private OceanLaunchSpecUpdatePolicyRollConfig() {} public Integer batchSizePercentage() { return this.batchSizePercentage; } + /** + * @return During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + * + */ + public Optional respectPdb() { + return Optional.ofNullable(this.respectPdb); + } public static Builder builder() { return new Builder(); @@ -35,10 +50,12 @@ public static Builder builder(OceanLaunchSpecUpdatePolicyRollConfig defaults) { @CustomType.Builder public static final class Builder { private Integer batchSizePercentage; + private @Nullable Boolean respectPdb; public Builder() {} public Builder(OceanLaunchSpecUpdatePolicyRollConfig defaults) { Objects.requireNonNull(defaults); this.batchSizePercentage = defaults.batchSizePercentage; + this.respectPdb = defaults.respectPdb; } @CustomType.Setter @@ -49,9 +66,16 @@ public Builder batchSizePercentage(Integer batchSizePercentage) { this.batchSizePercentage = batchSizePercentage; return this; } + @CustomType.Setter + public Builder respectPdb(@Nullable Boolean respectPdb) { + + this.respectPdb = respectPdb; + return this; + } public OceanLaunchSpecUpdatePolicyRollConfig build() { final var _resultValue = new OceanLaunchSpecUpdatePolicyRollConfig(); _resultValue.batchSizePercentage = batchSizePercentage; + _resultValue.respectPdb = respectPdb; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3BootDiagnosticArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3BootDiagnosticArgs.java new file mode 100644 index 00000000..9b3d892d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3BootDiagnosticArgs.java @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ElastigroupAzureV3BootDiagnosticArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3BootDiagnosticArgs Empty = new ElastigroupAzureV3BootDiagnosticArgs(); + + @Import(name="isEnabled", required=true) + private Output isEnabled; + + public Output isEnabled() { + return this.isEnabled; + } + + @Import(name="storageUrl") + private @Nullable Output storageUrl; + + public Optional> storageUrl() { + return Optional.ofNullable(this.storageUrl); + } + + @Import(name="type", required=true) + private Output type; + + public Output type() { + return this.type; + } + + private ElastigroupAzureV3BootDiagnosticArgs() {} + + private ElastigroupAzureV3BootDiagnosticArgs(ElastigroupAzureV3BootDiagnosticArgs $) { + this.isEnabled = $.isEnabled; + this.storageUrl = $.storageUrl; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3BootDiagnosticArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3BootDiagnosticArgs $; + + public Builder() { + $ = new ElastigroupAzureV3BootDiagnosticArgs(); + } + + public Builder(ElastigroupAzureV3BootDiagnosticArgs defaults) { + $ = new ElastigroupAzureV3BootDiagnosticArgs(Objects.requireNonNull(defaults)); + } + + public Builder isEnabled(Output isEnabled) { + $.isEnabled = isEnabled; + return this; + } + + public Builder isEnabled(Boolean isEnabled) { + return isEnabled(Output.of(isEnabled)); + } + + public Builder storageUrl(@Nullable Output storageUrl) { + $.storageUrl = storageUrl; + return this; + } + + public Builder storageUrl(String storageUrl) { + return storageUrl(Output.of(storageUrl)); + } + + public Builder type(Output type) { + $.type = type; + return this; + } + + public Builder type(String type) { + return type(Output.of(type)); + } + + public ElastigroupAzureV3BootDiagnosticArgs build() { + if ($.isEnabled == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3BootDiagnosticArgs", "isEnabled"); + } + if ($.type == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3BootDiagnosticArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3CapacityReservationArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3CapacityReservationArgs.java new file mode 100644 index 00000000..9da15abe --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3CapacityReservationArgs.java @@ -0,0 +1,106 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ElastigroupAzureV3CapacityReservationArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3CapacityReservationArgs Empty = new ElastigroupAzureV3CapacityReservationArgs(); + + @Import(name="capacityReservationGroups") + private @Nullable Output capacityReservationGroups; + + public Optional> capacityReservationGroups() { + return Optional.ofNullable(this.capacityReservationGroups); + } + + @Import(name="shouldUtilize", required=true) + private Output shouldUtilize; + + public Output shouldUtilize() { + return this.shouldUtilize; + } + + @Import(name="utilizationStrategy", required=true) + private Output utilizationStrategy; + + public Output utilizationStrategy() { + return this.utilizationStrategy; + } + + private ElastigroupAzureV3CapacityReservationArgs() {} + + private ElastigroupAzureV3CapacityReservationArgs(ElastigroupAzureV3CapacityReservationArgs $) { + this.capacityReservationGroups = $.capacityReservationGroups; + this.shouldUtilize = $.shouldUtilize; + this.utilizationStrategy = $.utilizationStrategy; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3CapacityReservationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3CapacityReservationArgs $; + + public Builder() { + $ = new ElastigroupAzureV3CapacityReservationArgs(); + } + + public Builder(ElastigroupAzureV3CapacityReservationArgs defaults) { + $ = new ElastigroupAzureV3CapacityReservationArgs(Objects.requireNonNull(defaults)); + } + + public Builder capacityReservationGroups(@Nullable Output capacityReservationGroups) { + $.capacityReservationGroups = capacityReservationGroups; + return this; + } + + public Builder capacityReservationGroups(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs capacityReservationGroups) { + return capacityReservationGroups(Output.of(capacityReservationGroups)); + } + + public Builder shouldUtilize(Output shouldUtilize) { + $.shouldUtilize = shouldUtilize; + return this; + } + + public Builder shouldUtilize(Boolean shouldUtilize) { + return shouldUtilize(Output.of(shouldUtilize)); + } + + public Builder utilizationStrategy(Output utilizationStrategy) { + $.utilizationStrategy = utilizationStrategy; + return this; + } + + public Builder utilizationStrategy(String utilizationStrategy) { + return utilizationStrategy(Output.of(utilizationStrategy)); + } + + public ElastigroupAzureV3CapacityReservationArgs build() { + if ($.shouldUtilize == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3CapacityReservationArgs", "shouldUtilize"); + } + if ($.utilizationStrategy == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3CapacityReservationArgs", "utilizationStrategy"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs.java new file mode 100644 index 00000000..ced02fa5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs.java @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs Empty = new ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs(); + + @Import(name="crgName", required=true) + private Output crgName; + + public Output crgName() { + return this.crgName; + } + + @Import(name="crgResourceGroupName", required=true) + private Output crgResourceGroupName; + + public Output crgResourceGroupName() { + return this.crgResourceGroupName; + } + + @Import(name="crgShouldPrioritize") + private @Nullable Output crgShouldPrioritize; + + public Optional> crgShouldPrioritize() { + return Optional.ofNullable(this.crgShouldPrioritize); + } + + private ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs() {} + + private ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs $) { + this.crgName = $.crgName; + this.crgResourceGroupName = $.crgResourceGroupName; + this.crgShouldPrioritize = $.crgShouldPrioritize; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs $; + + public Builder() { + $ = new ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs(); + } + + public Builder(ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs defaults) { + $ = new ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs(Objects.requireNonNull(defaults)); + } + + public Builder crgName(Output crgName) { + $.crgName = crgName; + return this; + } + + public Builder crgName(String crgName) { + return crgName(Output.of(crgName)); + } + + public Builder crgResourceGroupName(Output crgResourceGroupName) { + $.crgResourceGroupName = crgResourceGroupName; + return this; + } + + public Builder crgResourceGroupName(String crgResourceGroupName) { + return crgResourceGroupName(Output.of(crgResourceGroupName)); + } + + public Builder crgShouldPrioritize(@Nullable Output crgShouldPrioritize) { + $.crgShouldPrioritize = crgShouldPrioritize; + return this; + } + + public Builder crgShouldPrioritize(Boolean crgShouldPrioritize) { + return crgShouldPrioritize(Output.of(crgShouldPrioritize)); + } + + public ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs build() { + if ($.crgName == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs", "crgName"); + } + if ($.crgResourceGroupName == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs", "crgResourceGroupName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3DataDiskArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3DataDiskArgs.java new file mode 100644 index 00000000..2418f65f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3DataDiskArgs.java @@ -0,0 +1,106 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + + +public final class ElastigroupAzureV3DataDiskArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3DataDiskArgs Empty = new ElastigroupAzureV3DataDiskArgs(); + + @Import(name="lun", required=true) + private Output lun; + + public Output lun() { + return this.lun; + } + + @Import(name="sizeGb", required=true) + private Output sizeGb; + + public Output sizeGb() { + return this.sizeGb; + } + + @Import(name="type", required=true) + private Output type; + + public Output type() { + return this.type; + } + + private ElastigroupAzureV3DataDiskArgs() {} + + private ElastigroupAzureV3DataDiskArgs(ElastigroupAzureV3DataDiskArgs $) { + this.lun = $.lun; + this.sizeGb = $.sizeGb; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3DataDiskArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3DataDiskArgs $; + + public Builder() { + $ = new ElastigroupAzureV3DataDiskArgs(); + } + + public Builder(ElastigroupAzureV3DataDiskArgs defaults) { + $ = new ElastigroupAzureV3DataDiskArgs(Objects.requireNonNull(defaults)); + } + + public Builder lun(Output lun) { + $.lun = lun; + return this; + } + + public Builder lun(Integer lun) { + return lun(Output.of(lun)); + } + + public Builder sizeGb(Output sizeGb) { + $.sizeGb = sizeGb; + return this; + } + + public Builder sizeGb(Integer sizeGb) { + return sizeGb(Output.of(sizeGb)); + } + + public Builder type(Output type) { + $.type = type; + return this; + } + + public Builder type(String type) { + return type(Output.of(type)); + } + + public ElastigroupAzureV3DataDiskArgs build() { + if ($.lun == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3DataDiskArgs", "lun"); + } + if ($.sizeGb == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3DataDiskArgs", "sizeGb"); + } + if ($.type == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3DataDiskArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3HealthArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3HealthArgs.java new file mode 100644 index 00000000..1dd9a610 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3HealthArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ElastigroupAzureV3HealthArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3HealthArgs Empty = new ElastigroupAzureV3HealthArgs(); + + @Import(name="autoHealing") + private @Nullable Output autoHealing; + + public Optional> autoHealing() { + return Optional.ofNullable(this.autoHealing); + } + + @Import(name="gracePeriod") + private @Nullable Output gracePeriod; + + public Optional> gracePeriod() { + return Optional.ofNullable(this.gracePeriod); + } + + @Import(name="healthCheckTypes") + private @Nullable Output> healthCheckTypes; + + public Optional>> healthCheckTypes() { + return Optional.ofNullable(this.healthCheckTypes); + } + + @Import(name="unhealthyDuration") + private @Nullable Output unhealthyDuration; + + public Optional> unhealthyDuration() { + return Optional.ofNullable(this.unhealthyDuration); + } + + private ElastigroupAzureV3HealthArgs() {} + + private ElastigroupAzureV3HealthArgs(ElastigroupAzureV3HealthArgs $) { + this.autoHealing = $.autoHealing; + this.gracePeriod = $.gracePeriod; + this.healthCheckTypes = $.healthCheckTypes; + this.unhealthyDuration = $.unhealthyDuration; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3HealthArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3HealthArgs $; + + public Builder() { + $ = new ElastigroupAzureV3HealthArgs(); + } + + public Builder(ElastigroupAzureV3HealthArgs defaults) { + $ = new ElastigroupAzureV3HealthArgs(Objects.requireNonNull(defaults)); + } + + public Builder autoHealing(@Nullable Output autoHealing) { + $.autoHealing = autoHealing; + return this; + } + + public Builder autoHealing(Boolean autoHealing) { + return autoHealing(Output.of(autoHealing)); + } + + public Builder gracePeriod(@Nullable Output gracePeriod) { + $.gracePeriod = gracePeriod; + return this; + } + + public Builder gracePeriod(Integer gracePeriod) { + return gracePeriod(Output.of(gracePeriod)); + } + + public Builder healthCheckTypes(@Nullable Output> healthCheckTypes) { + $.healthCheckTypes = healthCheckTypes; + return this; + } + + public Builder healthCheckTypes(List healthCheckTypes) { + return healthCheckTypes(Output.of(healthCheckTypes)); + } + + public Builder healthCheckTypes(String... healthCheckTypes) { + return healthCheckTypes(List.of(healthCheckTypes)); + } + + public Builder unhealthyDuration(@Nullable Output unhealthyDuration) { + $.unhealthyDuration = unhealthyDuration; + return this; + } + + public Builder unhealthyDuration(Integer unhealthyDuration) { + return unhealthyDuration(Output.of(unhealthyDuration)); + } + + public ElastigroupAzureV3HealthArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3LoadBalancerArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3LoadBalancerArgs.java new file mode 100644 index 00000000..7cb69b21 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3LoadBalancerArgs.java @@ -0,0 +1,146 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ElastigroupAzureV3LoadBalancerArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3LoadBalancerArgs Empty = new ElastigroupAzureV3LoadBalancerArgs(); + + @Import(name="backendPoolNames") + private @Nullable Output> backendPoolNames; + + public Optional>> backendPoolNames() { + return Optional.ofNullable(this.backendPoolNames); + } + + @Import(name="name", required=true) + private Output name; + + public Output name() { + return this.name; + } + + @Import(name="resourceGroupName", required=true) + private Output resourceGroupName; + + public Output resourceGroupName() { + return this.resourceGroupName; + } + + @Import(name="sku") + private @Nullable Output sku; + + public Optional> sku() { + return Optional.ofNullable(this.sku); + } + + @Import(name="type", required=true) + private Output type; + + public Output type() { + return this.type; + } + + private ElastigroupAzureV3LoadBalancerArgs() {} + + private ElastigroupAzureV3LoadBalancerArgs(ElastigroupAzureV3LoadBalancerArgs $) { + this.backendPoolNames = $.backendPoolNames; + this.name = $.name; + this.resourceGroupName = $.resourceGroupName; + this.sku = $.sku; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3LoadBalancerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3LoadBalancerArgs $; + + public Builder() { + $ = new ElastigroupAzureV3LoadBalancerArgs(); + } + + public Builder(ElastigroupAzureV3LoadBalancerArgs defaults) { + $ = new ElastigroupAzureV3LoadBalancerArgs(Objects.requireNonNull(defaults)); + } + + public Builder backendPoolNames(@Nullable Output> backendPoolNames) { + $.backendPoolNames = backendPoolNames; + return this; + } + + public Builder backendPoolNames(List backendPoolNames) { + return backendPoolNames(Output.of(backendPoolNames)); + } + + public Builder backendPoolNames(String... backendPoolNames) { + return backendPoolNames(List.of(backendPoolNames)); + } + + public Builder name(Output name) { + $.name = name; + return this; + } + + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder resourceGroupName(Output resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + public Builder resourceGroupName(String resourceGroupName) { + return resourceGroupName(Output.of(resourceGroupName)); + } + + public Builder sku(@Nullable Output sku) { + $.sku = sku; + return this; + } + + public Builder sku(String sku) { + return sku(Output.of(sku)); + } + + public Builder type(Output type) { + $.type = type; + return this; + } + + public Builder type(String type) { + return type(Output.of(type)); + } + + public ElastigroupAzureV3LoadBalancerArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3LoadBalancerArgs", "name"); + } + if ($.resourceGroupName == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3LoadBalancerArgs", "resourceGroupName"); + } + if ($.type == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3LoadBalancerArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3NetworkNetworkInterfaceArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3NetworkNetworkInterfaceArgs.java index cd0fb037..66d2add1 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3NetworkNetworkInterfaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3NetworkNetworkInterfaceArgs.java @@ -8,6 +8,7 @@ import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.spotinst.inputs.ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs; import java.lang.Boolean; import java.lang.String; import java.util.List; @@ -41,6 +42,13 @@ public Output assignPublicIp() { return this.assignPublicIp; } + @Import(name="enableIpForwarding") + private @Nullable Output enableIpForwarding; + + public Optional> enableIpForwarding() { + return Optional.ofNullable(this.enableIpForwarding); + } + @Import(name="isPrimary", required=true) private Output isPrimary; @@ -48,6 +56,27 @@ public Output isPrimary() { return this.isPrimary; } + @Import(name="privateIpAddresses") + private @Nullable Output> privateIpAddresses; + + public Optional>> privateIpAddresses() { + return Optional.ofNullable(this.privateIpAddresses); + } + + @Import(name="publicIpSku") + private @Nullable Output publicIpSku; + + public Optional> publicIpSku() { + return Optional.ofNullable(this.publicIpSku); + } + + @Import(name="securityGroups") + private @Nullable Output> securityGroups; + + public Optional>> securityGroups() { + return Optional.ofNullable(this.securityGroups); + } + @Import(name="subnetName", required=true) private Output subnetName; @@ -61,7 +90,11 @@ private ElastigroupAzureV3NetworkNetworkInterfaceArgs(ElastigroupAzureV3NetworkN this.additionalIpConfigs = $.additionalIpConfigs; this.applicationSecurityGroups = $.applicationSecurityGroups; this.assignPublicIp = $.assignPublicIp; + this.enableIpForwarding = $.enableIpForwarding; this.isPrimary = $.isPrimary; + this.privateIpAddresses = $.privateIpAddresses; + this.publicIpSku = $.publicIpSku; + this.securityGroups = $.securityGroups; this.subnetName = $.subnetName; } @@ -118,6 +151,15 @@ public Builder assignPublicIp(Boolean assignPublicIp) { return assignPublicIp(Output.of(assignPublicIp)); } + public Builder enableIpForwarding(@Nullable Output enableIpForwarding) { + $.enableIpForwarding = enableIpForwarding; + return this; + } + + public Builder enableIpForwarding(Boolean enableIpForwarding) { + return enableIpForwarding(Output.of(enableIpForwarding)); + } + public Builder isPrimary(Output isPrimary) { $.isPrimary = isPrimary; return this; @@ -127,6 +169,41 @@ public Builder isPrimary(Boolean isPrimary) { return isPrimary(Output.of(isPrimary)); } + public Builder privateIpAddresses(@Nullable Output> privateIpAddresses) { + $.privateIpAddresses = privateIpAddresses; + return this; + } + + public Builder privateIpAddresses(List privateIpAddresses) { + return privateIpAddresses(Output.of(privateIpAddresses)); + } + + public Builder privateIpAddresses(String... privateIpAddresses) { + return privateIpAddresses(List.of(privateIpAddresses)); + } + + public Builder publicIpSku(@Nullable Output publicIpSku) { + $.publicIpSku = publicIpSku; + return this; + } + + public Builder publicIpSku(String publicIpSku) { + return publicIpSku(Output.of(publicIpSku)); + } + + public Builder securityGroups(@Nullable Output> securityGroups) { + $.securityGroups = securityGroups; + return this; + } + + public Builder securityGroups(List securityGroups) { + return securityGroups(Output.of(securityGroups)); + } + + public Builder securityGroups(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs... securityGroups) { + return securityGroups(List.of(securityGroups)); + } + public Builder subnetName(Output subnetName) { $.subnetName = subnetName; return this; diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs.java new file mode 100644 index 00000000..4b7ea62d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs.java @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs Empty = new ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs(); + + @Import(name="name") + private @Nullable Output name; + + public Optional> name() { + return Optional.ofNullable(this.name); + } + + @Import(name="resourceGroupName") + private @Nullable Output resourceGroupName; + + public Optional> resourceGroupName() { + return Optional.ofNullable(this.resourceGroupName); + } + + private ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs() {} + + private ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs $) { + this.name = $.name; + this.resourceGroupName = $.resourceGroupName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs $; + + public Builder() { + $ = new ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs(); + } + + public Builder(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs defaults) { + $ = new ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs(Objects.requireNonNull(defaults)); + } + + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder resourceGroupName(@Nullable Output resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + public Builder resourceGroupName(String resourceGroupName) { + return resourceGroupName(Output.of(resourceGroupName)); + } + + public ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3OsDiskArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3OsDiskArgs.java new file mode 100644 index 00000000..1a37644b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3OsDiskArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ElastigroupAzureV3OsDiskArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3OsDiskArgs Empty = new ElastigroupAzureV3OsDiskArgs(); + + @Import(name="sizeGb") + private @Nullable Output sizeGb; + + public Optional> sizeGb() { + return Optional.ofNullable(this.sizeGb); + } + + @Import(name="type", required=true) + private Output type; + + public Output type() { + return this.type; + } + + private ElastigroupAzureV3OsDiskArgs() {} + + private ElastigroupAzureV3OsDiskArgs(ElastigroupAzureV3OsDiskArgs $) { + this.sizeGb = $.sizeGb; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3OsDiskArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3OsDiskArgs $; + + public Builder() { + $ = new ElastigroupAzureV3OsDiskArgs(); + } + + public Builder(ElastigroupAzureV3OsDiskArgs defaults) { + $ = new ElastigroupAzureV3OsDiskArgs(Objects.requireNonNull(defaults)); + } + + public Builder sizeGb(@Nullable Output sizeGb) { + $.sizeGb = sizeGb; + return this; + } + + public Builder sizeGb(Integer sizeGb) { + return sizeGb(Output.of(sizeGb)); + } + + public Builder type(Output type) { + $.type = type; + return this; + } + + public Builder type(String type) { + return type(Output.of(type)); + } + + public ElastigroupAzureV3OsDiskArgs build() { + if ($.type == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3OsDiskArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3ProximityPlacementGroupArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3ProximityPlacementGroupArgs.java new file mode 100644 index 00000000..2fc7979e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3ProximityPlacementGroupArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class ElastigroupAzureV3ProximityPlacementGroupArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3ProximityPlacementGroupArgs Empty = new ElastigroupAzureV3ProximityPlacementGroupArgs(); + + @Import(name="name", required=true) + private Output name; + + public Output name() { + return this.name; + } + + @Import(name="resourceGroupName", required=true) + private Output resourceGroupName; + + public Output resourceGroupName() { + return this.resourceGroupName; + } + + private ElastigroupAzureV3ProximityPlacementGroupArgs() {} + + private ElastigroupAzureV3ProximityPlacementGroupArgs(ElastigroupAzureV3ProximityPlacementGroupArgs $) { + this.name = $.name; + this.resourceGroupName = $.resourceGroupName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3ProximityPlacementGroupArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3ProximityPlacementGroupArgs $; + + public Builder() { + $ = new ElastigroupAzureV3ProximityPlacementGroupArgs(); + } + + public Builder(ElastigroupAzureV3ProximityPlacementGroupArgs defaults) { + $ = new ElastigroupAzureV3ProximityPlacementGroupArgs(Objects.requireNonNull(defaults)); + } + + public Builder name(Output name) { + $.name = name; + return this; + } + + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder resourceGroupName(Output resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + public Builder resourceGroupName(String resourceGroupName) { + return resourceGroupName(Output.of(resourceGroupName)); + } + + public ElastigroupAzureV3ProximityPlacementGroupArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3ProximityPlacementGroupArgs", "name"); + } + if ($.resourceGroupName == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3ProximityPlacementGroupArgs", "resourceGroupName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3RevertToSpotArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3RevertToSpotArgs.java new file mode 100644 index 00000000..99decc26 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3RevertToSpotArgs.java @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class ElastigroupAzureV3RevertToSpotArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3RevertToSpotArgs Empty = new ElastigroupAzureV3RevertToSpotArgs(); + + @Import(name="performAt", required=true) + private Output performAt; + + public Output performAt() { + return this.performAt; + } + + private ElastigroupAzureV3RevertToSpotArgs() {} + + private ElastigroupAzureV3RevertToSpotArgs(ElastigroupAzureV3RevertToSpotArgs $) { + this.performAt = $.performAt; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3RevertToSpotArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3RevertToSpotArgs $; + + public Builder() { + $ = new ElastigroupAzureV3RevertToSpotArgs(); + } + + public Builder(ElastigroupAzureV3RevertToSpotArgs defaults) { + $ = new ElastigroupAzureV3RevertToSpotArgs(Objects.requireNonNull(defaults)); + } + + public Builder performAt(Output performAt) { + $.performAt = performAt; + return this; + } + + public Builder performAt(String performAt) { + return performAt(Output.of(performAt)); + } + + public ElastigroupAzureV3RevertToSpotArgs build() { + if ($.performAt == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3RevertToSpotArgs", "performAt"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SchedulingTaskArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SchedulingTaskArgs.java new file mode 100644 index 00000000..03fc5e9d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SchedulingTaskArgs.java @@ -0,0 +1,227 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ElastigroupAzureV3SchedulingTaskArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3SchedulingTaskArgs Empty = new ElastigroupAzureV3SchedulingTaskArgs(); + + @Import(name="adjustment") + private @Nullable Output adjustment; + + public Optional> adjustment() { + return Optional.ofNullable(this.adjustment); + } + + @Import(name="adjustmentPercentage") + private @Nullable Output adjustmentPercentage; + + public Optional> adjustmentPercentage() { + return Optional.ofNullable(this.adjustmentPercentage); + } + + @Import(name="batchSizePercentage") + private @Nullable Output batchSizePercentage; + + public Optional> batchSizePercentage() { + return Optional.ofNullable(this.batchSizePercentage); + } + + @Import(name="cronExpression", required=true) + private Output cronExpression; + + public Output cronExpression() { + return this.cronExpression; + } + + @Import(name="gracePeriod") + private @Nullable Output gracePeriod; + + public Optional> gracePeriod() { + return Optional.ofNullable(this.gracePeriod); + } + + @Import(name="isEnabled", required=true) + private Output isEnabled; + + public Output isEnabled() { + return this.isEnabled; + } + + @Import(name="scaleMaxCapacity") + private @Nullable Output scaleMaxCapacity; + + public Optional> scaleMaxCapacity() { + return Optional.ofNullable(this.scaleMaxCapacity); + } + + @Import(name="scaleMinCapacity") + private @Nullable Output scaleMinCapacity; + + public Optional> scaleMinCapacity() { + return Optional.ofNullable(this.scaleMinCapacity); + } + + @Import(name="scaleTargetCapacity") + private @Nullable Output scaleTargetCapacity; + + public Optional> scaleTargetCapacity() { + return Optional.ofNullable(this.scaleTargetCapacity); + } + + @Import(name="type", required=true) + private Output type; + + public Output type() { + return this.type; + } + + private ElastigroupAzureV3SchedulingTaskArgs() {} + + private ElastigroupAzureV3SchedulingTaskArgs(ElastigroupAzureV3SchedulingTaskArgs $) { + this.adjustment = $.adjustment; + this.adjustmentPercentage = $.adjustmentPercentage; + this.batchSizePercentage = $.batchSizePercentage; + this.cronExpression = $.cronExpression; + this.gracePeriod = $.gracePeriod; + this.isEnabled = $.isEnabled; + this.scaleMaxCapacity = $.scaleMaxCapacity; + this.scaleMinCapacity = $.scaleMinCapacity; + this.scaleTargetCapacity = $.scaleTargetCapacity; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3SchedulingTaskArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3SchedulingTaskArgs $; + + public Builder() { + $ = new ElastigroupAzureV3SchedulingTaskArgs(); + } + + public Builder(ElastigroupAzureV3SchedulingTaskArgs defaults) { + $ = new ElastigroupAzureV3SchedulingTaskArgs(Objects.requireNonNull(defaults)); + } + + public Builder adjustment(@Nullable Output adjustment) { + $.adjustment = adjustment; + return this; + } + + public Builder adjustment(String adjustment) { + return adjustment(Output.of(adjustment)); + } + + public Builder adjustmentPercentage(@Nullable Output adjustmentPercentage) { + $.adjustmentPercentage = adjustmentPercentage; + return this; + } + + public Builder adjustmentPercentage(String adjustmentPercentage) { + return adjustmentPercentage(Output.of(adjustmentPercentage)); + } + + public Builder batchSizePercentage(@Nullable Output batchSizePercentage) { + $.batchSizePercentage = batchSizePercentage; + return this; + } + + public Builder batchSizePercentage(String batchSizePercentage) { + return batchSizePercentage(Output.of(batchSizePercentage)); + } + + public Builder cronExpression(Output cronExpression) { + $.cronExpression = cronExpression; + return this; + } + + public Builder cronExpression(String cronExpression) { + return cronExpression(Output.of(cronExpression)); + } + + public Builder gracePeriod(@Nullable Output gracePeriod) { + $.gracePeriod = gracePeriod; + return this; + } + + public Builder gracePeriod(String gracePeriod) { + return gracePeriod(Output.of(gracePeriod)); + } + + public Builder isEnabled(Output isEnabled) { + $.isEnabled = isEnabled; + return this; + } + + public Builder isEnabled(Boolean isEnabled) { + return isEnabled(Output.of(isEnabled)); + } + + public Builder scaleMaxCapacity(@Nullable Output scaleMaxCapacity) { + $.scaleMaxCapacity = scaleMaxCapacity; + return this; + } + + public Builder scaleMaxCapacity(String scaleMaxCapacity) { + return scaleMaxCapacity(Output.of(scaleMaxCapacity)); + } + + public Builder scaleMinCapacity(@Nullable Output scaleMinCapacity) { + $.scaleMinCapacity = scaleMinCapacity; + return this; + } + + public Builder scaleMinCapacity(String scaleMinCapacity) { + return scaleMinCapacity(Output.of(scaleMinCapacity)); + } + + public Builder scaleTargetCapacity(@Nullable Output scaleTargetCapacity) { + $.scaleTargetCapacity = scaleTargetCapacity; + return this; + } + + public Builder scaleTargetCapacity(String scaleTargetCapacity) { + return scaleTargetCapacity(Output.of(scaleTargetCapacity)); + } + + public Builder type(Output type) { + $.type = type; + return this; + } + + public Builder type(String type) { + return type(Output.of(type)); + } + + public ElastigroupAzureV3SchedulingTaskArgs build() { + if ($.cronExpression == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SchedulingTaskArgs", "cronExpression"); + } + if ($.isEnabled == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SchedulingTaskArgs", "isEnabled"); + } + if ($.type == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SchedulingTaskArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecretArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecretArgs.java new file mode 100644 index 00000000..0c695fe5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecretArgs.java @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3SecretSourceVaultArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3SecretVaultCertificateArgs; +import java.util.List; +import java.util.Objects; + + +public final class ElastigroupAzureV3SecretArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3SecretArgs Empty = new ElastigroupAzureV3SecretArgs(); + + @Import(name="sourceVaults", required=true) + private Output> sourceVaults; + + public Output> sourceVaults() { + return this.sourceVaults; + } + + @Import(name="vaultCertificates", required=true) + private Output> vaultCertificates; + + public Output> vaultCertificates() { + return this.vaultCertificates; + } + + private ElastigroupAzureV3SecretArgs() {} + + private ElastigroupAzureV3SecretArgs(ElastigroupAzureV3SecretArgs $) { + this.sourceVaults = $.sourceVaults; + this.vaultCertificates = $.vaultCertificates; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3SecretArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3SecretArgs $; + + public Builder() { + $ = new ElastigroupAzureV3SecretArgs(); + } + + public Builder(ElastigroupAzureV3SecretArgs defaults) { + $ = new ElastigroupAzureV3SecretArgs(Objects.requireNonNull(defaults)); + } + + public Builder sourceVaults(Output> sourceVaults) { + $.sourceVaults = sourceVaults; + return this; + } + + public Builder sourceVaults(List sourceVaults) { + return sourceVaults(Output.of(sourceVaults)); + } + + public Builder sourceVaults(ElastigroupAzureV3SecretSourceVaultArgs... sourceVaults) { + return sourceVaults(List.of(sourceVaults)); + } + + public Builder vaultCertificates(Output> vaultCertificates) { + $.vaultCertificates = vaultCertificates; + return this; + } + + public Builder vaultCertificates(List vaultCertificates) { + return vaultCertificates(Output.of(vaultCertificates)); + } + + public Builder vaultCertificates(ElastigroupAzureV3SecretVaultCertificateArgs... vaultCertificates) { + return vaultCertificates(List.of(vaultCertificates)); + } + + public ElastigroupAzureV3SecretArgs build() { + if ($.sourceVaults == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SecretArgs", "sourceVaults"); + } + if ($.vaultCertificates == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SecretArgs", "vaultCertificates"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecretSourceVaultArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecretSourceVaultArgs.java new file mode 100644 index 00000000..b4fc0811 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecretSourceVaultArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class ElastigroupAzureV3SecretSourceVaultArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3SecretSourceVaultArgs Empty = new ElastigroupAzureV3SecretSourceVaultArgs(); + + @Import(name="name", required=true) + private Output name; + + public Output name() { + return this.name; + } + + @Import(name="resourceGroupName", required=true) + private Output resourceGroupName; + + public Output resourceGroupName() { + return this.resourceGroupName; + } + + private ElastigroupAzureV3SecretSourceVaultArgs() {} + + private ElastigroupAzureV3SecretSourceVaultArgs(ElastigroupAzureV3SecretSourceVaultArgs $) { + this.name = $.name; + this.resourceGroupName = $.resourceGroupName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3SecretSourceVaultArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3SecretSourceVaultArgs $; + + public Builder() { + $ = new ElastigroupAzureV3SecretSourceVaultArgs(); + } + + public Builder(ElastigroupAzureV3SecretSourceVaultArgs defaults) { + $ = new ElastigroupAzureV3SecretSourceVaultArgs(Objects.requireNonNull(defaults)); + } + + public Builder name(Output name) { + $.name = name; + return this; + } + + public Builder name(String name) { + return name(Output.of(name)); + } + + public Builder resourceGroupName(Output resourceGroupName) { + $.resourceGroupName = resourceGroupName; + return this; + } + + public Builder resourceGroupName(String resourceGroupName) { + return resourceGroupName(Output.of(resourceGroupName)); + } + + public ElastigroupAzureV3SecretSourceVaultArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SecretSourceVaultArgs", "name"); + } + if ($.resourceGroupName == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SecretSourceVaultArgs", "resourceGroupName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecretVaultCertificateArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecretVaultCertificateArgs.java new file mode 100644 index 00000000..a41a5e69 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecretVaultCertificateArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class ElastigroupAzureV3SecretVaultCertificateArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3SecretVaultCertificateArgs Empty = new ElastigroupAzureV3SecretVaultCertificateArgs(); + + @Import(name="certificateStore", required=true) + private Output certificateStore; + + public Output certificateStore() { + return this.certificateStore; + } + + @Import(name="certificateUrl", required=true) + private Output certificateUrl; + + public Output certificateUrl() { + return this.certificateUrl; + } + + private ElastigroupAzureV3SecretVaultCertificateArgs() {} + + private ElastigroupAzureV3SecretVaultCertificateArgs(ElastigroupAzureV3SecretVaultCertificateArgs $) { + this.certificateStore = $.certificateStore; + this.certificateUrl = $.certificateUrl; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3SecretVaultCertificateArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3SecretVaultCertificateArgs $; + + public Builder() { + $ = new ElastigroupAzureV3SecretVaultCertificateArgs(); + } + + public Builder(ElastigroupAzureV3SecretVaultCertificateArgs defaults) { + $ = new ElastigroupAzureV3SecretVaultCertificateArgs(Objects.requireNonNull(defaults)); + } + + public Builder certificateStore(Output certificateStore) { + $.certificateStore = certificateStore; + return this; + } + + public Builder certificateStore(String certificateStore) { + return certificateStore(Output.of(certificateStore)); + } + + public Builder certificateUrl(Output certificateUrl) { + $.certificateUrl = certificateUrl; + return this; + } + + public Builder certificateUrl(String certificateUrl) { + return certificateUrl(Output.of(certificateUrl)); + } + + public ElastigroupAzureV3SecretVaultCertificateArgs build() { + if ($.certificateStore == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SecretVaultCertificateArgs", "certificateStore"); + } + if ($.certificateUrl == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SecretVaultCertificateArgs", "certificateUrl"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecurityArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecurityArgs.java new file mode 100644 index 00000000..114f9964 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SecurityArgs.java @@ -0,0 +1,115 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ElastigroupAzureV3SecurityArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3SecurityArgs Empty = new ElastigroupAzureV3SecurityArgs(); + + @Import(name="confidentialOsDiskEncryption") + private @Nullable Output confidentialOsDiskEncryption; + + public Optional> confidentialOsDiskEncryption() { + return Optional.ofNullable(this.confidentialOsDiskEncryption); + } + + @Import(name="secureBootEnabled") + private @Nullable Output secureBootEnabled; + + public Optional> secureBootEnabled() { + return Optional.ofNullable(this.secureBootEnabled); + } + + @Import(name="securityType") + private @Nullable Output securityType; + + public Optional> securityType() { + return Optional.ofNullable(this.securityType); + } + + @Import(name="vtpmEnabled") + private @Nullable Output vtpmEnabled; + + public Optional> vtpmEnabled() { + return Optional.ofNullable(this.vtpmEnabled); + } + + private ElastigroupAzureV3SecurityArgs() {} + + private ElastigroupAzureV3SecurityArgs(ElastigroupAzureV3SecurityArgs $) { + this.confidentialOsDiskEncryption = $.confidentialOsDiskEncryption; + this.secureBootEnabled = $.secureBootEnabled; + this.securityType = $.securityType; + this.vtpmEnabled = $.vtpmEnabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3SecurityArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3SecurityArgs $; + + public Builder() { + $ = new ElastigroupAzureV3SecurityArgs(); + } + + public Builder(ElastigroupAzureV3SecurityArgs defaults) { + $ = new ElastigroupAzureV3SecurityArgs(Objects.requireNonNull(defaults)); + } + + public Builder confidentialOsDiskEncryption(@Nullable Output confidentialOsDiskEncryption) { + $.confidentialOsDiskEncryption = confidentialOsDiskEncryption; + return this; + } + + public Builder confidentialOsDiskEncryption(Boolean confidentialOsDiskEncryption) { + return confidentialOsDiskEncryption(Output.of(confidentialOsDiskEncryption)); + } + + public Builder secureBootEnabled(@Nullable Output secureBootEnabled) { + $.secureBootEnabled = secureBootEnabled; + return this; + } + + public Builder secureBootEnabled(Boolean secureBootEnabled) { + return secureBootEnabled(Output.of(secureBootEnabled)); + } + + public Builder securityType(@Nullable Output securityType) { + $.securityType = securityType; + return this; + } + + public Builder securityType(String securityType) { + return securityType(Output.of(securityType)); + } + + public Builder vtpmEnabled(@Nullable Output vtpmEnabled) { + $.vtpmEnabled = vtpmEnabled; + return this; + } + + public Builder vtpmEnabled(Boolean vtpmEnabled) { + return vtpmEnabled(Output.of(vtpmEnabled)); + } + + public ElastigroupAzureV3SecurityArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SignalArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SignalArgs.java new file mode 100644 index 00000000..23f12767 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3SignalArgs.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + + +public final class ElastigroupAzureV3SignalArgs extends com.pulumi.resources.ResourceArgs { + + public static final ElastigroupAzureV3SignalArgs Empty = new ElastigroupAzureV3SignalArgs(); + + @Import(name="timeout", required=true) + private Output timeout; + + public Output timeout() { + return this.timeout; + } + + @Import(name="type", required=true) + private Output type; + + public Output type() { + return this.type; + } + + private ElastigroupAzureV3SignalArgs() {} + + private ElastigroupAzureV3SignalArgs(ElastigroupAzureV3SignalArgs $) { + this.timeout = $.timeout; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ElastigroupAzureV3SignalArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ElastigroupAzureV3SignalArgs $; + + public Builder() { + $ = new ElastigroupAzureV3SignalArgs(); + } + + public Builder(ElastigroupAzureV3SignalArgs defaults) { + $ = new ElastigroupAzureV3SignalArgs(Objects.requireNonNull(defaults)); + } + + public Builder timeout(Output timeout) { + $.timeout = timeout; + return this; + } + + public Builder timeout(Integer timeout) { + return timeout(Output.of(timeout)); + } + + public Builder type(Output type) { + $.type = type; + return this; + } + + public Builder type(String type) { + return type(Output.of(type)); + } + + public ElastigroupAzureV3SignalArgs build() { + if ($.timeout == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SignalArgs", "timeout"); + } + if ($.type == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SignalArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3State.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3State.java index babcfaf0..7b82fcb2 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3State.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3State.java @@ -5,13 +5,25 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3BootDiagnosticArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3CapacityReservationArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3DataDiskArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3ExtensionArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3HealthArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3ImageArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3LoadBalancerArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3LoginArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3ManagedServiceIdentityArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3NetworkArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3OsDiskArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3ProximityPlacementGroupArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3RevertToSpotArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3ScalingDownPolicyArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3ScalingUpPolicyArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3SchedulingTaskArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3SecretArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3SecurityArgs; +import com.pulumi.spotinst.inputs.ElastigroupAzureV3SignalArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3TagArgs; import com.pulumi.spotinst.inputs.ElastigroupAzureV3VmSizesArgs; import java.lang.Boolean; @@ -27,6 +39,27 @@ public final class ElastigroupAzureV3State extends com.pulumi.resources.Resource public static final ElastigroupAzureV3State Empty = new ElastigroupAzureV3State(); + @Import(name="availabilityVsCost") + private @Nullable Output availabilityVsCost; + + public Optional> availabilityVsCost() { + return Optional.ofNullable(this.availabilityVsCost); + } + + @Import(name="bootDiagnostics") + private @Nullable Output> bootDiagnostics; + + public Optional>> bootDiagnostics() { + return Optional.ofNullable(this.bootDiagnostics); + } + + @Import(name="capacityReservation") + private @Nullable Output capacityReservation; + + public Optional> capacityReservation() { + return Optional.ofNullable(this.capacityReservation); + } + @Import(name="customData") private @Nullable Output customData; @@ -34,6 +67,20 @@ public Optional> customData() { return Optional.ofNullable(this.customData); } + @Import(name="dataDisks") + private @Nullable Output> dataDisks; + + public Optional>> dataDisks() { + return Optional.ofNullable(this.dataDisks); + } + + @Import(name="description") + private @Nullable Output description; + + public Optional> description() { + return Optional.ofNullable(this.description); + } + @Import(name="desiredCapacity") private @Nullable Output desiredCapacity; @@ -62,6 +109,13 @@ public Optional> fallbackToOnDemand() { return Optional.ofNullable(this.fallbackToOnDemand); } + @Import(name="health") + private @Nullable Output health; + + public Optional> health() { + return Optional.ofNullable(this.health); + } + @Import(name="images") private @Nullable Output> images; @@ -69,6 +123,13 @@ public Optional>> images() { return Optional.ofNullable(this.images); } + @Import(name="loadBalancers") + private @Nullable Output> loadBalancers; + + public Optional>> loadBalancers() { + return Optional.ofNullable(this.loadBalancers); + } + @Import(name="login") private @Nullable Output login; @@ -118,6 +179,13 @@ public Optional> onDemandCount() { return Optional.ofNullable(this.onDemandCount); } + @Import(name="optimizationWindows") + private @Nullable Output> optimizationWindows; + + public Optional>> optimizationWindows() { + return Optional.ofNullable(this.optimizationWindows); + } + @Import(name="os") private @Nullable Output os; @@ -125,6 +193,27 @@ public Optional> os() { return Optional.ofNullable(this.os); } + @Import(name="osDisk") + private @Nullable Output osDisk; + + public Optional> osDisk() { + return Optional.ofNullable(this.osDisk); + } + + @Import(name="preferredZones") + private @Nullable Output> preferredZones; + + public Optional>> preferredZones() { + return Optional.ofNullable(this.preferredZones); + } + + @Import(name="proximityPlacementGroups") + private @Nullable Output> proximityPlacementGroups; + + public Optional>> proximityPlacementGroups() { + return Optional.ofNullable(this.proximityPlacementGroups); + } + @Import(name="region") private @Nullable Output region; @@ -139,6 +228,13 @@ public Optional> resourceGroupName() { return Optional.ofNullable(this.resourceGroupName); } + @Import(name="revertToSpot") + private @Nullable Output revertToSpot; + + public Optional> revertToSpot() { + return Optional.ofNullable(this.revertToSpot); + } + @Import(name="scalingDownPolicies") private @Nullable Output> scalingDownPolicies; @@ -153,6 +249,41 @@ public Optional>> scalingUpPo return Optional.ofNullable(this.scalingUpPolicies); } + @Import(name="schedulingTasks") + private @Nullable Output> schedulingTasks; + + public Optional>> schedulingTasks() { + return Optional.ofNullable(this.schedulingTasks); + } + + @Import(name="secrets") + private @Nullable Output> secrets; + + public Optional>> secrets() { + return Optional.ofNullable(this.secrets); + } + + @Import(name="security") + private @Nullable Output security; + + public Optional> security() { + return Optional.ofNullable(this.security); + } + + @Import(name="shutdownScript") + private @Nullable Output shutdownScript; + + public Optional> shutdownScript() { + return Optional.ofNullable(this.shutdownScript); + } + + @Import(name="signals") + private @Nullable Output> signals; + + public Optional>> signals() { + return Optional.ofNullable(this.signals); + } + @Import(name="spotPercentage") private @Nullable Output spotPercentage; @@ -167,6 +298,20 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + @Import(name="userData") + private @Nullable Output userData; + + public Optional> userData() { + return Optional.ofNullable(this.userData); + } + + @Import(name="vmNamePrefix") + private @Nullable Output vmNamePrefix; + + public Optional> vmNamePrefix() { + return Optional.ofNullable(this.vmNamePrefix); + } + @Import(name="vmSizes") private @Nullable Output vmSizes; @@ -174,15 +319,29 @@ public Optional> vmSizes() { return Optional.ofNullable(this.vmSizes); } + @Import(name="zones") + private @Nullable Output> zones; + + public Optional>> zones() { + return Optional.ofNullable(this.zones); + } + private ElastigroupAzureV3State() {} private ElastigroupAzureV3State(ElastigroupAzureV3State $) { + this.availabilityVsCost = $.availabilityVsCost; + this.bootDiagnostics = $.bootDiagnostics; + this.capacityReservation = $.capacityReservation; this.customData = $.customData; + this.dataDisks = $.dataDisks; + this.description = $.description; this.desiredCapacity = $.desiredCapacity; this.drainingTimeout = $.drainingTimeout; this.extensions = $.extensions; this.fallbackToOnDemand = $.fallbackToOnDemand; + this.health = $.health; this.images = $.images; + this.loadBalancers = $.loadBalancers; this.login = $.login; this.managedServiceIdentities = $.managedServiceIdentities; this.maxSize = $.maxSize; @@ -190,14 +349,27 @@ private ElastigroupAzureV3State(ElastigroupAzureV3State $) { this.name = $.name; this.network = $.network; this.onDemandCount = $.onDemandCount; + this.optimizationWindows = $.optimizationWindows; this.os = $.os; + this.osDisk = $.osDisk; + this.preferredZones = $.preferredZones; + this.proximityPlacementGroups = $.proximityPlacementGroups; this.region = $.region; this.resourceGroupName = $.resourceGroupName; + this.revertToSpot = $.revertToSpot; this.scalingDownPolicies = $.scalingDownPolicies; this.scalingUpPolicies = $.scalingUpPolicies; + this.schedulingTasks = $.schedulingTasks; + this.secrets = $.secrets; + this.security = $.security; + this.shutdownScript = $.shutdownScript; + this.signals = $.signals; this.spotPercentage = $.spotPercentage; this.tags = $.tags; + this.userData = $.userData; + this.vmNamePrefix = $.vmNamePrefix; this.vmSizes = $.vmSizes; + this.zones = $.zones; } public static Builder builder() { @@ -218,6 +390,37 @@ public Builder(ElastigroupAzureV3State defaults) { $ = new ElastigroupAzureV3State(Objects.requireNonNull(defaults)); } + public Builder availabilityVsCost(@Nullable Output availabilityVsCost) { + $.availabilityVsCost = availabilityVsCost; + return this; + } + + public Builder availabilityVsCost(Integer availabilityVsCost) { + return availabilityVsCost(Output.of(availabilityVsCost)); + } + + public Builder bootDiagnostics(@Nullable Output> bootDiagnostics) { + $.bootDiagnostics = bootDiagnostics; + return this; + } + + public Builder bootDiagnostics(List bootDiagnostics) { + return bootDiagnostics(Output.of(bootDiagnostics)); + } + + public Builder bootDiagnostics(ElastigroupAzureV3BootDiagnosticArgs... bootDiagnostics) { + return bootDiagnostics(List.of(bootDiagnostics)); + } + + public Builder capacityReservation(@Nullable Output capacityReservation) { + $.capacityReservation = capacityReservation; + return this; + } + + public Builder capacityReservation(ElastigroupAzureV3CapacityReservationArgs capacityReservation) { + return capacityReservation(Output.of(capacityReservation)); + } + public Builder customData(@Nullable Output customData) { $.customData = customData; return this; @@ -227,6 +430,28 @@ public Builder customData(String customData) { return customData(Output.of(customData)); } + public Builder dataDisks(@Nullable Output> dataDisks) { + $.dataDisks = dataDisks; + return this; + } + + public Builder dataDisks(List dataDisks) { + return dataDisks(Output.of(dataDisks)); + } + + public Builder dataDisks(ElastigroupAzureV3DataDiskArgs... dataDisks) { + return dataDisks(List.of(dataDisks)); + } + + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + public Builder description(String description) { + return description(Output.of(description)); + } + public Builder desiredCapacity(@Nullable Output desiredCapacity) { $.desiredCapacity = desiredCapacity; return this; @@ -267,6 +492,15 @@ public Builder fallbackToOnDemand(Boolean fallbackToOnDemand) { return fallbackToOnDemand(Output.of(fallbackToOnDemand)); } + public Builder health(@Nullable Output health) { + $.health = health; + return this; + } + + public Builder health(ElastigroupAzureV3HealthArgs health) { + return health(Output.of(health)); + } + public Builder images(@Nullable Output> images) { $.images = images; return this; @@ -280,6 +514,19 @@ public Builder images(ElastigroupAzureV3ImageArgs... images) { return images(List.of(images)); } + public Builder loadBalancers(@Nullable Output> loadBalancers) { + $.loadBalancers = loadBalancers; + return this; + } + + public Builder loadBalancers(List loadBalancers) { + return loadBalancers(Output.of(loadBalancers)); + } + + public Builder loadBalancers(ElastigroupAzureV3LoadBalancerArgs... loadBalancers) { + return loadBalancers(List.of(loadBalancers)); + } + public Builder login(@Nullable Output login) { $.login = login; return this; @@ -347,6 +594,19 @@ public Builder onDemandCount(Integer onDemandCount) { return onDemandCount(Output.of(onDemandCount)); } + public Builder optimizationWindows(@Nullable Output> optimizationWindows) { + $.optimizationWindows = optimizationWindows; + return this; + } + + public Builder optimizationWindows(List optimizationWindows) { + return optimizationWindows(Output.of(optimizationWindows)); + } + + public Builder optimizationWindows(String... optimizationWindows) { + return optimizationWindows(List.of(optimizationWindows)); + } + public Builder os(@Nullable Output os) { $.os = os; return this; @@ -356,6 +616,41 @@ public Builder os(String os) { return os(Output.of(os)); } + public Builder osDisk(@Nullable Output osDisk) { + $.osDisk = osDisk; + return this; + } + + public Builder osDisk(ElastigroupAzureV3OsDiskArgs osDisk) { + return osDisk(Output.of(osDisk)); + } + + public Builder preferredZones(@Nullable Output> preferredZones) { + $.preferredZones = preferredZones; + return this; + } + + public Builder preferredZones(List preferredZones) { + return preferredZones(Output.of(preferredZones)); + } + + public Builder preferredZones(String... preferredZones) { + return preferredZones(List.of(preferredZones)); + } + + public Builder proximityPlacementGroups(@Nullable Output> proximityPlacementGroups) { + $.proximityPlacementGroups = proximityPlacementGroups; + return this; + } + + public Builder proximityPlacementGroups(List proximityPlacementGroups) { + return proximityPlacementGroups(Output.of(proximityPlacementGroups)); + } + + public Builder proximityPlacementGroups(ElastigroupAzureV3ProximityPlacementGroupArgs... proximityPlacementGroups) { + return proximityPlacementGroups(List.of(proximityPlacementGroups)); + } + public Builder region(@Nullable Output region) { $.region = region; return this; @@ -374,6 +669,15 @@ public Builder resourceGroupName(String resourceGroupName) { return resourceGroupName(Output.of(resourceGroupName)); } + public Builder revertToSpot(@Nullable Output revertToSpot) { + $.revertToSpot = revertToSpot; + return this; + } + + public Builder revertToSpot(ElastigroupAzureV3RevertToSpotArgs revertToSpot) { + return revertToSpot(Output.of(revertToSpot)); + } + public Builder scalingDownPolicies(@Nullable Output> scalingDownPolicies) { $.scalingDownPolicies = scalingDownPolicies; return this; @@ -400,6 +704,63 @@ public Builder scalingUpPolicies(ElastigroupAzureV3ScalingUpPolicyArgs... scalin return scalingUpPolicies(List.of(scalingUpPolicies)); } + public Builder schedulingTasks(@Nullable Output> schedulingTasks) { + $.schedulingTasks = schedulingTasks; + return this; + } + + public Builder schedulingTasks(List schedulingTasks) { + return schedulingTasks(Output.of(schedulingTasks)); + } + + public Builder schedulingTasks(ElastigroupAzureV3SchedulingTaskArgs... schedulingTasks) { + return schedulingTasks(List.of(schedulingTasks)); + } + + public Builder secrets(@Nullable Output> secrets) { + $.secrets = secrets; + return this; + } + + public Builder secrets(List secrets) { + return secrets(Output.of(secrets)); + } + + public Builder secrets(ElastigroupAzureV3SecretArgs... secrets) { + return secrets(List.of(secrets)); + } + + public Builder security(@Nullable Output security) { + $.security = security; + return this; + } + + public Builder security(ElastigroupAzureV3SecurityArgs security) { + return security(Output.of(security)); + } + + public Builder shutdownScript(@Nullable Output shutdownScript) { + $.shutdownScript = shutdownScript; + return this; + } + + public Builder shutdownScript(String shutdownScript) { + return shutdownScript(Output.of(shutdownScript)); + } + + public Builder signals(@Nullable Output> signals) { + $.signals = signals; + return this; + } + + public Builder signals(List signals) { + return signals(Output.of(signals)); + } + + public Builder signals(ElastigroupAzureV3SignalArgs... signals) { + return signals(List.of(signals)); + } + public Builder spotPercentage(@Nullable Output spotPercentage) { $.spotPercentage = spotPercentage; return this; @@ -422,6 +783,24 @@ public Builder tags(ElastigroupAzureV3TagArgs... tags) { return tags(List.of(tags)); } + public Builder userData(@Nullable Output userData) { + $.userData = userData; + return this; + } + + public Builder userData(String userData) { + return userData(Output.of(userData)); + } + + public Builder vmNamePrefix(@Nullable Output vmNamePrefix) { + $.vmNamePrefix = vmNamePrefix; + return this; + } + + public Builder vmNamePrefix(String vmNamePrefix) { + return vmNamePrefix(Output.of(vmNamePrefix)); + } + public Builder vmSizes(@Nullable Output vmSizes) { $.vmSizes = vmSizes; return this; @@ -431,6 +810,19 @@ public Builder vmSizes(ElastigroupAzureV3VmSizesArgs vmSizes) { return vmSizes(Output.of(vmSizes)); } + public Builder zones(@Nullable Output> zones) { + $.zones = zones; + return this; + } + + public Builder zones(List zones) { + return zones(Output.of(zones)); + } + + public Builder zones(String... zones) { + return zones(List.of(zones)); + } + public ElastigroupAzureV3State build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3VmSizesArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3VmSizesArgs.java index 45068f1b..d46aa57a 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3VmSizesArgs.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/inputs/ElastigroupAzureV3VmSizesArgs.java @@ -9,6 +9,8 @@ import java.lang.String; import java.util.List; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class ElastigroupAzureV3VmSizesArgs extends com.pulumi.resources.ResourceArgs { @@ -22,6 +24,13 @@ public Output> odSizes() { return this.odSizes; } + @Import(name="preferredSpotSizes") + private @Nullable Output> preferredSpotSizes; + + public Optional>> preferredSpotSizes() { + return Optional.ofNullable(this.preferredSpotSizes); + } + @Import(name="spotSizes", required=true) private Output> spotSizes; @@ -33,6 +42,7 @@ private ElastigroupAzureV3VmSizesArgs() {} private ElastigroupAzureV3VmSizesArgs(ElastigroupAzureV3VmSizesArgs $) { this.odSizes = $.odSizes; + this.preferredSpotSizes = $.preferredSpotSizes; this.spotSizes = $.spotSizes; } @@ -67,6 +77,19 @@ public Builder odSizes(String... odSizes) { return odSizes(List.of(odSizes)); } + public Builder preferredSpotSizes(@Nullable Output> preferredSpotSizes) { + $.preferredSpotSizes = preferredSpotSizes; + return this; + } + + public Builder preferredSpotSizes(List preferredSpotSizes) { + return preferredSpotSizes(Output.of(preferredSpotSizes)); + } + + public Builder preferredSpotSizes(String... preferredSpotSizes) { + return preferredSpotSizes(List.of(preferredSpotSizes)); + } + public Builder spotSizes(Output> spotSizes) { $.spotSizes = spotSizes; return this; diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3BootDiagnostic.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3BootDiagnostic.java new file mode 100644 index 00000000..24656aaf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3BootDiagnostic.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ElastigroupAzureV3BootDiagnostic { + private Boolean isEnabled; + private @Nullable String storageUrl; + private String type; + + private ElastigroupAzureV3BootDiagnostic() {} + public Boolean isEnabled() { + return this.isEnabled; + } + public Optional storageUrl() { + return Optional.ofNullable(this.storageUrl); + } + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3BootDiagnostic defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean isEnabled; + private @Nullable String storageUrl; + private String type; + public Builder() {} + public Builder(ElastigroupAzureV3BootDiagnostic defaults) { + Objects.requireNonNull(defaults); + this.isEnabled = defaults.isEnabled; + this.storageUrl = defaults.storageUrl; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder isEnabled(Boolean isEnabled) { + if (isEnabled == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3BootDiagnostic", "isEnabled"); + } + this.isEnabled = isEnabled; + return this; + } + @CustomType.Setter + public Builder storageUrl(@Nullable String storageUrl) { + + this.storageUrl = storageUrl; + return this; + } + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3BootDiagnostic", "type"); + } + this.type = type; + return this; + } + public ElastigroupAzureV3BootDiagnostic build() { + final var _resultValue = new ElastigroupAzureV3BootDiagnostic(); + _resultValue.isEnabled = isEnabled; + _resultValue.storageUrl = storageUrl; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3CapacityReservation.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3CapacityReservation.java new file mode 100644 index 00000000..932864c1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3CapacityReservation.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3CapacityReservationCapacityReservationGroups; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ElastigroupAzureV3CapacityReservation { + private @Nullable ElastigroupAzureV3CapacityReservationCapacityReservationGroups capacityReservationGroups; + private Boolean shouldUtilize; + private String utilizationStrategy; + + private ElastigroupAzureV3CapacityReservation() {} + public Optional capacityReservationGroups() { + return Optional.ofNullable(this.capacityReservationGroups); + } + public Boolean shouldUtilize() { + return this.shouldUtilize; + } + public String utilizationStrategy() { + return this.utilizationStrategy; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3CapacityReservation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable ElastigroupAzureV3CapacityReservationCapacityReservationGroups capacityReservationGroups; + private Boolean shouldUtilize; + private String utilizationStrategy; + public Builder() {} + public Builder(ElastigroupAzureV3CapacityReservation defaults) { + Objects.requireNonNull(defaults); + this.capacityReservationGroups = defaults.capacityReservationGroups; + this.shouldUtilize = defaults.shouldUtilize; + this.utilizationStrategy = defaults.utilizationStrategy; + } + + @CustomType.Setter + public Builder capacityReservationGroups(@Nullable ElastigroupAzureV3CapacityReservationCapacityReservationGroups capacityReservationGroups) { + + this.capacityReservationGroups = capacityReservationGroups; + return this; + } + @CustomType.Setter + public Builder shouldUtilize(Boolean shouldUtilize) { + if (shouldUtilize == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3CapacityReservation", "shouldUtilize"); + } + this.shouldUtilize = shouldUtilize; + return this; + } + @CustomType.Setter + public Builder utilizationStrategy(String utilizationStrategy) { + if (utilizationStrategy == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3CapacityReservation", "utilizationStrategy"); + } + this.utilizationStrategy = utilizationStrategy; + return this; + } + public ElastigroupAzureV3CapacityReservation build() { + final var _resultValue = new ElastigroupAzureV3CapacityReservation(); + _resultValue.capacityReservationGroups = capacityReservationGroups; + _resultValue.shouldUtilize = shouldUtilize; + _resultValue.utilizationStrategy = utilizationStrategy; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroups.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroups.java new file mode 100644 index 00000000..be308730 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3CapacityReservationCapacityReservationGroups.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ElastigroupAzureV3CapacityReservationCapacityReservationGroups { + private String crgName; + private String crgResourceGroupName; + private @Nullable Boolean crgShouldPrioritize; + + private ElastigroupAzureV3CapacityReservationCapacityReservationGroups() {} + public String crgName() { + return this.crgName; + } + public String crgResourceGroupName() { + return this.crgResourceGroupName; + } + public Optional crgShouldPrioritize() { + return Optional.ofNullable(this.crgShouldPrioritize); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3CapacityReservationCapacityReservationGroups defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String crgName; + private String crgResourceGroupName; + private @Nullable Boolean crgShouldPrioritize; + public Builder() {} + public Builder(ElastigroupAzureV3CapacityReservationCapacityReservationGroups defaults) { + Objects.requireNonNull(defaults); + this.crgName = defaults.crgName; + this.crgResourceGroupName = defaults.crgResourceGroupName; + this.crgShouldPrioritize = defaults.crgShouldPrioritize; + } + + @CustomType.Setter + public Builder crgName(String crgName) { + if (crgName == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3CapacityReservationCapacityReservationGroups", "crgName"); + } + this.crgName = crgName; + return this; + } + @CustomType.Setter + public Builder crgResourceGroupName(String crgResourceGroupName) { + if (crgResourceGroupName == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3CapacityReservationCapacityReservationGroups", "crgResourceGroupName"); + } + this.crgResourceGroupName = crgResourceGroupName; + return this; + } + @CustomType.Setter + public Builder crgShouldPrioritize(@Nullable Boolean crgShouldPrioritize) { + + this.crgShouldPrioritize = crgShouldPrioritize; + return this; + } + public ElastigroupAzureV3CapacityReservationCapacityReservationGroups build() { + final var _resultValue = new ElastigroupAzureV3CapacityReservationCapacityReservationGroups(); + _resultValue.crgName = crgName; + _resultValue.crgResourceGroupName = crgResourceGroupName; + _resultValue.crgShouldPrioritize = crgShouldPrioritize; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3DataDisk.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3DataDisk.java new file mode 100644 index 00000000..1df862a7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3DataDisk.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ElastigroupAzureV3DataDisk { + private Integer lun; + private Integer sizeGb; + private String type; + + private ElastigroupAzureV3DataDisk() {} + public Integer lun() { + return this.lun; + } + public Integer sizeGb() { + return this.sizeGb; + } + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3DataDisk defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer lun; + private Integer sizeGb; + private String type; + public Builder() {} + public Builder(ElastigroupAzureV3DataDisk defaults) { + Objects.requireNonNull(defaults); + this.lun = defaults.lun; + this.sizeGb = defaults.sizeGb; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder lun(Integer lun) { + if (lun == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3DataDisk", "lun"); + } + this.lun = lun; + return this; + } + @CustomType.Setter + public Builder sizeGb(Integer sizeGb) { + if (sizeGb == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3DataDisk", "sizeGb"); + } + this.sizeGb = sizeGb; + return this; + } + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3DataDisk", "type"); + } + this.type = type; + return this; + } + public ElastigroupAzureV3DataDisk build() { + final var _resultValue = new ElastigroupAzureV3DataDisk(); + _resultValue.lun = lun; + _resultValue.sizeGb = sizeGb; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Health.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Health.java new file mode 100644 index 00000000..f9deb387 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Health.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ElastigroupAzureV3Health { + private @Nullable Boolean autoHealing; + private @Nullable Integer gracePeriod; + private @Nullable List healthCheckTypes; + private @Nullable Integer unhealthyDuration; + + private ElastigroupAzureV3Health() {} + public Optional autoHealing() { + return Optional.ofNullable(this.autoHealing); + } + public Optional gracePeriod() { + return Optional.ofNullable(this.gracePeriod); + } + public List healthCheckTypes() { + return this.healthCheckTypes == null ? List.of() : this.healthCheckTypes; + } + public Optional unhealthyDuration() { + return Optional.ofNullable(this.unhealthyDuration); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3Health defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean autoHealing; + private @Nullable Integer gracePeriod; + private @Nullable List healthCheckTypes; + private @Nullable Integer unhealthyDuration; + public Builder() {} + public Builder(ElastigroupAzureV3Health defaults) { + Objects.requireNonNull(defaults); + this.autoHealing = defaults.autoHealing; + this.gracePeriod = defaults.gracePeriod; + this.healthCheckTypes = defaults.healthCheckTypes; + this.unhealthyDuration = defaults.unhealthyDuration; + } + + @CustomType.Setter + public Builder autoHealing(@Nullable Boolean autoHealing) { + + this.autoHealing = autoHealing; + return this; + } + @CustomType.Setter + public Builder gracePeriod(@Nullable Integer gracePeriod) { + + this.gracePeriod = gracePeriod; + return this; + } + @CustomType.Setter + public Builder healthCheckTypes(@Nullable List healthCheckTypes) { + + this.healthCheckTypes = healthCheckTypes; + return this; + } + public Builder healthCheckTypes(String... healthCheckTypes) { + return healthCheckTypes(List.of(healthCheckTypes)); + } + @CustomType.Setter + public Builder unhealthyDuration(@Nullable Integer unhealthyDuration) { + + this.unhealthyDuration = unhealthyDuration; + return this; + } + public ElastigroupAzureV3Health build() { + final var _resultValue = new ElastigroupAzureV3Health(); + _resultValue.autoHealing = autoHealing; + _resultValue.gracePeriod = gracePeriod; + _resultValue.healthCheckTypes = healthCheckTypes; + _resultValue.unhealthyDuration = unhealthyDuration; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3LoadBalancer.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3LoadBalancer.java new file mode 100644 index 00000000..0f22c4a4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3LoadBalancer.java @@ -0,0 +1,112 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ElastigroupAzureV3LoadBalancer { + private @Nullable List backendPoolNames; + private String name; + private String resourceGroupName; + private @Nullable String sku; + private String type; + + private ElastigroupAzureV3LoadBalancer() {} + public List backendPoolNames() { + return this.backendPoolNames == null ? List.of() : this.backendPoolNames; + } + public String name() { + return this.name; + } + public String resourceGroupName() { + return this.resourceGroupName; + } + public Optional sku() { + return Optional.ofNullable(this.sku); + } + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3LoadBalancer defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List backendPoolNames; + private String name; + private String resourceGroupName; + private @Nullable String sku; + private String type; + public Builder() {} + public Builder(ElastigroupAzureV3LoadBalancer defaults) { + Objects.requireNonNull(defaults); + this.backendPoolNames = defaults.backendPoolNames; + this.name = defaults.name; + this.resourceGroupName = defaults.resourceGroupName; + this.sku = defaults.sku; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder backendPoolNames(@Nullable List backendPoolNames) { + + this.backendPoolNames = backendPoolNames; + return this; + } + public Builder backendPoolNames(String... backendPoolNames) { + return backendPoolNames(List.of(backendPoolNames)); + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3LoadBalancer", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder resourceGroupName(String resourceGroupName) { + if (resourceGroupName == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3LoadBalancer", "resourceGroupName"); + } + this.resourceGroupName = resourceGroupName; + return this; + } + @CustomType.Setter + public Builder sku(@Nullable String sku) { + + this.sku = sku; + return this; + } + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3LoadBalancer", "type"); + } + this.type = type; + return this; + } + public ElastigroupAzureV3LoadBalancer build() { + final var _resultValue = new ElastigroupAzureV3LoadBalancer(); + _resultValue.backendPoolNames = backendPoolNames; + _resultValue.name = name; + _resultValue.resourceGroupName = resourceGroupName; + _resultValue.sku = sku; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3NetworkNetworkInterface.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3NetworkNetworkInterface.java index c999370f..95d78288 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3NetworkNetworkInterface.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3NetworkNetworkInterface.java @@ -7,10 +7,12 @@ import com.pulumi.exceptions.MissingRequiredPropertyException; import com.pulumi.spotinst.outputs.ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig; import com.pulumi.spotinst.outputs.ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup; import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; +import java.util.Optional; import javax.annotation.Nullable; @CustomType @@ -18,7 +20,11 @@ public final class ElastigroupAzureV3NetworkNetworkInterface { private @Nullable List additionalIpConfigs; private @Nullable List applicationSecurityGroups; private Boolean assignPublicIp; + private @Nullable Boolean enableIpForwarding; private Boolean isPrimary; + private @Nullable List privateIpAddresses; + private @Nullable String publicIpSku; + private @Nullable List securityGroups; private String subnetName; private ElastigroupAzureV3NetworkNetworkInterface() {} @@ -31,9 +37,21 @@ public List a public Boolean assignPublicIp() { return this.assignPublicIp; } + public Optional enableIpForwarding() { + return Optional.ofNullable(this.enableIpForwarding); + } public Boolean isPrimary() { return this.isPrimary; } + public List privateIpAddresses() { + return this.privateIpAddresses == null ? List.of() : this.privateIpAddresses; + } + public Optional publicIpSku() { + return Optional.ofNullable(this.publicIpSku); + } + public List securityGroups() { + return this.securityGroups == null ? List.of() : this.securityGroups; + } public String subnetName() { return this.subnetName; } @@ -50,7 +68,11 @@ public static final class Builder { private @Nullable List additionalIpConfigs; private @Nullable List applicationSecurityGroups; private Boolean assignPublicIp; + private @Nullable Boolean enableIpForwarding; private Boolean isPrimary; + private @Nullable List privateIpAddresses; + private @Nullable String publicIpSku; + private @Nullable List securityGroups; private String subnetName; public Builder() {} public Builder(ElastigroupAzureV3NetworkNetworkInterface defaults) { @@ -58,7 +80,11 @@ public Builder(ElastigroupAzureV3NetworkNetworkInterface defaults) { this.additionalIpConfigs = defaults.additionalIpConfigs; this.applicationSecurityGroups = defaults.applicationSecurityGroups; this.assignPublicIp = defaults.assignPublicIp; + this.enableIpForwarding = defaults.enableIpForwarding; this.isPrimary = defaults.isPrimary; + this.privateIpAddresses = defaults.privateIpAddresses; + this.publicIpSku = defaults.publicIpSku; + this.securityGroups = defaults.securityGroups; this.subnetName = defaults.subnetName; } @@ -89,6 +115,12 @@ public Builder assignPublicIp(Boolean assignPublicIp) { return this; } @CustomType.Setter + public Builder enableIpForwarding(@Nullable Boolean enableIpForwarding) { + + this.enableIpForwarding = enableIpForwarding; + return this; + } + @CustomType.Setter public Builder isPrimary(Boolean isPrimary) { if (isPrimary == null) { throw new MissingRequiredPropertyException("ElastigroupAzureV3NetworkNetworkInterface", "isPrimary"); @@ -97,6 +129,30 @@ public Builder isPrimary(Boolean isPrimary) { return this; } @CustomType.Setter + public Builder privateIpAddresses(@Nullable List privateIpAddresses) { + + this.privateIpAddresses = privateIpAddresses; + return this; + } + public Builder privateIpAddresses(String... privateIpAddresses) { + return privateIpAddresses(List.of(privateIpAddresses)); + } + @CustomType.Setter + public Builder publicIpSku(@Nullable String publicIpSku) { + + this.publicIpSku = publicIpSku; + return this; + } + @CustomType.Setter + public Builder securityGroups(@Nullable List securityGroups) { + + this.securityGroups = securityGroups; + return this; + } + public Builder securityGroups(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup... securityGroups) { + return securityGroups(List.of(securityGroups)); + } + @CustomType.Setter public Builder subnetName(String subnetName) { if (subnetName == null) { throw new MissingRequiredPropertyException("ElastigroupAzureV3NetworkNetworkInterface", "subnetName"); @@ -109,7 +165,11 @@ public ElastigroupAzureV3NetworkNetworkInterface build() { _resultValue.additionalIpConfigs = additionalIpConfigs; _resultValue.applicationSecurityGroups = applicationSecurityGroups; _resultValue.assignPublicIp = assignPublicIp; + _resultValue.enableIpForwarding = enableIpForwarding; _resultValue.isPrimary = isPrimary; + _resultValue.privateIpAddresses = privateIpAddresses; + _resultValue.publicIpSku = publicIpSku; + _resultValue.securityGroups = securityGroups; _resultValue.subnetName = subnetName; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup.java new file mode 100644 index 00000000..5a8b8b5e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup.java @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup { + private @Nullable String name; + private @Nullable String resourceGroupName; + + private ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup() {} + public Optional name() { + return Optional.ofNullable(this.name); + } + public Optional resourceGroupName() { + return Optional.ofNullable(this.resourceGroupName); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String name; + private @Nullable String resourceGroupName; + public Builder() {} + public Builder(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.resourceGroupName = defaults.resourceGroupName; + } + + @CustomType.Setter + public Builder name(@Nullable String name) { + + this.name = name; + return this; + } + @CustomType.Setter + public Builder resourceGroupName(@Nullable String resourceGroupName) { + + this.resourceGroupName = resourceGroupName; + return this; + } + public ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup build() { + final var _resultValue = new ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup(); + _resultValue.name = name; + _resultValue.resourceGroupName = resourceGroupName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3OsDisk.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3OsDisk.java new file mode 100644 index 00000000..0bda2e24 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3OsDisk.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ElastigroupAzureV3OsDisk { + private @Nullable Integer sizeGb; + private String type; + + private ElastigroupAzureV3OsDisk() {} + public Optional sizeGb() { + return Optional.ofNullable(this.sizeGb); + } + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3OsDisk defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer sizeGb; + private String type; + public Builder() {} + public Builder(ElastigroupAzureV3OsDisk defaults) { + Objects.requireNonNull(defaults); + this.sizeGb = defaults.sizeGb; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder sizeGb(@Nullable Integer sizeGb) { + + this.sizeGb = sizeGb; + return this; + } + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3OsDisk", "type"); + } + this.type = type; + return this; + } + public ElastigroupAzureV3OsDisk build() { + final var _resultValue = new ElastigroupAzureV3OsDisk(); + _resultValue.sizeGb = sizeGb; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3ProximityPlacementGroup.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3ProximityPlacementGroup.java new file mode 100644 index 00000000..e13ed5ce --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3ProximityPlacementGroup.java @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ElastigroupAzureV3ProximityPlacementGroup { + private String name; + private String resourceGroupName; + + private ElastigroupAzureV3ProximityPlacementGroup() {} + public String name() { + return this.name; + } + public String resourceGroupName() { + return this.resourceGroupName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3ProximityPlacementGroup defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String resourceGroupName; + public Builder() {} + public Builder(ElastigroupAzureV3ProximityPlacementGroup defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.resourceGroupName = defaults.resourceGroupName; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3ProximityPlacementGroup", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder resourceGroupName(String resourceGroupName) { + if (resourceGroupName == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3ProximityPlacementGroup", "resourceGroupName"); + } + this.resourceGroupName = resourceGroupName; + return this; + } + public ElastigroupAzureV3ProximityPlacementGroup build() { + final var _resultValue = new ElastigroupAzureV3ProximityPlacementGroup(); + _resultValue.name = name; + _resultValue.resourceGroupName = resourceGroupName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3RevertToSpot.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3RevertToSpot.java new file mode 100644 index 00000000..fc235153 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3RevertToSpot.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ElastigroupAzureV3RevertToSpot { + private String performAt; + + private ElastigroupAzureV3RevertToSpot() {} + public String performAt() { + return this.performAt; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3RevertToSpot defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String performAt; + public Builder() {} + public Builder(ElastigroupAzureV3RevertToSpot defaults) { + Objects.requireNonNull(defaults); + this.performAt = defaults.performAt; + } + + @CustomType.Setter + public Builder performAt(String performAt) { + if (performAt == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3RevertToSpot", "performAt"); + } + this.performAt = performAt; + return this; + } + public ElastigroupAzureV3RevertToSpot build() { + final var _resultValue = new ElastigroupAzureV3RevertToSpot(); + _resultValue.performAt = performAt; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3SchedulingTask.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3SchedulingTask.java new file mode 100644 index 00000000..560a20ff --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3SchedulingTask.java @@ -0,0 +1,174 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ElastigroupAzureV3SchedulingTask { + private @Nullable String adjustment; + private @Nullable String adjustmentPercentage; + private @Nullable String batchSizePercentage; + private String cronExpression; + private @Nullable String gracePeriod; + private Boolean isEnabled; + private @Nullable String scaleMaxCapacity; + private @Nullable String scaleMinCapacity; + private @Nullable String scaleTargetCapacity; + private String type; + + private ElastigroupAzureV3SchedulingTask() {} + public Optional adjustment() { + return Optional.ofNullable(this.adjustment); + } + public Optional adjustmentPercentage() { + return Optional.ofNullable(this.adjustmentPercentage); + } + public Optional batchSizePercentage() { + return Optional.ofNullable(this.batchSizePercentage); + } + public String cronExpression() { + return this.cronExpression; + } + public Optional gracePeriod() { + return Optional.ofNullable(this.gracePeriod); + } + public Boolean isEnabled() { + return this.isEnabled; + } + public Optional scaleMaxCapacity() { + return Optional.ofNullable(this.scaleMaxCapacity); + } + public Optional scaleMinCapacity() { + return Optional.ofNullable(this.scaleMinCapacity); + } + public Optional scaleTargetCapacity() { + return Optional.ofNullable(this.scaleTargetCapacity); + } + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3SchedulingTask defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String adjustment; + private @Nullable String adjustmentPercentage; + private @Nullable String batchSizePercentage; + private String cronExpression; + private @Nullable String gracePeriod; + private Boolean isEnabled; + private @Nullable String scaleMaxCapacity; + private @Nullable String scaleMinCapacity; + private @Nullable String scaleTargetCapacity; + private String type; + public Builder() {} + public Builder(ElastigroupAzureV3SchedulingTask defaults) { + Objects.requireNonNull(defaults); + this.adjustment = defaults.adjustment; + this.adjustmentPercentage = defaults.adjustmentPercentage; + this.batchSizePercentage = defaults.batchSizePercentage; + this.cronExpression = defaults.cronExpression; + this.gracePeriod = defaults.gracePeriod; + this.isEnabled = defaults.isEnabled; + this.scaleMaxCapacity = defaults.scaleMaxCapacity; + this.scaleMinCapacity = defaults.scaleMinCapacity; + this.scaleTargetCapacity = defaults.scaleTargetCapacity; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder adjustment(@Nullable String adjustment) { + + this.adjustment = adjustment; + return this; + } + @CustomType.Setter + public Builder adjustmentPercentage(@Nullable String adjustmentPercentage) { + + this.adjustmentPercentage = adjustmentPercentage; + return this; + } + @CustomType.Setter + public Builder batchSizePercentage(@Nullable String batchSizePercentage) { + + this.batchSizePercentage = batchSizePercentage; + return this; + } + @CustomType.Setter + public Builder cronExpression(String cronExpression) { + if (cronExpression == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SchedulingTask", "cronExpression"); + } + this.cronExpression = cronExpression; + return this; + } + @CustomType.Setter + public Builder gracePeriod(@Nullable String gracePeriod) { + + this.gracePeriod = gracePeriod; + return this; + } + @CustomType.Setter + public Builder isEnabled(Boolean isEnabled) { + if (isEnabled == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SchedulingTask", "isEnabled"); + } + this.isEnabled = isEnabled; + return this; + } + @CustomType.Setter + public Builder scaleMaxCapacity(@Nullable String scaleMaxCapacity) { + + this.scaleMaxCapacity = scaleMaxCapacity; + return this; + } + @CustomType.Setter + public Builder scaleMinCapacity(@Nullable String scaleMinCapacity) { + + this.scaleMinCapacity = scaleMinCapacity; + return this; + } + @CustomType.Setter + public Builder scaleTargetCapacity(@Nullable String scaleTargetCapacity) { + + this.scaleTargetCapacity = scaleTargetCapacity; + return this; + } + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SchedulingTask", "type"); + } + this.type = type; + return this; + } + public ElastigroupAzureV3SchedulingTask build() { + final var _resultValue = new ElastigroupAzureV3SchedulingTask(); + _resultValue.adjustment = adjustment; + _resultValue.adjustmentPercentage = adjustmentPercentage; + _resultValue.batchSizePercentage = batchSizePercentage; + _resultValue.cronExpression = cronExpression; + _resultValue.gracePeriod = gracePeriod; + _resultValue.isEnabled = isEnabled; + _resultValue.scaleMaxCapacity = scaleMaxCapacity; + _resultValue.scaleMinCapacity = scaleMinCapacity; + _resultValue.scaleTargetCapacity = scaleTargetCapacity; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Secret.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Secret.java new file mode 100644 index 00000000..19a24784 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Secret.java @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3SecretSourceVault; +import com.pulumi.spotinst.outputs.ElastigroupAzureV3SecretVaultCertificate; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class ElastigroupAzureV3Secret { + private List sourceVaults; + private List vaultCertificates; + + private ElastigroupAzureV3Secret() {} + public List sourceVaults() { + return this.sourceVaults; + } + public List vaultCertificates() { + return this.vaultCertificates; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3Secret defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List sourceVaults; + private List vaultCertificates; + public Builder() {} + public Builder(ElastigroupAzureV3Secret defaults) { + Objects.requireNonNull(defaults); + this.sourceVaults = defaults.sourceVaults; + this.vaultCertificates = defaults.vaultCertificates; + } + + @CustomType.Setter + public Builder sourceVaults(List sourceVaults) { + if (sourceVaults == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3Secret", "sourceVaults"); + } + this.sourceVaults = sourceVaults; + return this; + } + public Builder sourceVaults(ElastigroupAzureV3SecretSourceVault... sourceVaults) { + return sourceVaults(List.of(sourceVaults)); + } + @CustomType.Setter + public Builder vaultCertificates(List vaultCertificates) { + if (vaultCertificates == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3Secret", "vaultCertificates"); + } + this.vaultCertificates = vaultCertificates; + return this; + } + public Builder vaultCertificates(ElastigroupAzureV3SecretVaultCertificate... vaultCertificates) { + return vaultCertificates(List.of(vaultCertificates)); + } + public ElastigroupAzureV3Secret build() { + final var _resultValue = new ElastigroupAzureV3Secret(); + _resultValue.sourceVaults = sourceVaults; + _resultValue.vaultCertificates = vaultCertificates; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3SecretSourceVault.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3SecretSourceVault.java new file mode 100644 index 00000000..c9fc9fb0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3SecretSourceVault.java @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ElastigroupAzureV3SecretSourceVault { + private String name; + private String resourceGroupName; + + private ElastigroupAzureV3SecretSourceVault() {} + public String name() { + return this.name; + } + public String resourceGroupName() { + return this.resourceGroupName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3SecretSourceVault defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String name; + private String resourceGroupName; + public Builder() {} + public Builder(ElastigroupAzureV3SecretSourceVault defaults) { + Objects.requireNonNull(defaults); + this.name = defaults.name; + this.resourceGroupName = defaults.resourceGroupName; + } + + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SecretSourceVault", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder resourceGroupName(String resourceGroupName) { + if (resourceGroupName == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SecretSourceVault", "resourceGroupName"); + } + this.resourceGroupName = resourceGroupName; + return this; + } + public ElastigroupAzureV3SecretSourceVault build() { + final var _resultValue = new ElastigroupAzureV3SecretSourceVault(); + _resultValue.name = name; + _resultValue.resourceGroupName = resourceGroupName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3SecretVaultCertificate.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3SecretVaultCertificate.java new file mode 100644 index 00000000..14a6aeb1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3SecretVaultCertificate.java @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ElastigroupAzureV3SecretVaultCertificate { + private String certificateStore; + private String certificateUrl; + + private ElastigroupAzureV3SecretVaultCertificate() {} + public String certificateStore() { + return this.certificateStore; + } + public String certificateUrl() { + return this.certificateUrl; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3SecretVaultCertificate defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String certificateStore; + private String certificateUrl; + public Builder() {} + public Builder(ElastigroupAzureV3SecretVaultCertificate defaults) { + Objects.requireNonNull(defaults); + this.certificateStore = defaults.certificateStore; + this.certificateUrl = defaults.certificateUrl; + } + + @CustomType.Setter + public Builder certificateStore(String certificateStore) { + if (certificateStore == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SecretVaultCertificate", "certificateStore"); + } + this.certificateStore = certificateStore; + return this; + } + @CustomType.Setter + public Builder certificateUrl(String certificateUrl) { + if (certificateUrl == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3SecretVaultCertificate", "certificateUrl"); + } + this.certificateUrl = certificateUrl; + return this; + } + public ElastigroupAzureV3SecretVaultCertificate build() { + final var _resultValue = new ElastigroupAzureV3SecretVaultCertificate(); + _resultValue.certificateStore = certificateStore; + _resultValue.certificateUrl = certificateUrl; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Security.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Security.java new file mode 100644 index 00000000..a230e01a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Security.java @@ -0,0 +1,89 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ElastigroupAzureV3Security { + private @Nullable Boolean confidentialOsDiskEncryption; + private @Nullable Boolean secureBootEnabled; + private @Nullable String securityType; + private @Nullable Boolean vtpmEnabled; + + private ElastigroupAzureV3Security() {} + public Optional confidentialOsDiskEncryption() { + return Optional.ofNullable(this.confidentialOsDiskEncryption); + } + public Optional secureBootEnabled() { + return Optional.ofNullable(this.secureBootEnabled); + } + public Optional securityType() { + return Optional.ofNullable(this.securityType); + } + public Optional vtpmEnabled() { + return Optional.ofNullable(this.vtpmEnabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3Security defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean confidentialOsDiskEncryption; + private @Nullable Boolean secureBootEnabled; + private @Nullable String securityType; + private @Nullable Boolean vtpmEnabled; + public Builder() {} + public Builder(ElastigroupAzureV3Security defaults) { + Objects.requireNonNull(defaults); + this.confidentialOsDiskEncryption = defaults.confidentialOsDiskEncryption; + this.secureBootEnabled = defaults.secureBootEnabled; + this.securityType = defaults.securityType; + this.vtpmEnabled = defaults.vtpmEnabled; + } + + @CustomType.Setter + public Builder confidentialOsDiskEncryption(@Nullable Boolean confidentialOsDiskEncryption) { + + this.confidentialOsDiskEncryption = confidentialOsDiskEncryption; + return this; + } + @CustomType.Setter + public Builder secureBootEnabled(@Nullable Boolean secureBootEnabled) { + + this.secureBootEnabled = secureBootEnabled; + return this; + } + @CustomType.Setter + public Builder securityType(@Nullable String securityType) { + + this.securityType = securityType; + return this; + } + @CustomType.Setter + public Builder vtpmEnabled(@Nullable Boolean vtpmEnabled) { + + this.vtpmEnabled = vtpmEnabled; + return this; + } + public ElastigroupAzureV3Security build() { + final var _resultValue = new ElastigroupAzureV3Security(); + _resultValue.confidentialOsDiskEncryption = confidentialOsDiskEncryption; + _resultValue.secureBootEnabled = secureBootEnabled; + _resultValue.securityType = securityType; + _resultValue.vtpmEnabled = vtpmEnabled; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Signal.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Signal.java new file mode 100644 index 00000000..ad96b64e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3Signal.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ElastigroupAzureV3Signal { + private Integer timeout; + private String type; + + private ElastigroupAzureV3Signal() {} + public Integer timeout() { + return this.timeout; + } + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ElastigroupAzureV3Signal defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer timeout; + private String type; + public Builder() {} + public Builder(ElastigroupAzureV3Signal defaults) { + Objects.requireNonNull(defaults); + this.timeout = defaults.timeout; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder timeout(Integer timeout) { + if (timeout == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3Signal", "timeout"); + } + this.timeout = timeout; + return this; + } + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("ElastigroupAzureV3Signal", "type"); + } + this.type = type; + return this; + } + public ElastigroupAzureV3Signal build() { + final var _resultValue = new ElastigroupAzureV3Signal(); + _resultValue.timeout = timeout; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3VmSizes.java b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3VmSizes.java index 1e67e7f6..a2ca05b0 100644 --- a/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3VmSizes.java +++ b/sdk/java/src/main/java/com/pulumi/spotinst/outputs/ElastigroupAzureV3VmSizes.java @@ -8,16 +8,21 @@ import java.lang.String; import java.util.List; import java.util.Objects; +import javax.annotation.Nullable; @CustomType public final class ElastigroupAzureV3VmSizes { private List odSizes; + private @Nullable List preferredSpotSizes; private List spotSizes; private ElastigroupAzureV3VmSizes() {} public List odSizes() { return this.odSizes; } + public List preferredSpotSizes() { + return this.preferredSpotSizes == null ? List.of() : this.preferredSpotSizes; + } public List spotSizes() { return this.spotSizes; } @@ -32,11 +37,13 @@ public static Builder builder(ElastigroupAzureV3VmSizes defaults) { @CustomType.Builder public static final class Builder { private List odSizes; + private @Nullable List preferredSpotSizes; private List spotSizes; public Builder() {} public Builder(ElastigroupAzureV3VmSizes defaults) { Objects.requireNonNull(defaults); this.odSizes = defaults.odSizes; + this.preferredSpotSizes = defaults.preferredSpotSizes; this.spotSizes = defaults.spotSizes; } @@ -52,6 +59,15 @@ public Builder odSizes(String... odSizes) { return odSizes(List.of(odSizes)); } @CustomType.Setter + public Builder preferredSpotSizes(@Nullable List preferredSpotSizes) { + + this.preferredSpotSizes = preferredSpotSizes; + return this; + } + public Builder preferredSpotSizes(String... preferredSpotSizes) { + return preferredSpotSizes(List.of(preferredSpotSizes)); + } + @CustomType.Setter public Builder spotSizes(List spotSizes) { if (spotSizes == null) { throw new MissingRequiredPropertyException("ElastigroupAzureV3VmSizes", "spotSizes"); @@ -65,6 +81,7 @@ public Builder spotSizes(String... spotSizes) { public ElastigroupAzureV3VmSizes build() { final var _resultValue = new ElastigroupAzureV3VmSizes(); _resultValue.odSizes = odSizes; + _resultValue.preferredSpotSizes = preferredSpotSizes; _resultValue.spotSizes = spotSizes; return _resultValue; } diff --git a/sdk/nodejs/elastigroupAzureV3.ts b/sdk/nodejs/elastigroupAzureV3.ts index 59a3d7eb..345cbeb1 100644 --- a/sdk/nodejs/elastigroupAzureV3.ts +++ b/sdk/nodejs/elastigroupAzureV3.ts @@ -34,12 +34,19 @@ export class ElastigroupAzureV3 extends pulumi.CustomResource { return obj['__pulumiType'] === ElastigroupAzureV3.__pulumiType; } + public readonly availabilityVsCost!: pulumi.Output; + public readonly bootDiagnostics!: pulumi.Output; + public readonly capacityReservation!: pulumi.Output; public readonly customData!: pulumi.Output; + public readonly dataDisks!: pulumi.Output; + public readonly description!: pulumi.Output; public readonly desiredCapacity!: pulumi.Output; public readonly drainingTimeout!: pulumi.Output; public readonly extensions!: pulumi.Output; public readonly fallbackToOnDemand!: pulumi.Output; + public readonly health!: pulumi.Output; public readonly images!: pulumi.Output; + public readonly loadBalancers!: pulumi.Output; public readonly login!: pulumi.Output; public readonly managedServiceIdentities!: pulumi.Output; public readonly maxSize!: pulumi.Output; @@ -47,14 +54,27 @@ export class ElastigroupAzureV3 extends pulumi.CustomResource { public readonly name!: pulumi.Output; public readonly network!: pulumi.Output; public readonly onDemandCount!: pulumi.Output; + public readonly optimizationWindows!: pulumi.Output; public readonly os!: pulumi.Output; + public readonly osDisk!: pulumi.Output; + public readonly preferredZones!: pulumi.Output; + public readonly proximityPlacementGroups!: pulumi.Output; public readonly region!: pulumi.Output; public readonly resourceGroupName!: pulumi.Output; + public readonly revertToSpot!: pulumi.Output; public readonly scalingDownPolicies!: pulumi.Output; public readonly scalingUpPolicies!: pulumi.Output; + public readonly schedulingTasks!: pulumi.Output; + public readonly secrets!: pulumi.Output; + public readonly security!: pulumi.Output; + public readonly shutdownScript!: pulumi.Output; + public readonly signals!: pulumi.Output; public readonly spotPercentage!: pulumi.Output; public readonly tags!: pulumi.Output; + public readonly userData!: pulumi.Output; + public readonly vmNamePrefix!: pulumi.Output; public readonly vmSizes!: pulumi.Output; + public readonly zones!: pulumi.Output; /** * Create a ElastigroupAzureV3 resource with the given unique name, arguments, and options. @@ -69,12 +89,19 @@ export class ElastigroupAzureV3 extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as ElastigroupAzureV3State | undefined; + resourceInputs["availabilityVsCost"] = state ? state.availabilityVsCost : undefined; + resourceInputs["bootDiagnostics"] = state ? state.bootDiagnostics : undefined; + resourceInputs["capacityReservation"] = state ? state.capacityReservation : undefined; resourceInputs["customData"] = state ? state.customData : undefined; + resourceInputs["dataDisks"] = state ? state.dataDisks : undefined; + resourceInputs["description"] = state ? state.description : undefined; resourceInputs["desiredCapacity"] = state ? state.desiredCapacity : undefined; resourceInputs["drainingTimeout"] = state ? state.drainingTimeout : undefined; resourceInputs["extensions"] = state ? state.extensions : undefined; resourceInputs["fallbackToOnDemand"] = state ? state.fallbackToOnDemand : undefined; + resourceInputs["health"] = state ? state.health : undefined; resourceInputs["images"] = state ? state.images : undefined; + resourceInputs["loadBalancers"] = state ? state.loadBalancers : undefined; resourceInputs["login"] = state ? state.login : undefined; resourceInputs["managedServiceIdentities"] = state ? state.managedServiceIdentities : undefined; resourceInputs["maxSize"] = state ? state.maxSize : undefined; @@ -82,14 +109,27 @@ export class ElastigroupAzureV3 extends pulumi.CustomResource { resourceInputs["name"] = state ? state.name : undefined; resourceInputs["network"] = state ? state.network : undefined; resourceInputs["onDemandCount"] = state ? state.onDemandCount : undefined; + resourceInputs["optimizationWindows"] = state ? state.optimizationWindows : undefined; resourceInputs["os"] = state ? state.os : undefined; + resourceInputs["osDisk"] = state ? state.osDisk : undefined; + resourceInputs["preferredZones"] = state ? state.preferredZones : undefined; + resourceInputs["proximityPlacementGroups"] = state ? state.proximityPlacementGroups : undefined; resourceInputs["region"] = state ? state.region : undefined; resourceInputs["resourceGroupName"] = state ? state.resourceGroupName : undefined; + resourceInputs["revertToSpot"] = state ? state.revertToSpot : undefined; resourceInputs["scalingDownPolicies"] = state ? state.scalingDownPolicies : undefined; resourceInputs["scalingUpPolicies"] = state ? state.scalingUpPolicies : undefined; + resourceInputs["schedulingTasks"] = state ? state.schedulingTasks : undefined; + resourceInputs["secrets"] = state ? state.secrets : undefined; + resourceInputs["security"] = state ? state.security : undefined; + resourceInputs["shutdownScript"] = state ? state.shutdownScript : undefined; + resourceInputs["signals"] = state ? state.signals : undefined; resourceInputs["spotPercentage"] = state ? state.spotPercentage : undefined; resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["userData"] = state ? state.userData : undefined; + resourceInputs["vmNamePrefix"] = state ? state.vmNamePrefix : undefined; resourceInputs["vmSizes"] = state ? state.vmSizes : undefined; + resourceInputs["zones"] = state ? state.zones : undefined; } else { const args = argsOrState as ElastigroupAzureV3Args | undefined; if ((!args || args.fallbackToOnDemand === undefined) && !opts.urn) { @@ -110,12 +150,19 @@ export class ElastigroupAzureV3 extends pulumi.CustomResource { if ((!args || args.vmSizes === undefined) && !opts.urn) { throw new Error("Missing required property 'vmSizes'"); } + resourceInputs["availabilityVsCost"] = args ? args.availabilityVsCost : undefined; + resourceInputs["bootDiagnostics"] = args ? args.bootDiagnostics : undefined; + resourceInputs["capacityReservation"] = args ? args.capacityReservation : undefined; resourceInputs["customData"] = args ? args.customData : undefined; + resourceInputs["dataDisks"] = args ? args.dataDisks : undefined; + resourceInputs["description"] = args ? args.description : undefined; resourceInputs["desiredCapacity"] = args ? args.desiredCapacity : undefined; resourceInputs["drainingTimeout"] = args ? args.drainingTimeout : undefined; resourceInputs["extensions"] = args ? args.extensions : undefined; resourceInputs["fallbackToOnDemand"] = args ? args.fallbackToOnDemand : undefined; + resourceInputs["health"] = args ? args.health : undefined; resourceInputs["images"] = args ? args.images : undefined; + resourceInputs["loadBalancers"] = args ? args.loadBalancers : undefined; resourceInputs["login"] = args ? args.login : undefined; resourceInputs["managedServiceIdentities"] = args ? args.managedServiceIdentities : undefined; resourceInputs["maxSize"] = args ? args.maxSize : undefined; @@ -123,14 +170,27 @@ export class ElastigroupAzureV3 extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["network"] = args ? args.network : undefined; resourceInputs["onDemandCount"] = args ? args.onDemandCount : undefined; + resourceInputs["optimizationWindows"] = args ? args.optimizationWindows : undefined; resourceInputs["os"] = args ? args.os : undefined; + resourceInputs["osDisk"] = args ? args.osDisk : undefined; + resourceInputs["preferredZones"] = args ? args.preferredZones : undefined; + resourceInputs["proximityPlacementGroups"] = args ? args.proximityPlacementGroups : undefined; resourceInputs["region"] = args ? args.region : undefined; resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined; + resourceInputs["revertToSpot"] = args ? args.revertToSpot : undefined; resourceInputs["scalingDownPolicies"] = args ? args.scalingDownPolicies : undefined; resourceInputs["scalingUpPolicies"] = args ? args.scalingUpPolicies : undefined; + resourceInputs["schedulingTasks"] = args ? args.schedulingTasks : undefined; + resourceInputs["secrets"] = args ? args.secrets : undefined; + resourceInputs["security"] = args ? args.security : undefined; + resourceInputs["shutdownScript"] = args ? args.shutdownScript : undefined; + resourceInputs["signals"] = args ? args.signals : undefined; resourceInputs["spotPercentage"] = args ? args.spotPercentage : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["userData"] = args ? args.userData : undefined; + resourceInputs["vmNamePrefix"] = args ? args.vmNamePrefix : undefined; resourceInputs["vmSizes"] = args ? args.vmSizes : undefined; + resourceInputs["zones"] = args ? args.zones : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(ElastigroupAzureV3.__pulumiType, name, resourceInputs, opts); @@ -141,12 +201,19 @@ export class ElastigroupAzureV3 extends pulumi.CustomResource { * Input properties used for looking up and filtering ElastigroupAzureV3 resources. */ export interface ElastigroupAzureV3State { + availabilityVsCost?: pulumi.Input; + bootDiagnostics?: pulumi.Input[]>; + capacityReservation?: pulumi.Input; customData?: pulumi.Input; + dataDisks?: pulumi.Input[]>; + description?: pulumi.Input; desiredCapacity?: pulumi.Input; drainingTimeout?: pulumi.Input; extensions?: pulumi.Input[]>; fallbackToOnDemand?: pulumi.Input; + health?: pulumi.Input; images?: pulumi.Input[]>; + loadBalancers?: pulumi.Input[]>; login?: pulumi.Input; managedServiceIdentities?: pulumi.Input[]>; maxSize?: pulumi.Input; @@ -154,26 +221,46 @@ export interface ElastigroupAzureV3State { name?: pulumi.Input; network?: pulumi.Input; onDemandCount?: pulumi.Input; + optimizationWindows?: pulumi.Input[]>; os?: pulumi.Input; + osDisk?: pulumi.Input; + preferredZones?: pulumi.Input[]>; + proximityPlacementGroups?: pulumi.Input[]>; region?: pulumi.Input; resourceGroupName?: pulumi.Input; + revertToSpot?: pulumi.Input; scalingDownPolicies?: pulumi.Input[]>; scalingUpPolicies?: pulumi.Input[]>; + schedulingTasks?: pulumi.Input[]>; + secrets?: pulumi.Input[]>; + security?: pulumi.Input; + shutdownScript?: pulumi.Input; + signals?: pulumi.Input[]>; spotPercentage?: pulumi.Input; tags?: pulumi.Input[]>; + userData?: pulumi.Input; + vmNamePrefix?: pulumi.Input; vmSizes?: pulumi.Input; + zones?: pulumi.Input[]>; } /** * The set of arguments for constructing a ElastigroupAzureV3 resource. */ export interface ElastigroupAzureV3Args { + availabilityVsCost?: pulumi.Input; + bootDiagnostics?: pulumi.Input[]>; + capacityReservation?: pulumi.Input; customData?: pulumi.Input; + dataDisks?: pulumi.Input[]>; + description?: pulumi.Input; desiredCapacity?: pulumi.Input; drainingTimeout?: pulumi.Input; extensions?: pulumi.Input[]>; fallbackToOnDemand: pulumi.Input; + health?: pulumi.Input; images?: pulumi.Input[]>; + loadBalancers?: pulumi.Input[]>; login?: pulumi.Input; managedServiceIdentities?: pulumi.Input[]>; maxSize?: pulumi.Input; @@ -181,12 +268,25 @@ export interface ElastigroupAzureV3Args { name?: pulumi.Input; network: pulumi.Input; onDemandCount?: pulumi.Input; + optimizationWindows?: pulumi.Input[]>; os: pulumi.Input; + osDisk?: pulumi.Input; + preferredZones?: pulumi.Input[]>; + proximityPlacementGroups?: pulumi.Input[]>; region: pulumi.Input; resourceGroupName: pulumi.Input; + revertToSpot?: pulumi.Input; scalingDownPolicies?: pulumi.Input[]>; scalingUpPolicies?: pulumi.Input[]>; + schedulingTasks?: pulumi.Input[]>; + secrets?: pulumi.Input[]>; + security?: pulumi.Input; + shutdownScript?: pulumi.Input; + signals?: pulumi.Input[]>; spotPercentage?: pulumi.Input; tags?: pulumi.Input[]>; + userData?: pulumi.Input; + vmNamePrefix?: pulumi.Input; vmSizes: pulumi.Input; + zones?: pulumi.Input[]>; } diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 103dd9a6..80666696 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -13,6 +13,30 @@ export interface DataIntegrationS3 { subdir?: pulumi.Input; } +export interface ElastigroupAzureV3BootDiagnostic { + isEnabled: pulumi.Input; + storageUrl?: pulumi.Input; + type: pulumi.Input; +} + +export interface ElastigroupAzureV3CapacityReservation { + capacityReservationGroups?: pulumi.Input; + shouldUtilize: pulumi.Input; + utilizationStrategy: pulumi.Input; +} + +export interface ElastigroupAzureV3CapacityReservationCapacityReservationGroups { + crgName: pulumi.Input; + crgResourceGroupName: pulumi.Input; + crgShouldPrioritize?: pulumi.Input; +} + +export interface ElastigroupAzureV3DataDisk { + lun: pulumi.Input; + sizeGb: pulumi.Input; + type: pulumi.Input; +} + export interface ElastigroupAzureV3Extension { apiVersion: pulumi.Input; enableAutomaticUpgrade?: pulumi.Input; @@ -30,6 +54,13 @@ export interface ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault { sourceVault: pulumi.Input; } +export interface ElastigroupAzureV3Health { + autoHealing?: pulumi.Input; + gracePeriod?: pulumi.Input; + healthCheckTypes?: pulumi.Input[]>; + unhealthyDuration?: pulumi.Input; +} + export interface ElastigroupAzureV3Image { customs?: pulumi.Input[]>; galleryImages?: pulumi.Input[]>; @@ -56,6 +87,14 @@ export interface ElastigroupAzureV3ImageMarketplace { version: pulumi.Input; } +export interface ElastigroupAzureV3LoadBalancer { + backendPoolNames?: pulumi.Input[]>; + name: pulumi.Input; + resourceGroupName: pulumi.Input; + sku?: pulumi.Input; + type: pulumi.Input; +} + export interface ElastigroupAzureV3Login { password?: pulumi.Input; sshPublicKey?: pulumi.Input; @@ -77,7 +116,11 @@ export interface ElastigroupAzureV3NetworkNetworkInterface { additionalIpConfigs?: pulumi.Input[]>; applicationSecurityGroups?: pulumi.Input[]>; assignPublicIp: pulumi.Input; + enableIpForwarding?: pulumi.Input; isPrimary: pulumi.Input; + privateIpAddresses?: pulumi.Input[]>; + publicIpSku?: pulumi.Input; + securityGroups?: pulumi.Input[]>; subnetName: pulumi.Input; } @@ -91,6 +134,25 @@ export interface ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGro resourceGroupName: pulumi.Input; } +export interface ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup { + name?: pulumi.Input; + resourceGroupName?: pulumi.Input; +} + +export interface ElastigroupAzureV3OsDisk { + sizeGb?: pulumi.Input; + type: pulumi.Input; +} + +export interface ElastigroupAzureV3ProximityPlacementGroup { + name: pulumi.Input; + resourceGroupName: pulumi.Input; +} + +export interface ElastigroupAzureV3RevertToSpot { + performAt: pulumi.Input; +} + export interface ElastigroupAzureV3ScalingDownPolicy { action: pulumi.Input; cooldown: pulumi.Input; @@ -151,6 +213,46 @@ export interface ElastigroupAzureV3ScalingUpPolicyDimension { value?: pulumi.Input; } +export interface ElastigroupAzureV3SchedulingTask { + adjustment?: pulumi.Input; + adjustmentPercentage?: pulumi.Input; + batchSizePercentage?: pulumi.Input; + cronExpression: pulumi.Input; + gracePeriod?: pulumi.Input; + isEnabled: pulumi.Input; + scaleMaxCapacity?: pulumi.Input; + scaleMinCapacity?: pulumi.Input; + scaleTargetCapacity?: pulumi.Input; + type: pulumi.Input; +} + +export interface ElastigroupAzureV3Secret { + sourceVaults: pulumi.Input[]>; + vaultCertificates: pulumi.Input[]>; +} + +export interface ElastigroupAzureV3SecretSourceVault { + name: pulumi.Input; + resourceGroupName: pulumi.Input; +} + +export interface ElastigroupAzureV3SecretVaultCertificate { + certificateStore: pulumi.Input; + certificateUrl: pulumi.Input; +} + +export interface ElastigroupAzureV3Security { + confidentialOsDiskEncryption?: pulumi.Input; + secureBootEnabled?: pulumi.Input; + securityType?: pulumi.Input; + vtpmEnabled?: pulumi.Input; +} + +export interface ElastigroupAzureV3Signal { + timeout: pulumi.Input; + type: pulumi.Input; +} + export interface ElastigroupAzureV3Tag { key: pulumi.Input; value: pulumi.Input; @@ -158,6 +260,7 @@ export interface ElastigroupAzureV3Tag { export interface ElastigroupAzureV3VmSizes { odSizes: pulumi.Input[]>; + preferredSpotSizes?: pulumi.Input[]>; spotSizes: pulumi.Input[]>; } @@ -2885,6 +2988,10 @@ export namespace aws { * Sets the percentage of the instances to deploy in each batch. */ batchSizePercentage: pulumi.Input; + /** + * During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + */ + respectPdb?: pulumi.Input; } export interface OceanLoadBalancer { diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index a6172d89..347e1d6a 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -13,6 +13,30 @@ export interface DataIntegrationS3 { subdir?: string; } +export interface ElastigroupAzureV3BootDiagnostic { + isEnabled: boolean; + storageUrl: string; + type: string; +} + +export interface ElastigroupAzureV3CapacityReservation { + capacityReservationGroups?: outputs.ElastigroupAzureV3CapacityReservationCapacityReservationGroups; + shouldUtilize: boolean; + utilizationStrategy: string; +} + +export interface ElastigroupAzureV3CapacityReservationCapacityReservationGroups { + crgName: string; + crgResourceGroupName: string; + crgShouldPrioritize?: boolean; +} + +export interface ElastigroupAzureV3DataDisk { + lun: number; + sizeGb: number; + type: string; +} + export interface ElastigroupAzureV3Extension { apiVersion: string; enableAutomaticUpgrade?: boolean; @@ -30,6 +54,13 @@ export interface ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault { sourceVault: string; } +export interface ElastigroupAzureV3Health { + autoHealing?: boolean; + gracePeriod?: number; + healthCheckTypes?: string[]; + unhealthyDuration?: number; +} + export interface ElastigroupAzureV3Image { customs?: outputs.ElastigroupAzureV3ImageCustom[]; galleryImages?: outputs.ElastigroupAzureV3ImageGalleryImage[]; @@ -56,6 +87,14 @@ export interface ElastigroupAzureV3ImageMarketplace { version: string; } +export interface ElastigroupAzureV3LoadBalancer { + backendPoolNames?: string[]; + name: string; + resourceGroupName: string; + sku?: string; + type: string; +} + export interface ElastigroupAzureV3Login { password?: string; sshPublicKey?: string; @@ -77,7 +116,11 @@ export interface ElastigroupAzureV3NetworkNetworkInterface { additionalIpConfigs?: outputs.ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig[]; applicationSecurityGroups?: outputs.ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup[]; assignPublicIp: boolean; + enableIpForwarding?: boolean; isPrimary: boolean; + privateIpAddresses?: string[]; + publicIpSku?: string; + securityGroups?: outputs.ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup[]; subnetName: string; } @@ -91,6 +134,25 @@ export interface ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGro resourceGroupName: string; } +export interface ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup { + name?: string; + resourceGroupName?: string; +} + +export interface ElastigroupAzureV3OsDisk { + sizeGb?: number; + type: string; +} + +export interface ElastigroupAzureV3ProximityPlacementGroup { + name: string; + resourceGroupName: string; +} + +export interface ElastigroupAzureV3RevertToSpot { + performAt: string; +} + export interface ElastigroupAzureV3ScalingDownPolicy { action: outputs.ElastigroupAzureV3ScalingDownPolicyAction; cooldown: number; @@ -151,6 +213,46 @@ export interface ElastigroupAzureV3ScalingUpPolicyDimension { value?: string; } +export interface ElastigroupAzureV3SchedulingTask { + adjustment?: string; + adjustmentPercentage?: string; + batchSizePercentage?: string; + cronExpression: string; + gracePeriod?: string; + isEnabled: boolean; + scaleMaxCapacity?: string; + scaleMinCapacity?: string; + scaleTargetCapacity?: string; + type: string; +} + +export interface ElastigroupAzureV3Secret { + sourceVaults: outputs.ElastigroupAzureV3SecretSourceVault[]; + vaultCertificates: outputs.ElastigroupAzureV3SecretVaultCertificate[]; +} + +export interface ElastigroupAzureV3SecretSourceVault { + name: string; + resourceGroupName: string; +} + +export interface ElastigroupAzureV3SecretVaultCertificate { + certificateStore: string; + certificateUrl: string; +} + +export interface ElastigroupAzureV3Security { + confidentialOsDiskEncryption?: boolean; + secureBootEnabled?: boolean; + securityType?: string; + vtpmEnabled?: boolean; +} + +export interface ElastigroupAzureV3Signal { + timeout: number; + type: string; +} + export interface ElastigroupAzureV3Tag { key: string; value: string; @@ -158,6 +260,7 @@ export interface ElastigroupAzureV3Tag { export interface ElastigroupAzureV3VmSizes { odSizes: string[]; + preferredSpotSizes?: string[]; spotSizes: string[]; } @@ -2886,6 +2989,10 @@ export namespace aws { * Sets the percentage of the instances to deploy in each batch. */ batchSizePercentage: number; + /** + * During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + */ + respectPdb?: boolean; } export interface OceanLoadBalancer { diff --git a/sdk/python/pulumi_spotinst/_inputs.py b/sdk/python/pulumi_spotinst/_inputs.py index 645312b7..2e180228 100644 --- a/sdk/python/pulumi_spotinst/_inputs.py +++ b/sdk/python/pulumi_spotinst/_inputs.py @@ -17,10 +17,20 @@ __all__ = [ 'DataIntegrationS3Args', 'DataIntegrationS3ArgsDict', + 'ElastigroupAzureV3BootDiagnosticArgs', + 'ElastigroupAzureV3BootDiagnosticArgsDict', + 'ElastigroupAzureV3CapacityReservationArgs', + 'ElastigroupAzureV3CapacityReservationArgsDict', + 'ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs', + 'ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgsDict', + 'ElastigroupAzureV3DataDiskArgs', + 'ElastigroupAzureV3DataDiskArgsDict', 'ElastigroupAzureV3ExtensionArgs', 'ElastigroupAzureV3ExtensionArgsDict', 'ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgs', 'ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVaultArgsDict', + 'ElastigroupAzureV3HealthArgs', + 'ElastigroupAzureV3HealthArgsDict', 'ElastigroupAzureV3ImageArgs', 'ElastigroupAzureV3ImageArgsDict', 'ElastigroupAzureV3ImageCustomArgs', @@ -29,6 +39,8 @@ 'ElastigroupAzureV3ImageGalleryImageArgsDict', 'ElastigroupAzureV3ImageMarketplaceArgs', 'ElastigroupAzureV3ImageMarketplaceArgsDict', + 'ElastigroupAzureV3LoadBalancerArgs', + 'ElastigroupAzureV3LoadBalancerArgsDict', 'ElastigroupAzureV3LoginArgs', 'ElastigroupAzureV3LoginArgsDict', 'ElastigroupAzureV3ManagedServiceIdentityArgs', @@ -41,6 +53,14 @@ 'ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgsDict', 'ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs', 'ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgsDict', + 'ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs', + 'ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgsDict', + 'ElastigroupAzureV3OsDiskArgs', + 'ElastigroupAzureV3OsDiskArgsDict', + 'ElastigroupAzureV3ProximityPlacementGroupArgs', + 'ElastigroupAzureV3ProximityPlacementGroupArgsDict', + 'ElastigroupAzureV3RevertToSpotArgs', + 'ElastigroupAzureV3RevertToSpotArgsDict', 'ElastigroupAzureV3ScalingDownPolicyArgs', 'ElastigroupAzureV3ScalingDownPolicyArgsDict', 'ElastigroupAzureV3ScalingDownPolicyActionArgs', @@ -53,6 +73,18 @@ 'ElastigroupAzureV3ScalingUpPolicyActionArgsDict', 'ElastigroupAzureV3ScalingUpPolicyDimensionArgs', 'ElastigroupAzureV3ScalingUpPolicyDimensionArgsDict', + 'ElastigroupAzureV3SchedulingTaskArgs', + 'ElastigroupAzureV3SchedulingTaskArgsDict', + 'ElastigroupAzureV3SecretArgs', + 'ElastigroupAzureV3SecretArgsDict', + 'ElastigroupAzureV3SecretSourceVaultArgs', + 'ElastigroupAzureV3SecretSourceVaultArgsDict', + 'ElastigroupAzureV3SecretVaultCertificateArgs', + 'ElastigroupAzureV3SecretVaultCertificateArgsDict', + 'ElastigroupAzureV3SecurityArgs', + 'ElastigroupAzureV3SecurityArgsDict', + 'ElastigroupAzureV3SignalArgs', + 'ElastigroupAzureV3SignalArgsDict', 'ElastigroupAzureV3TagArgs', 'ElastigroupAzureV3TagArgsDict', 'ElastigroupAzureV3VmSizesArgs', @@ -209,6 +241,193 @@ def subdir(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "subdir", value) +if not MYPY: + class ElastigroupAzureV3BootDiagnosticArgsDict(TypedDict): + is_enabled: pulumi.Input[bool] + type: pulumi.Input[str] + storage_url: NotRequired[pulumi.Input[str]] +elif False: + ElastigroupAzureV3BootDiagnosticArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3BootDiagnosticArgs: + def __init__(__self__, *, + is_enabled: pulumi.Input[bool], + type: pulumi.Input[str], + storage_url: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "is_enabled", is_enabled) + pulumi.set(__self__, "type", type) + if storage_url is not None: + pulumi.set(__self__, "storage_url", storage_url) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> pulumi.Input[bool]: + return pulumi.get(self, "is_enabled") + + @is_enabled.setter + def is_enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_enabled", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="storageUrl") + def storage_url(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "storage_url") + + @storage_url.setter + def storage_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "storage_url", value) + + +if not MYPY: + class ElastigroupAzureV3CapacityReservationArgsDict(TypedDict): + should_utilize: pulumi.Input[bool] + utilization_strategy: pulumi.Input[str] + capacity_reservation_groups: NotRequired[pulumi.Input['ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgsDict']] +elif False: + ElastigroupAzureV3CapacityReservationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3CapacityReservationArgs: + def __init__(__self__, *, + should_utilize: pulumi.Input[bool], + utilization_strategy: pulumi.Input[str], + capacity_reservation_groups: Optional[pulumi.Input['ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs']] = None): + pulumi.set(__self__, "should_utilize", should_utilize) + pulumi.set(__self__, "utilization_strategy", utilization_strategy) + if capacity_reservation_groups is not None: + pulumi.set(__self__, "capacity_reservation_groups", capacity_reservation_groups) + + @property + @pulumi.getter(name="shouldUtilize") + def should_utilize(self) -> pulumi.Input[bool]: + return pulumi.get(self, "should_utilize") + + @should_utilize.setter + def should_utilize(self, value: pulumi.Input[bool]): + pulumi.set(self, "should_utilize", value) + + @property + @pulumi.getter(name="utilizationStrategy") + def utilization_strategy(self) -> pulumi.Input[str]: + return pulumi.get(self, "utilization_strategy") + + @utilization_strategy.setter + def utilization_strategy(self, value: pulumi.Input[str]): + pulumi.set(self, "utilization_strategy", value) + + @property + @pulumi.getter(name="capacityReservationGroups") + def capacity_reservation_groups(self) -> Optional[pulumi.Input['ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs']]: + return pulumi.get(self, "capacity_reservation_groups") + + @capacity_reservation_groups.setter + def capacity_reservation_groups(self, value: Optional[pulumi.Input['ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs']]): + pulumi.set(self, "capacity_reservation_groups", value) + + +if not MYPY: + class ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgsDict(TypedDict): + crg_name: pulumi.Input[str] + crg_resource_group_name: pulumi.Input[str] + crg_should_prioritize: NotRequired[pulumi.Input[bool]] +elif False: + ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3CapacityReservationCapacityReservationGroupsArgs: + def __init__(__self__, *, + crg_name: pulumi.Input[str], + crg_resource_group_name: pulumi.Input[str], + crg_should_prioritize: Optional[pulumi.Input[bool]] = None): + pulumi.set(__self__, "crg_name", crg_name) + pulumi.set(__self__, "crg_resource_group_name", crg_resource_group_name) + if crg_should_prioritize is not None: + pulumi.set(__self__, "crg_should_prioritize", crg_should_prioritize) + + @property + @pulumi.getter(name="crgName") + def crg_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "crg_name") + + @crg_name.setter + def crg_name(self, value: pulumi.Input[str]): + pulumi.set(self, "crg_name", value) + + @property + @pulumi.getter(name="crgResourceGroupName") + def crg_resource_group_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "crg_resource_group_name") + + @crg_resource_group_name.setter + def crg_resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "crg_resource_group_name", value) + + @property + @pulumi.getter(name="crgShouldPrioritize") + def crg_should_prioritize(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "crg_should_prioritize") + + @crg_should_prioritize.setter + def crg_should_prioritize(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "crg_should_prioritize", value) + + +if not MYPY: + class ElastigroupAzureV3DataDiskArgsDict(TypedDict): + lun: pulumi.Input[int] + size_gb: pulumi.Input[int] + type: pulumi.Input[str] +elif False: + ElastigroupAzureV3DataDiskArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3DataDiskArgs: + def __init__(__self__, *, + lun: pulumi.Input[int], + size_gb: pulumi.Input[int], + type: pulumi.Input[str]): + pulumi.set(__self__, "lun", lun) + pulumi.set(__self__, "size_gb", size_gb) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def lun(self) -> pulumi.Input[int]: + return pulumi.get(self, "lun") + + @lun.setter + def lun(self, value: pulumi.Input[int]): + pulumi.set(self, "lun", value) + + @property + @pulumi.getter(name="sizeGb") + def size_gb(self) -> pulumi.Input[int]: + return pulumi.get(self, "size_gb") + + @size_gb.setter + def size_gb(self, value: pulumi.Input[int]): + pulumi.set(self, "size_gb", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + if not MYPY: class ElastigroupAzureV3ExtensionArgsDict(TypedDict): api_version: pulumi.Input[str] @@ -365,6 +584,68 @@ def source_vault(self, value: pulumi.Input[str]): pulumi.set(self, "source_vault", value) +if not MYPY: + class ElastigroupAzureV3HealthArgsDict(TypedDict): + auto_healing: NotRequired[pulumi.Input[bool]] + grace_period: NotRequired[pulumi.Input[int]] + health_check_types: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + unhealthy_duration: NotRequired[pulumi.Input[int]] +elif False: + ElastigroupAzureV3HealthArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3HealthArgs: + def __init__(__self__, *, + auto_healing: Optional[pulumi.Input[bool]] = None, + grace_period: Optional[pulumi.Input[int]] = None, + health_check_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + unhealthy_duration: Optional[pulumi.Input[int]] = None): + if auto_healing is not None: + pulumi.set(__self__, "auto_healing", auto_healing) + if grace_period is not None: + pulumi.set(__self__, "grace_period", grace_period) + if health_check_types is not None: + pulumi.set(__self__, "health_check_types", health_check_types) + if unhealthy_duration is not None: + pulumi.set(__self__, "unhealthy_duration", unhealthy_duration) + + @property + @pulumi.getter(name="autoHealing") + def auto_healing(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "auto_healing") + + @auto_healing.setter + def auto_healing(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_healing", value) + + @property + @pulumi.getter(name="gracePeriod") + def grace_period(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "grace_period") + + @grace_period.setter + def grace_period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "grace_period", value) + + @property + @pulumi.getter(name="healthCheckTypes") + def health_check_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "health_check_types") + + @health_check_types.setter + def health_check_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "health_check_types", value) + + @property + @pulumi.getter(name="unhealthyDuration") + def unhealthy_duration(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "unhealthy_duration") + + @unhealthy_duration.setter + def unhealthy_duration(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "unhealthy_duration", value) + + if not MYPY: class ElastigroupAzureV3ImageArgsDict(TypedDict): customs: NotRequired[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ImageCustomArgsDict']]]] @@ -578,33 +859,105 @@ def version(self, value: pulumi.Input[str]): if not MYPY: - class ElastigroupAzureV3LoginArgsDict(TypedDict): - user_name: pulumi.Input[str] - password: NotRequired[pulumi.Input[str]] - ssh_public_key: NotRequired[pulumi.Input[str]] + class ElastigroupAzureV3LoadBalancerArgsDict(TypedDict): + name: pulumi.Input[str] + resource_group_name: pulumi.Input[str] + type: pulumi.Input[str] + backend_pool_names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + sku: NotRequired[pulumi.Input[str]] elif False: - ElastigroupAzureV3LoginArgsDict: TypeAlias = Mapping[str, Any] + ElastigroupAzureV3LoadBalancerArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type -class ElastigroupAzureV3LoginArgs: +class ElastigroupAzureV3LoadBalancerArgs: def __init__(__self__, *, - user_name: pulumi.Input[str], - password: Optional[pulumi.Input[str]] = None, - ssh_public_key: Optional[pulumi.Input[str]] = None): - pulumi.set(__self__, "user_name", user_name) - if password is not None: - pulumi.set(__self__, "password", password) - if ssh_public_key is not None: - pulumi.set(__self__, "ssh_public_key", ssh_public_key) + name: pulumi.Input[str], + resource_group_name: pulumi.Input[str], + type: pulumi.Input[str], + backend_pool_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + sku: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "type", type) + if backend_pool_names is not None: + pulumi.set(__self__, "backend_pool_names", backend_pool_names) + if sku is not None: + pulumi.set(__self__, "sku", sku) @property - @pulumi.getter(name="userName") - def user_name(self) -> pulumi.Input[str]: - return pulumi.get(self, "user_name") + @pulumi.getter + def name(self) -> pulumi.Input[str]: + return pulumi.get(self, "name") - @user_name.setter - def user_name(self, value: pulumi.Input[str]): - pulumi.set(self, "user_name", value) + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="backendPoolNames") + def backend_pool_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "backend_pool_names") + + @backend_pool_names.setter + def backend_pool_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "backend_pool_names", value) + + @property + @pulumi.getter + def sku(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "sku") + + @sku.setter + def sku(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sku", value) + + +if not MYPY: + class ElastigroupAzureV3LoginArgsDict(TypedDict): + user_name: pulumi.Input[str] + password: NotRequired[pulumi.Input[str]] + ssh_public_key: NotRequired[pulumi.Input[str]] +elif False: + ElastigroupAzureV3LoginArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3LoginArgs: + def __init__(__self__, *, + user_name: pulumi.Input[str], + password: Optional[pulumi.Input[str]] = None, + ssh_public_key: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "user_name", user_name) + if password is not None: + pulumi.set(__self__, "password", password) + if ssh_public_key is not None: + pulumi.set(__self__, "ssh_public_key", ssh_public_key) + + @property + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "user_name") + + @user_name.setter + def user_name(self, value: pulumi.Input[str]): + pulumi.set(self, "user_name", value) @property @pulumi.getter @@ -712,6 +1065,10 @@ class ElastigroupAzureV3NetworkNetworkInterfaceArgsDict(TypedDict): subnet_name: pulumi.Input[str] additional_ip_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgsDict']]]] application_security_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgsDict']]]] + enable_ip_forwarding: NotRequired[pulumi.Input[bool]] + private_ip_addresses: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + public_ip_sku: NotRequired[pulumi.Input[str]] + security_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgsDict']]]] elif False: ElastigroupAzureV3NetworkNetworkInterfaceArgsDict: TypeAlias = Mapping[str, Any] @@ -722,7 +1079,11 @@ def __init__(__self__, *, is_primary: pulumi.Input[bool], subnet_name: pulumi.Input[str], additional_ip_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgs']]]] = None, - application_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs']]]] = None): + application_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs']]]] = None, + enable_ip_forwarding: Optional[pulumi.Input[bool]] = None, + private_ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + public_ip_sku: Optional[pulumi.Input[str]] = None, + security_groups: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs']]]] = None): pulumi.set(__self__, "assign_public_ip", assign_public_ip) pulumi.set(__self__, "is_primary", is_primary) pulumi.set(__self__, "subnet_name", subnet_name) @@ -730,6 +1091,14 @@ def __init__(__self__, *, pulumi.set(__self__, "additional_ip_configs", additional_ip_configs) if application_security_groups is not None: pulumi.set(__self__, "application_security_groups", application_security_groups) + if enable_ip_forwarding is not None: + pulumi.set(__self__, "enable_ip_forwarding", enable_ip_forwarding) + if private_ip_addresses is not None: + pulumi.set(__self__, "private_ip_addresses", private_ip_addresses) + if public_ip_sku is not None: + pulumi.set(__self__, "public_ip_sku", public_ip_sku) + if security_groups is not None: + pulumi.set(__self__, "security_groups", security_groups) @property @pulumi.getter(name="assignPublicIp") @@ -776,6 +1145,42 @@ def application_security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.I def application_security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroupArgs']]]]): pulumi.set(self, "application_security_groups", value) + @property + @pulumi.getter(name="enableIpForwarding") + def enable_ip_forwarding(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable_ip_forwarding") + + @enable_ip_forwarding.setter + def enable_ip_forwarding(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_ip_forwarding", value) + + @property + @pulumi.getter(name="privateIpAddresses") + def private_ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "private_ip_addresses") + + @private_ip_addresses.setter + def private_ip_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "private_ip_addresses", value) + + @property + @pulumi.getter(name="publicIpSku") + def public_ip_sku(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "public_ip_sku") + + @public_ip_sku.setter + def public_ip_sku(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "public_ip_sku", value) + + @property + @pulumi.getter(name="securityGroups") + def security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs']]]]: + return pulumi.get(self, "security_groups") + + @security_groups.setter + def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs']]]]): + pulumi.set(self, "security_groups", value) + if not MYPY: class ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfigArgsDict(TypedDict): @@ -846,6 +1251,133 @@ def resource_group_name(self, value: pulumi.Input[str]): pulumi.set(self, "resource_group_name", value) +if not MYPY: + class ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgsDict(TypedDict): + name: NotRequired[pulumi.Input[str]] + resource_group_name: NotRequired[pulumi.Input[str]] +elif False: + ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroupArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + resource_group_name: Optional[pulumi.Input[str]] = None): + if name is not None: + pulumi.set(__self__, "name", name) + if resource_group_name is not None: + pulumi.set(__self__, "resource_group_name", resource_group_name) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_group_name", value) + + +if not MYPY: + class ElastigroupAzureV3OsDiskArgsDict(TypedDict): + type: pulumi.Input[str] + size_gb: NotRequired[pulumi.Input[int]] +elif False: + ElastigroupAzureV3OsDiskArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3OsDiskArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + size_gb: Optional[pulumi.Input[int]] = None): + pulumi.set(__self__, "type", type) + if size_gb is not None: + pulumi.set(__self__, "size_gb", size_gb) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="sizeGb") + def size_gb(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "size_gb") + + @size_gb.setter + def size_gb(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "size_gb", value) + + +if not MYPY: + class ElastigroupAzureV3ProximityPlacementGroupArgsDict(TypedDict): + name: pulumi.Input[str] + resource_group_name: pulumi.Input[str] +elif False: + ElastigroupAzureV3ProximityPlacementGroupArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3ProximityPlacementGroupArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + resource_group_name: pulumi.Input[str]): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + +if not MYPY: + class ElastigroupAzureV3RevertToSpotArgsDict(TypedDict): + perform_at: pulumi.Input[str] +elif False: + ElastigroupAzureV3RevertToSpotArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3RevertToSpotArgs: + def __init__(__self__, *, + perform_at: pulumi.Input[str]): + pulumi.set(__self__, "perform_at", perform_at) + + @property + @pulumi.getter(name="performAt") + def perform_at(self) -> pulumi.Input[str]: + return pulumi.get(self, "perform_at") + + @perform_at.setter + def perform_at(self, value: pulumi.Input[str]): + pulumi.set(self, "perform_at", value) + + if not MYPY: class ElastigroupAzureV3ScalingDownPolicyArgsDict(TypedDict): action: pulumi.Input['ElastigroupAzureV3ScalingDownPolicyActionArgsDict'] @@ -1432,6 +1964,341 @@ def value(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "value", value) +if not MYPY: + class ElastigroupAzureV3SchedulingTaskArgsDict(TypedDict): + cron_expression: pulumi.Input[str] + is_enabled: pulumi.Input[bool] + type: pulumi.Input[str] + adjustment: NotRequired[pulumi.Input[str]] + adjustment_percentage: NotRequired[pulumi.Input[str]] + batch_size_percentage: NotRequired[pulumi.Input[str]] + grace_period: NotRequired[pulumi.Input[str]] + scale_max_capacity: NotRequired[pulumi.Input[str]] + scale_min_capacity: NotRequired[pulumi.Input[str]] + scale_target_capacity: NotRequired[pulumi.Input[str]] +elif False: + ElastigroupAzureV3SchedulingTaskArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3SchedulingTaskArgs: + def __init__(__self__, *, + cron_expression: pulumi.Input[str], + is_enabled: pulumi.Input[bool], + type: pulumi.Input[str], + adjustment: Optional[pulumi.Input[str]] = None, + adjustment_percentage: Optional[pulumi.Input[str]] = None, + batch_size_percentage: Optional[pulumi.Input[str]] = None, + grace_period: Optional[pulumi.Input[str]] = None, + scale_max_capacity: Optional[pulumi.Input[str]] = None, + scale_min_capacity: Optional[pulumi.Input[str]] = None, + scale_target_capacity: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "cron_expression", cron_expression) + pulumi.set(__self__, "is_enabled", is_enabled) + pulumi.set(__self__, "type", type) + if adjustment is not None: + pulumi.set(__self__, "adjustment", adjustment) + if adjustment_percentage is not None: + pulumi.set(__self__, "adjustment_percentage", adjustment_percentage) + if batch_size_percentage is not None: + pulumi.set(__self__, "batch_size_percentage", batch_size_percentage) + if grace_period is not None: + pulumi.set(__self__, "grace_period", grace_period) + if scale_max_capacity is not None: + pulumi.set(__self__, "scale_max_capacity", scale_max_capacity) + if scale_min_capacity is not None: + pulumi.set(__self__, "scale_min_capacity", scale_min_capacity) + if scale_target_capacity is not None: + pulumi.set(__self__, "scale_target_capacity", scale_target_capacity) + + @property + @pulumi.getter(name="cronExpression") + def cron_expression(self) -> pulumi.Input[str]: + return pulumi.get(self, "cron_expression") + + @cron_expression.setter + def cron_expression(self, value: pulumi.Input[str]): + pulumi.set(self, "cron_expression", value) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> pulumi.Input[bool]: + return pulumi.get(self, "is_enabled") + + @is_enabled.setter + def is_enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_enabled", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def adjustment(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "adjustment") + + @adjustment.setter + def adjustment(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "adjustment", value) + + @property + @pulumi.getter(name="adjustmentPercentage") + def adjustment_percentage(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "adjustment_percentage") + + @adjustment_percentage.setter + def adjustment_percentage(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "adjustment_percentage", value) + + @property + @pulumi.getter(name="batchSizePercentage") + def batch_size_percentage(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "batch_size_percentage") + + @batch_size_percentage.setter + def batch_size_percentage(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "batch_size_percentage", value) + + @property + @pulumi.getter(name="gracePeriod") + def grace_period(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "grace_period") + + @grace_period.setter + def grace_period(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "grace_period", value) + + @property + @pulumi.getter(name="scaleMaxCapacity") + def scale_max_capacity(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "scale_max_capacity") + + @scale_max_capacity.setter + def scale_max_capacity(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scale_max_capacity", value) + + @property + @pulumi.getter(name="scaleMinCapacity") + def scale_min_capacity(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "scale_min_capacity") + + @scale_min_capacity.setter + def scale_min_capacity(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scale_min_capacity", value) + + @property + @pulumi.getter(name="scaleTargetCapacity") + def scale_target_capacity(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "scale_target_capacity") + + @scale_target_capacity.setter + def scale_target_capacity(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scale_target_capacity", value) + + +if not MYPY: + class ElastigroupAzureV3SecretArgsDict(TypedDict): + source_vaults: pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretSourceVaultArgsDict']]] + vault_certificates: pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretVaultCertificateArgsDict']]] +elif False: + ElastigroupAzureV3SecretArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3SecretArgs: + def __init__(__self__, *, + source_vaults: pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretSourceVaultArgs']]], + vault_certificates: pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretVaultCertificateArgs']]]): + pulumi.set(__self__, "source_vaults", source_vaults) + pulumi.set(__self__, "vault_certificates", vault_certificates) + + @property + @pulumi.getter(name="sourceVaults") + def source_vaults(self) -> pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretSourceVaultArgs']]]: + return pulumi.get(self, "source_vaults") + + @source_vaults.setter + def source_vaults(self, value: pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretSourceVaultArgs']]]): + pulumi.set(self, "source_vaults", value) + + @property + @pulumi.getter(name="vaultCertificates") + def vault_certificates(self) -> pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretVaultCertificateArgs']]]: + return pulumi.get(self, "vault_certificates") + + @vault_certificates.setter + def vault_certificates(self, value: pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretVaultCertificateArgs']]]): + pulumi.set(self, "vault_certificates", value) + + +if not MYPY: + class ElastigroupAzureV3SecretSourceVaultArgsDict(TypedDict): + name: pulumi.Input[str] + resource_group_name: pulumi.Input[str] +elif False: + ElastigroupAzureV3SecretSourceVaultArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3SecretSourceVaultArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + resource_group_name: pulumi.Input[str]): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "resource_group_name") + + @resource_group_name.setter + def resource_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_group_name", value) + + +if not MYPY: + class ElastigroupAzureV3SecretVaultCertificateArgsDict(TypedDict): + certificate_store: pulumi.Input[str] + certificate_url: pulumi.Input[str] +elif False: + ElastigroupAzureV3SecretVaultCertificateArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3SecretVaultCertificateArgs: + def __init__(__self__, *, + certificate_store: pulumi.Input[str], + certificate_url: pulumi.Input[str]): + pulumi.set(__self__, "certificate_store", certificate_store) + pulumi.set(__self__, "certificate_url", certificate_url) + + @property + @pulumi.getter(name="certificateStore") + def certificate_store(self) -> pulumi.Input[str]: + return pulumi.get(self, "certificate_store") + + @certificate_store.setter + def certificate_store(self, value: pulumi.Input[str]): + pulumi.set(self, "certificate_store", value) + + @property + @pulumi.getter(name="certificateUrl") + def certificate_url(self) -> pulumi.Input[str]: + return pulumi.get(self, "certificate_url") + + @certificate_url.setter + def certificate_url(self, value: pulumi.Input[str]): + pulumi.set(self, "certificate_url", value) + + +if not MYPY: + class ElastigroupAzureV3SecurityArgsDict(TypedDict): + confidential_os_disk_encryption: NotRequired[pulumi.Input[bool]] + secure_boot_enabled: NotRequired[pulumi.Input[bool]] + security_type: NotRequired[pulumi.Input[str]] + vtpm_enabled: NotRequired[pulumi.Input[bool]] +elif False: + ElastigroupAzureV3SecurityArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3SecurityArgs: + def __init__(__self__, *, + confidential_os_disk_encryption: Optional[pulumi.Input[bool]] = None, + secure_boot_enabled: Optional[pulumi.Input[bool]] = None, + security_type: Optional[pulumi.Input[str]] = None, + vtpm_enabled: Optional[pulumi.Input[bool]] = None): + if confidential_os_disk_encryption is not None: + pulumi.set(__self__, "confidential_os_disk_encryption", confidential_os_disk_encryption) + if secure_boot_enabled is not None: + pulumi.set(__self__, "secure_boot_enabled", secure_boot_enabled) + if security_type is not None: + pulumi.set(__self__, "security_type", security_type) + if vtpm_enabled is not None: + pulumi.set(__self__, "vtpm_enabled", vtpm_enabled) + + @property + @pulumi.getter(name="confidentialOsDiskEncryption") + def confidential_os_disk_encryption(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "confidential_os_disk_encryption") + + @confidential_os_disk_encryption.setter + def confidential_os_disk_encryption(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "confidential_os_disk_encryption", value) + + @property + @pulumi.getter(name="secureBootEnabled") + def secure_boot_enabled(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "secure_boot_enabled") + + @secure_boot_enabled.setter + def secure_boot_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "secure_boot_enabled", value) + + @property + @pulumi.getter(name="securityType") + def security_type(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "security_type") + + @security_type.setter + def security_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "security_type", value) + + @property + @pulumi.getter(name="vtpmEnabled") + def vtpm_enabled(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "vtpm_enabled") + + @vtpm_enabled.setter + def vtpm_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "vtpm_enabled", value) + + +if not MYPY: + class ElastigroupAzureV3SignalArgsDict(TypedDict): + timeout: pulumi.Input[int] + type: pulumi.Input[str] +elif False: + ElastigroupAzureV3SignalArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ElastigroupAzureV3SignalArgs: + def __init__(__self__, *, + timeout: pulumi.Input[int], + type: pulumi.Input[str]): + pulumi.set(__self__, "timeout", timeout) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def timeout(self) -> pulumi.Input[int]: + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: pulumi.Input[int]): + pulumi.set(self, "timeout", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + if not MYPY: class ElastigroupAzureV3TagArgsDict(TypedDict): key: pulumi.Input[str] @@ -1470,6 +2337,7 @@ def value(self, value: pulumi.Input[str]): class ElastigroupAzureV3VmSizesArgsDict(TypedDict): od_sizes: pulumi.Input[Sequence[pulumi.Input[str]]] spot_sizes: pulumi.Input[Sequence[pulumi.Input[str]]] + preferred_spot_sizes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] elif False: ElastigroupAzureV3VmSizesArgsDict: TypeAlias = Mapping[str, Any] @@ -1477,9 +2345,12 @@ class ElastigroupAzureV3VmSizesArgsDict(TypedDict): class ElastigroupAzureV3VmSizesArgs: def __init__(__self__, *, od_sizes: pulumi.Input[Sequence[pulumi.Input[str]]], - spot_sizes: pulumi.Input[Sequence[pulumi.Input[str]]]): + spot_sizes: pulumi.Input[Sequence[pulumi.Input[str]]], + preferred_spot_sizes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): pulumi.set(__self__, "od_sizes", od_sizes) pulumi.set(__self__, "spot_sizes", spot_sizes) + if preferred_spot_sizes is not None: + pulumi.set(__self__, "preferred_spot_sizes", preferred_spot_sizes) @property @pulumi.getter(name="odSizes") @@ -1499,6 +2370,15 @@ def spot_sizes(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: def spot_sizes(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): pulumi.set(self, "spot_sizes", value) + @property + @pulumi.getter(name="preferredSpotSizes") + def preferred_spot_sizes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "preferred_spot_sizes") + + @preferred_spot_sizes.setter + def preferred_spot_sizes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "preferred_spot_sizes", value) + if not MYPY: class HealthCheckCheckArgsDict(TypedDict): diff --git a/sdk/python/pulumi_spotinst/aws/_inputs.py b/sdk/python/pulumi_spotinst/aws/_inputs.py index 83e1000a..122393c4 100644 --- a/sdk/python/pulumi_spotinst/aws/_inputs.py +++ b/sdk/python/pulumi_spotinst/aws/_inputs.py @@ -13193,17 +13193,25 @@ class OceanLaunchSpecUpdatePolicyRollConfigArgsDict(TypedDict): """ Sets the percentage of the instances to deploy in each batch. """ + respect_pdb: NotRequired[pulumi.Input[bool]] + """ + During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + """ elif False: OceanLaunchSpecUpdatePolicyRollConfigArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class OceanLaunchSpecUpdatePolicyRollConfigArgs: def __init__(__self__, *, - batch_size_percentage: pulumi.Input[int]): + batch_size_percentage: pulumi.Input[int], + respect_pdb: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[int] batch_size_percentage: Sets the percentage of the instances to deploy in each batch. + :param pulumi.Input[bool] respect_pdb: During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. """ pulumi.set(__self__, "batch_size_percentage", batch_size_percentage) + if respect_pdb is not None: + pulumi.set(__self__, "respect_pdb", respect_pdb) @property @pulumi.getter(name="batchSizePercentage") @@ -13217,6 +13225,18 @@ def batch_size_percentage(self) -> pulumi.Input[int]: def batch_size_percentage(self, value: pulumi.Input[int]): pulumi.set(self, "batch_size_percentage", value) + @property + @pulumi.getter(name="respectPdb") + def respect_pdb(self) -> Optional[pulumi.Input[bool]]: + """ + During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + """ + return pulumi.get(self, "respect_pdb") + + @respect_pdb.setter + def respect_pdb(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "respect_pdb", value) + if not MYPY: class OceanLoadBalancerArgsDict(TypedDict): diff --git a/sdk/python/pulumi_spotinst/aws/outputs.py b/sdk/python/pulumi_spotinst/aws/outputs.py index 4bae4e39..09ada481 100644 --- a/sdk/python/pulumi_spotinst/aws/outputs.py +++ b/sdk/python/pulumi_spotinst/aws/outputs.py @@ -10327,6 +10327,8 @@ def __key_warning(key: str): suggest = None if key == "batchSizePercentage": suggest = "batch_size_percentage" + elif key == "respectPdb": + suggest = "respect_pdb" if suggest: pulumi.log.warn(f"Key '{key}' not found in OceanLaunchSpecUpdatePolicyRollConfig. Access the value via the '{suggest}' property getter instead.") @@ -10340,11 +10342,15 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - batch_size_percentage: int): + batch_size_percentage: int, + respect_pdb: Optional[bool] = None): """ :param int batch_size_percentage: Sets the percentage of the instances to deploy in each batch. + :param bool respect_pdb: During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. """ pulumi.set(__self__, "batch_size_percentage", batch_size_percentage) + if respect_pdb is not None: + pulumi.set(__self__, "respect_pdb", respect_pdb) @property @pulumi.getter(name="batchSizePercentage") @@ -10354,6 +10360,14 @@ def batch_size_percentage(self) -> int: """ return pulumi.get(self, "batch_size_percentage") + @property + @pulumi.getter(name="respectPdb") + def respect_pdb(self) -> Optional[bool]: + """ + During the roll, if the parameter is set to `true` we honor PDB during the instance replacement. + """ + return pulumi.get(self, "respect_pdb") + @pulumi.output_type class OceanLoadBalancer(dict): diff --git a/sdk/python/pulumi_spotinst/elastigroup_azure_v3.py b/sdk/python/pulumi_spotinst/elastigroup_azure_v3.py index 6eb4d884..d2c73034 100644 --- a/sdk/python/pulumi_spotinst/elastigroup_azure_v3.py +++ b/sdk/python/pulumi_spotinst/elastigroup_azure_v3.py @@ -27,21 +27,41 @@ def __init__(__self__, *, region: pulumi.Input[str], resource_group_name: pulumi.Input[str], vm_sizes: pulumi.Input['ElastigroupAzureV3VmSizesArgs'], + availability_vs_cost: Optional[pulumi.Input[int]] = None, + boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3BootDiagnosticArgs']]]] = None, + capacity_reservation: Optional[pulumi.Input['ElastigroupAzureV3CapacityReservationArgs']] = None, custom_data: Optional[pulumi.Input[str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3DataDiskArgs']]]] = None, + description: Optional[pulumi.Input[str]] = None, desired_capacity: Optional[pulumi.Input[int]] = None, draining_timeout: Optional[pulumi.Input[int]] = None, extensions: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ExtensionArgs']]]] = None, + health: Optional[pulumi.Input['ElastigroupAzureV3HealthArgs']] = None, images: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ImageArgs']]]] = None, + load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3LoadBalancerArgs']]]] = None, login: Optional[pulumi.Input['ElastigroupAzureV3LoginArgs']] = None, managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ManagedServiceIdentityArgs']]]] = None, max_size: Optional[pulumi.Input[int]] = None, min_size: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, on_demand_count: Optional[pulumi.Input[int]] = None, + optimization_windows: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + os_disk: Optional[pulumi.Input['ElastigroupAzureV3OsDiskArgs']] = None, + preferred_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ProximityPlacementGroupArgs']]]] = None, + revert_to_spot: Optional[pulumi.Input['ElastigroupAzureV3RevertToSpotArgs']] = None, scaling_down_policies: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ScalingDownPolicyArgs']]]] = None, scaling_up_policies: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ScalingUpPolicyArgs']]]] = None, + scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SchedulingTaskArgs']]]] = None, + secrets: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretArgs']]]] = None, + security: Optional[pulumi.Input['ElastigroupAzureV3SecurityArgs']] = None, + shutdown_script: Optional[pulumi.Input[str]] = None, + signals: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SignalArgs']]]] = None, spot_percentage: Optional[pulumi.Input[int]] = None, - tags: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3TagArgs']]]] = None): + tags: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3TagArgs']]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + vm_name_prefix: Optional[pulumi.Input[str]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ The set of arguments for constructing a ElastigroupAzureV3 resource. """ @@ -51,16 +71,30 @@ def __init__(__self__, *, pulumi.set(__self__, "region", region) pulumi.set(__self__, "resource_group_name", resource_group_name) pulumi.set(__self__, "vm_sizes", vm_sizes) + if availability_vs_cost is not None: + pulumi.set(__self__, "availability_vs_cost", availability_vs_cost) + if boot_diagnostics is not None: + pulumi.set(__self__, "boot_diagnostics", boot_diagnostics) + if capacity_reservation is not None: + pulumi.set(__self__, "capacity_reservation", capacity_reservation) if custom_data is not None: pulumi.set(__self__, "custom_data", custom_data) + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if description is not None: + pulumi.set(__self__, "description", description) if desired_capacity is not None: pulumi.set(__self__, "desired_capacity", desired_capacity) if draining_timeout is not None: pulumi.set(__self__, "draining_timeout", draining_timeout) if extensions is not None: pulumi.set(__self__, "extensions", extensions) + if health is not None: + pulumi.set(__self__, "health", health) if images is not None: pulumi.set(__self__, "images", images) + if load_balancers is not None: + pulumi.set(__self__, "load_balancers", load_balancers) if login is not None: pulumi.set(__self__, "login", login) if managed_service_identities is not None: @@ -73,14 +107,40 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if on_demand_count is not None: pulumi.set(__self__, "on_demand_count", on_demand_count) + if optimization_windows is not None: + pulumi.set(__self__, "optimization_windows", optimization_windows) + if os_disk is not None: + pulumi.set(__self__, "os_disk", os_disk) + if preferred_zones is not None: + pulumi.set(__self__, "preferred_zones", preferred_zones) + if proximity_placement_groups is not None: + pulumi.set(__self__, "proximity_placement_groups", proximity_placement_groups) + if revert_to_spot is not None: + pulumi.set(__self__, "revert_to_spot", revert_to_spot) if scaling_down_policies is not None: pulumi.set(__self__, "scaling_down_policies", scaling_down_policies) if scaling_up_policies is not None: pulumi.set(__self__, "scaling_up_policies", scaling_up_policies) + if scheduling_tasks is not None: + pulumi.set(__self__, "scheduling_tasks", scheduling_tasks) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + if security is not None: + pulumi.set(__self__, "security", security) + if shutdown_script is not None: + pulumi.set(__self__, "shutdown_script", shutdown_script) + if signals is not None: + pulumi.set(__self__, "signals", signals) if spot_percentage is not None: pulumi.set(__self__, "spot_percentage", spot_percentage) if tags is not None: pulumi.set(__self__, "tags", tags) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + if vm_name_prefix is not None: + pulumi.set(__self__, "vm_name_prefix", vm_name_prefix) + if zones is not None: + pulumi.set(__self__, "zones", zones) @property @pulumi.getter(name="fallbackToOnDemand") @@ -136,6 +196,33 @@ def vm_sizes(self) -> pulumi.Input['ElastigroupAzureV3VmSizesArgs']: def vm_sizes(self, value: pulumi.Input['ElastigroupAzureV3VmSizesArgs']): pulumi.set(self, "vm_sizes", value) + @property + @pulumi.getter(name="availabilityVsCost") + def availability_vs_cost(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "availability_vs_cost") + + @availability_vs_cost.setter + def availability_vs_cost(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "availability_vs_cost", value) + + @property + @pulumi.getter(name="bootDiagnostics") + def boot_diagnostics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3BootDiagnosticArgs']]]]: + return pulumi.get(self, "boot_diagnostics") + + @boot_diagnostics.setter + def boot_diagnostics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3BootDiagnosticArgs']]]]): + pulumi.set(self, "boot_diagnostics", value) + + @property + @pulumi.getter(name="capacityReservation") + def capacity_reservation(self) -> Optional[pulumi.Input['ElastigroupAzureV3CapacityReservationArgs']]: + return pulumi.get(self, "capacity_reservation") + + @capacity_reservation.setter + def capacity_reservation(self, value: Optional[pulumi.Input['ElastigroupAzureV3CapacityReservationArgs']]): + pulumi.set(self, "capacity_reservation", value) + @property @pulumi.getter(name="customData") def custom_data(self) -> Optional[pulumi.Input[str]]: @@ -145,6 +232,24 @@ def custom_data(self) -> Optional[pulumi.Input[str]]: def custom_data(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "custom_data", value) + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3DataDiskArgs']]]]: + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3DataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + @property @pulumi.getter(name="desiredCapacity") def desired_capacity(self) -> Optional[pulumi.Input[int]]: @@ -172,6 +277,15 @@ def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Elastigroup def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ExtensionArgs']]]]): pulumi.set(self, "extensions", value) + @property + @pulumi.getter + def health(self) -> Optional[pulumi.Input['ElastigroupAzureV3HealthArgs']]: + return pulumi.get(self, "health") + + @health.setter + def health(self, value: Optional[pulumi.Input['ElastigroupAzureV3HealthArgs']]): + pulumi.set(self, "health", value) + @property @pulumi.getter def images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ImageArgs']]]]: @@ -181,6 +295,15 @@ def images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzur def images(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ImageArgs']]]]): pulumi.set(self, "images", value) + @property + @pulumi.getter(name="loadBalancers") + def load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3LoadBalancerArgs']]]]: + return pulumi.get(self, "load_balancers") + + @load_balancers.setter + def load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3LoadBalancerArgs']]]]): + pulumi.set(self, "load_balancers", value) + @property @pulumi.getter def login(self) -> Optional[pulumi.Input['ElastigroupAzureV3LoginArgs']]: @@ -235,6 +358,51 @@ def on_demand_count(self) -> Optional[pulumi.Input[int]]: def on_demand_count(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "on_demand_count", value) + @property + @pulumi.getter(name="optimizationWindows") + def optimization_windows(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "optimization_windows") + + @optimization_windows.setter + def optimization_windows(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "optimization_windows", value) + + @property + @pulumi.getter(name="osDisk") + def os_disk(self) -> Optional[pulumi.Input['ElastigroupAzureV3OsDiskArgs']]: + return pulumi.get(self, "os_disk") + + @os_disk.setter + def os_disk(self, value: Optional[pulumi.Input['ElastigroupAzureV3OsDiskArgs']]): + pulumi.set(self, "os_disk", value) + + @property + @pulumi.getter(name="preferredZones") + def preferred_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "preferred_zones") + + @preferred_zones.setter + def preferred_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "preferred_zones", value) + + @property + @pulumi.getter(name="proximityPlacementGroups") + def proximity_placement_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ProximityPlacementGroupArgs']]]]: + return pulumi.get(self, "proximity_placement_groups") + + @proximity_placement_groups.setter + def proximity_placement_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ProximityPlacementGroupArgs']]]]): + pulumi.set(self, "proximity_placement_groups", value) + + @property + @pulumi.getter(name="revertToSpot") + def revert_to_spot(self) -> Optional[pulumi.Input['ElastigroupAzureV3RevertToSpotArgs']]: + return pulumi.get(self, "revert_to_spot") + + @revert_to_spot.setter + def revert_to_spot(self, value: Optional[pulumi.Input['ElastigroupAzureV3RevertToSpotArgs']]): + pulumi.set(self, "revert_to_spot", value) + @property @pulumi.getter(name="scalingDownPolicies") def scaling_down_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ScalingDownPolicyArgs']]]]: @@ -253,6 +421,51 @@ def scaling_up_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['El def scaling_up_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ScalingUpPolicyArgs']]]]): pulumi.set(self, "scaling_up_policies", value) + @property + @pulumi.getter(name="schedulingTasks") + def scheduling_tasks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SchedulingTaskArgs']]]]: + return pulumi.get(self, "scheduling_tasks") + + @scheduling_tasks.setter + def scheduling_tasks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SchedulingTaskArgs']]]]): + pulumi.set(self, "scheduling_tasks", value) + + @property + @pulumi.getter + def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretArgs']]]]: + return pulumi.get(self, "secrets") + + @secrets.setter + def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretArgs']]]]): + pulumi.set(self, "secrets", value) + + @property + @pulumi.getter + def security(self) -> Optional[pulumi.Input['ElastigroupAzureV3SecurityArgs']]: + return pulumi.get(self, "security") + + @security.setter + def security(self, value: Optional[pulumi.Input['ElastigroupAzureV3SecurityArgs']]): + pulumi.set(self, "security", value) + + @property + @pulumi.getter(name="shutdownScript") + def shutdown_script(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "shutdown_script") + + @shutdown_script.setter + def shutdown_script(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "shutdown_script", value) + + @property + @pulumi.getter + def signals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SignalArgs']]]]: + return pulumi.get(self, "signals") + + @signals.setter + def signals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SignalArgs']]]]): + pulumi.set(self, "signals", value) + @property @pulumi.getter(name="spotPercentage") def spot_percentage(self) -> Optional[pulumi.Input[int]]: @@ -271,16 +484,50 @@ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3TagArgs']]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "user_data") + + @user_data.setter + def user_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_data", value) + + @property + @pulumi.getter(name="vmNamePrefix") + def vm_name_prefix(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "vm_name_prefix") + + @vm_name_prefix.setter + def vm_name_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vm_name_prefix", value) + + @property + @pulumi.getter + def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "zones") + + @zones.setter + def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "zones", value) + @pulumi.input_type class _ElastigroupAzureV3State: def __init__(__self__, *, + availability_vs_cost: Optional[pulumi.Input[int]] = None, + boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3BootDiagnosticArgs']]]] = None, + capacity_reservation: Optional[pulumi.Input['ElastigroupAzureV3CapacityReservationArgs']] = None, custom_data: Optional[pulumi.Input[str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3DataDiskArgs']]]] = None, + description: Optional[pulumi.Input[str]] = None, desired_capacity: Optional[pulumi.Input[int]] = None, draining_timeout: Optional[pulumi.Input[int]] = None, extensions: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ExtensionArgs']]]] = None, fallback_to_on_demand: Optional[pulumi.Input[bool]] = None, + health: Optional[pulumi.Input['ElastigroupAzureV3HealthArgs']] = None, images: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ImageArgs']]]] = None, + load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3LoadBalancerArgs']]]] = None, login: Optional[pulumi.Input['ElastigroupAzureV3LoginArgs']] = None, managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ManagedServiceIdentityArgs']]]] = None, max_size: Optional[pulumi.Input[int]] = None, @@ -288,19 +535,42 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, network: Optional[pulumi.Input['ElastigroupAzureV3NetworkArgs']] = None, on_demand_count: Optional[pulumi.Input[int]] = None, + optimization_windows: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, os: Optional[pulumi.Input[str]] = None, + os_disk: Optional[pulumi.Input['ElastigroupAzureV3OsDiskArgs']] = None, + preferred_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ProximityPlacementGroupArgs']]]] = None, region: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, + revert_to_spot: Optional[pulumi.Input['ElastigroupAzureV3RevertToSpotArgs']] = None, scaling_down_policies: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ScalingDownPolicyArgs']]]] = None, scaling_up_policies: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ScalingUpPolicyArgs']]]] = None, + scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SchedulingTaskArgs']]]] = None, + secrets: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretArgs']]]] = None, + security: Optional[pulumi.Input['ElastigroupAzureV3SecurityArgs']] = None, + shutdown_script: Optional[pulumi.Input[str]] = None, + signals: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SignalArgs']]]] = None, spot_percentage: Optional[pulumi.Input[int]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3TagArgs']]]] = None, - vm_sizes: Optional[pulumi.Input['ElastigroupAzureV3VmSizesArgs']] = None): + user_data: Optional[pulumi.Input[str]] = None, + vm_name_prefix: Optional[pulumi.Input[str]] = None, + vm_sizes: Optional[pulumi.Input['ElastigroupAzureV3VmSizesArgs']] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering ElastigroupAzureV3 resources. """ + if availability_vs_cost is not None: + pulumi.set(__self__, "availability_vs_cost", availability_vs_cost) + if boot_diagnostics is not None: + pulumi.set(__self__, "boot_diagnostics", boot_diagnostics) + if capacity_reservation is not None: + pulumi.set(__self__, "capacity_reservation", capacity_reservation) if custom_data is not None: pulumi.set(__self__, "custom_data", custom_data) + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if description is not None: + pulumi.set(__self__, "description", description) if desired_capacity is not None: pulumi.set(__self__, "desired_capacity", desired_capacity) if draining_timeout is not None: @@ -309,8 +579,12 @@ def __init__(__self__, *, pulumi.set(__self__, "extensions", extensions) if fallback_to_on_demand is not None: pulumi.set(__self__, "fallback_to_on_demand", fallback_to_on_demand) + if health is not None: + pulumi.set(__self__, "health", health) if images is not None: pulumi.set(__self__, "images", images) + if load_balancers is not None: + pulumi.set(__self__, "load_balancers", load_balancers) if login is not None: pulumi.set(__self__, "login", login) if managed_service_identities is not None: @@ -325,22 +599,75 @@ def __init__(__self__, *, pulumi.set(__self__, "network", network) if on_demand_count is not None: pulumi.set(__self__, "on_demand_count", on_demand_count) + if optimization_windows is not None: + pulumi.set(__self__, "optimization_windows", optimization_windows) if os is not None: pulumi.set(__self__, "os", os) + if os_disk is not None: + pulumi.set(__self__, "os_disk", os_disk) + if preferred_zones is not None: + pulumi.set(__self__, "preferred_zones", preferred_zones) + if proximity_placement_groups is not None: + pulumi.set(__self__, "proximity_placement_groups", proximity_placement_groups) if region is not None: pulumi.set(__self__, "region", region) if resource_group_name is not None: pulumi.set(__self__, "resource_group_name", resource_group_name) + if revert_to_spot is not None: + pulumi.set(__self__, "revert_to_spot", revert_to_spot) if scaling_down_policies is not None: pulumi.set(__self__, "scaling_down_policies", scaling_down_policies) if scaling_up_policies is not None: pulumi.set(__self__, "scaling_up_policies", scaling_up_policies) + if scheduling_tasks is not None: + pulumi.set(__self__, "scheduling_tasks", scheduling_tasks) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + if security is not None: + pulumi.set(__self__, "security", security) + if shutdown_script is not None: + pulumi.set(__self__, "shutdown_script", shutdown_script) + if signals is not None: + pulumi.set(__self__, "signals", signals) if spot_percentage is not None: pulumi.set(__self__, "spot_percentage", spot_percentage) if tags is not None: pulumi.set(__self__, "tags", tags) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + if vm_name_prefix is not None: + pulumi.set(__self__, "vm_name_prefix", vm_name_prefix) if vm_sizes is not None: pulumi.set(__self__, "vm_sizes", vm_sizes) + if zones is not None: + pulumi.set(__self__, "zones", zones) + + @property + @pulumi.getter(name="availabilityVsCost") + def availability_vs_cost(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "availability_vs_cost") + + @availability_vs_cost.setter + def availability_vs_cost(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "availability_vs_cost", value) + + @property + @pulumi.getter(name="bootDiagnostics") + def boot_diagnostics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3BootDiagnosticArgs']]]]: + return pulumi.get(self, "boot_diagnostics") + + @boot_diagnostics.setter + def boot_diagnostics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3BootDiagnosticArgs']]]]): + pulumi.set(self, "boot_diagnostics", value) + + @property + @pulumi.getter(name="capacityReservation") + def capacity_reservation(self) -> Optional[pulumi.Input['ElastigroupAzureV3CapacityReservationArgs']]: + return pulumi.get(self, "capacity_reservation") + + @capacity_reservation.setter + def capacity_reservation(self, value: Optional[pulumi.Input['ElastigroupAzureV3CapacityReservationArgs']]): + pulumi.set(self, "capacity_reservation", value) @property @pulumi.getter(name="customData") @@ -351,6 +678,24 @@ def custom_data(self) -> Optional[pulumi.Input[str]]: def custom_data(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "custom_data", value) + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3DataDiskArgs']]]]: + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3DataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + @property @pulumi.getter(name="desiredCapacity") def desired_capacity(self) -> Optional[pulumi.Input[int]]: @@ -387,6 +732,15 @@ def fallback_to_on_demand(self) -> Optional[pulumi.Input[bool]]: def fallback_to_on_demand(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "fallback_to_on_demand", value) + @property + @pulumi.getter + def health(self) -> Optional[pulumi.Input['ElastigroupAzureV3HealthArgs']]: + return pulumi.get(self, "health") + + @health.setter + def health(self, value: Optional[pulumi.Input['ElastigroupAzureV3HealthArgs']]): + pulumi.set(self, "health", value) + @property @pulumi.getter def images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ImageArgs']]]]: @@ -396,6 +750,15 @@ def images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzur def images(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ImageArgs']]]]): pulumi.set(self, "images", value) + @property + @pulumi.getter(name="loadBalancers") + def load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3LoadBalancerArgs']]]]: + return pulumi.get(self, "load_balancers") + + @load_balancers.setter + def load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3LoadBalancerArgs']]]]): + pulumi.set(self, "load_balancers", value) + @property @pulumi.getter def login(self) -> Optional[pulumi.Input['ElastigroupAzureV3LoginArgs']]: @@ -459,6 +822,15 @@ def on_demand_count(self) -> Optional[pulumi.Input[int]]: def on_demand_count(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "on_demand_count", value) + @property + @pulumi.getter(name="optimizationWindows") + def optimization_windows(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "optimization_windows") + + @optimization_windows.setter + def optimization_windows(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "optimization_windows", value) + @property @pulumi.getter def os(self) -> Optional[pulumi.Input[str]]: @@ -468,6 +840,33 @@ def os(self) -> Optional[pulumi.Input[str]]: def os(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "os", value) + @property + @pulumi.getter(name="osDisk") + def os_disk(self) -> Optional[pulumi.Input['ElastigroupAzureV3OsDiskArgs']]: + return pulumi.get(self, "os_disk") + + @os_disk.setter + def os_disk(self, value: Optional[pulumi.Input['ElastigroupAzureV3OsDiskArgs']]): + pulumi.set(self, "os_disk", value) + + @property + @pulumi.getter(name="preferredZones") + def preferred_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "preferred_zones") + + @preferred_zones.setter + def preferred_zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "preferred_zones", value) + + @property + @pulumi.getter(name="proximityPlacementGroups") + def proximity_placement_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ProximityPlacementGroupArgs']]]]: + return pulumi.get(self, "proximity_placement_groups") + + @proximity_placement_groups.setter + def proximity_placement_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ProximityPlacementGroupArgs']]]]): + pulumi.set(self, "proximity_placement_groups", value) + @property @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: @@ -486,6 +885,15 @@ def resource_group_name(self) -> Optional[pulumi.Input[str]]: def resource_group_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "resource_group_name", value) + @property + @pulumi.getter(name="revertToSpot") + def revert_to_spot(self) -> Optional[pulumi.Input['ElastigroupAzureV3RevertToSpotArgs']]: + return pulumi.get(self, "revert_to_spot") + + @revert_to_spot.setter + def revert_to_spot(self, value: Optional[pulumi.Input['ElastigroupAzureV3RevertToSpotArgs']]): + pulumi.set(self, "revert_to_spot", value) + @property @pulumi.getter(name="scalingDownPolicies") def scaling_down_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ScalingDownPolicyArgs']]]]: @@ -504,6 +912,51 @@ def scaling_up_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['El def scaling_up_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3ScalingUpPolicyArgs']]]]): pulumi.set(self, "scaling_up_policies", value) + @property + @pulumi.getter(name="schedulingTasks") + def scheduling_tasks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SchedulingTaskArgs']]]]: + return pulumi.get(self, "scheduling_tasks") + + @scheduling_tasks.setter + def scheduling_tasks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SchedulingTaskArgs']]]]): + pulumi.set(self, "scheduling_tasks", value) + + @property + @pulumi.getter + def secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretArgs']]]]: + return pulumi.get(self, "secrets") + + @secrets.setter + def secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SecretArgs']]]]): + pulumi.set(self, "secrets", value) + + @property + @pulumi.getter + def security(self) -> Optional[pulumi.Input['ElastigroupAzureV3SecurityArgs']]: + return pulumi.get(self, "security") + + @security.setter + def security(self, value: Optional[pulumi.Input['ElastigroupAzureV3SecurityArgs']]): + pulumi.set(self, "security", value) + + @property + @pulumi.getter(name="shutdownScript") + def shutdown_script(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "shutdown_script") + + @shutdown_script.setter + def shutdown_script(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "shutdown_script", value) + + @property + @pulumi.getter + def signals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SignalArgs']]]]: + return pulumi.get(self, "signals") + + @signals.setter + def signals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3SignalArgs']]]]): + pulumi.set(self, "signals", value) + @property @pulumi.getter(name="spotPercentage") def spot_percentage(self) -> Optional[pulumi.Input[int]]: @@ -522,6 +975,24 @@ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ElastigroupAzureV3TagArgs']]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "user_data") + + @user_data.setter + def user_data(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_data", value) + + @property + @pulumi.getter(name="vmNamePrefix") + def vm_name_prefix(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "vm_name_prefix") + + @vm_name_prefix.setter + def vm_name_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vm_name_prefix", value) + @property @pulumi.getter(name="vmSizes") def vm_sizes(self) -> Optional[pulumi.Input['ElastigroupAzureV3VmSizesArgs']]: @@ -531,18 +1002,34 @@ def vm_sizes(self) -> Optional[pulumi.Input['ElastigroupAzureV3VmSizesArgs']]: def vm_sizes(self, value: Optional[pulumi.Input['ElastigroupAzureV3VmSizesArgs']]): pulumi.set(self, "vm_sizes", value) + @property + @pulumi.getter + def zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "zones") + + @zones.setter + def zones(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "zones", value) + class ElastigroupAzureV3(pulumi.CustomResource): @overload def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + availability_vs_cost: Optional[pulumi.Input[int]] = None, + boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3BootDiagnosticArgs', 'ElastigroupAzureV3BootDiagnosticArgsDict']]]]] = None, + capacity_reservation: Optional[pulumi.Input[Union['ElastigroupAzureV3CapacityReservationArgs', 'ElastigroupAzureV3CapacityReservationArgsDict']]] = None, custom_data: Optional[pulumi.Input[str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3DataDiskArgs', 'ElastigroupAzureV3DataDiskArgsDict']]]]] = None, + description: Optional[pulumi.Input[str]] = None, desired_capacity: Optional[pulumi.Input[int]] = None, draining_timeout: Optional[pulumi.Input[int]] = None, extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ExtensionArgs', 'ElastigroupAzureV3ExtensionArgsDict']]]]] = None, fallback_to_on_demand: Optional[pulumi.Input[bool]] = None, + health: Optional[pulumi.Input[Union['ElastigroupAzureV3HealthArgs', 'ElastigroupAzureV3HealthArgsDict']]] = None, images: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ImageArgs', 'ElastigroupAzureV3ImageArgsDict']]]]] = None, + load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3LoadBalancerArgs', 'ElastigroupAzureV3LoadBalancerArgsDict']]]]] = None, login: Optional[pulumi.Input[Union['ElastigroupAzureV3LoginArgs', 'ElastigroupAzureV3LoginArgsDict']]] = None, managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ManagedServiceIdentityArgs', 'ElastigroupAzureV3ManagedServiceIdentityArgsDict']]]]] = None, max_size: Optional[pulumi.Input[int]] = None, @@ -550,14 +1037,27 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, network: Optional[pulumi.Input[Union['ElastigroupAzureV3NetworkArgs', 'ElastigroupAzureV3NetworkArgsDict']]] = None, on_demand_count: Optional[pulumi.Input[int]] = None, + optimization_windows: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, os: Optional[pulumi.Input[str]] = None, + os_disk: Optional[pulumi.Input[Union['ElastigroupAzureV3OsDiskArgs', 'ElastigroupAzureV3OsDiskArgsDict']]] = None, + preferred_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ProximityPlacementGroupArgs', 'ElastigroupAzureV3ProximityPlacementGroupArgsDict']]]]] = None, region: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, + revert_to_spot: Optional[pulumi.Input[Union['ElastigroupAzureV3RevertToSpotArgs', 'ElastigroupAzureV3RevertToSpotArgsDict']]] = None, scaling_down_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ScalingDownPolicyArgs', 'ElastigroupAzureV3ScalingDownPolicyArgsDict']]]]] = None, scaling_up_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ScalingUpPolicyArgs', 'ElastigroupAzureV3ScalingUpPolicyArgsDict']]]]] = None, + scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3SchedulingTaskArgs', 'ElastigroupAzureV3SchedulingTaskArgsDict']]]]] = None, + secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3SecretArgs', 'ElastigroupAzureV3SecretArgsDict']]]]] = None, + security: Optional[pulumi.Input[Union['ElastigroupAzureV3SecurityArgs', 'ElastigroupAzureV3SecurityArgsDict']]] = None, + shutdown_script: Optional[pulumi.Input[str]] = None, + signals: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3SignalArgs', 'ElastigroupAzureV3SignalArgsDict']]]]] = None, spot_percentage: Optional[pulumi.Input[int]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3TagArgs', 'ElastigroupAzureV3TagArgsDict']]]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + vm_name_prefix: Optional[pulumi.Input[str]] = None, vm_sizes: Optional[pulumi.Input[Union['ElastigroupAzureV3VmSizesArgs', 'ElastigroupAzureV3VmSizesArgsDict']]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): """ Create a ElastigroupAzureV3 resource with the given unique name, props, and options. @@ -587,12 +1087,19 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + availability_vs_cost: Optional[pulumi.Input[int]] = None, + boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3BootDiagnosticArgs', 'ElastigroupAzureV3BootDiagnosticArgsDict']]]]] = None, + capacity_reservation: Optional[pulumi.Input[Union['ElastigroupAzureV3CapacityReservationArgs', 'ElastigroupAzureV3CapacityReservationArgsDict']]] = None, custom_data: Optional[pulumi.Input[str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3DataDiskArgs', 'ElastigroupAzureV3DataDiskArgsDict']]]]] = None, + description: Optional[pulumi.Input[str]] = None, desired_capacity: Optional[pulumi.Input[int]] = None, draining_timeout: Optional[pulumi.Input[int]] = None, extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ExtensionArgs', 'ElastigroupAzureV3ExtensionArgsDict']]]]] = None, fallback_to_on_demand: Optional[pulumi.Input[bool]] = None, + health: Optional[pulumi.Input[Union['ElastigroupAzureV3HealthArgs', 'ElastigroupAzureV3HealthArgsDict']]] = None, images: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ImageArgs', 'ElastigroupAzureV3ImageArgsDict']]]]] = None, + load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3LoadBalancerArgs', 'ElastigroupAzureV3LoadBalancerArgsDict']]]]] = None, login: Optional[pulumi.Input[Union['ElastigroupAzureV3LoginArgs', 'ElastigroupAzureV3LoginArgsDict']]] = None, managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ManagedServiceIdentityArgs', 'ElastigroupAzureV3ManagedServiceIdentityArgsDict']]]]] = None, max_size: Optional[pulumi.Input[int]] = None, @@ -600,14 +1107,27 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, network: Optional[pulumi.Input[Union['ElastigroupAzureV3NetworkArgs', 'ElastigroupAzureV3NetworkArgsDict']]] = None, on_demand_count: Optional[pulumi.Input[int]] = None, + optimization_windows: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, os: Optional[pulumi.Input[str]] = None, + os_disk: Optional[pulumi.Input[Union['ElastigroupAzureV3OsDiskArgs', 'ElastigroupAzureV3OsDiskArgsDict']]] = None, + preferred_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ProximityPlacementGroupArgs', 'ElastigroupAzureV3ProximityPlacementGroupArgsDict']]]]] = None, region: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, + revert_to_spot: Optional[pulumi.Input[Union['ElastigroupAzureV3RevertToSpotArgs', 'ElastigroupAzureV3RevertToSpotArgsDict']]] = None, scaling_down_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ScalingDownPolicyArgs', 'ElastigroupAzureV3ScalingDownPolicyArgsDict']]]]] = None, scaling_up_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ScalingUpPolicyArgs', 'ElastigroupAzureV3ScalingUpPolicyArgsDict']]]]] = None, + scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3SchedulingTaskArgs', 'ElastigroupAzureV3SchedulingTaskArgsDict']]]]] = None, + secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3SecretArgs', 'ElastigroupAzureV3SecretArgsDict']]]]] = None, + security: Optional[pulumi.Input[Union['ElastigroupAzureV3SecurityArgs', 'ElastigroupAzureV3SecurityArgsDict']]] = None, + shutdown_script: Optional[pulumi.Input[str]] = None, + signals: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3SignalArgs', 'ElastigroupAzureV3SignalArgsDict']]]]] = None, spot_percentage: Optional[pulumi.Input[int]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3TagArgs', 'ElastigroupAzureV3TagArgsDict']]]]] = None, + user_data: Optional[pulumi.Input[str]] = None, + vm_name_prefix: Optional[pulumi.Input[str]] = None, vm_sizes: Optional[pulumi.Input[Union['ElastigroupAzureV3VmSizesArgs', 'ElastigroupAzureV3VmSizesArgsDict']]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -617,14 +1137,21 @@ 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__ = ElastigroupAzureV3Args.__new__(ElastigroupAzureV3Args) + __props__.__dict__["availability_vs_cost"] = availability_vs_cost + __props__.__dict__["boot_diagnostics"] = boot_diagnostics + __props__.__dict__["capacity_reservation"] = capacity_reservation __props__.__dict__["custom_data"] = custom_data + __props__.__dict__["data_disks"] = data_disks + __props__.__dict__["description"] = description __props__.__dict__["desired_capacity"] = desired_capacity __props__.__dict__["draining_timeout"] = draining_timeout __props__.__dict__["extensions"] = extensions if fallback_to_on_demand is None and not opts.urn: raise TypeError("Missing required property 'fallback_to_on_demand'") __props__.__dict__["fallback_to_on_demand"] = fallback_to_on_demand + __props__.__dict__["health"] = health __props__.__dict__["images"] = images + __props__.__dict__["load_balancers"] = load_balancers __props__.__dict__["login"] = login __props__.__dict__["managed_service_identities"] = managed_service_identities __props__.__dict__["max_size"] = max_size @@ -634,22 +1161,35 @@ def _internal_init(__self__, raise TypeError("Missing required property 'network'") __props__.__dict__["network"] = network __props__.__dict__["on_demand_count"] = on_demand_count + __props__.__dict__["optimization_windows"] = optimization_windows if os is None and not opts.urn: raise TypeError("Missing required property 'os'") __props__.__dict__["os"] = os + __props__.__dict__["os_disk"] = os_disk + __props__.__dict__["preferred_zones"] = preferred_zones + __props__.__dict__["proximity_placement_groups"] = proximity_placement_groups if region is None and not opts.urn: raise TypeError("Missing required property 'region'") __props__.__dict__["region"] = region 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__["revert_to_spot"] = revert_to_spot __props__.__dict__["scaling_down_policies"] = scaling_down_policies __props__.__dict__["scaling_up_policies"] = scaling_up_policies + __props__.__dict__["scheduling_tasks"] = scheduling_tasks + __props__.__dict__["secrets"] = secrets + __props__.__dict__["security"] = security + __props__.__dict__["shutdown_script"] = shutdown_script + __props__.__dict__["signals"] = signals __props__.__dict__["spot_percentage"] = spot_percentage __props__.__dict__["tags"] = tags + __props__.__dict__["user_data"] = user_data + __props__.__dict__["vm_name_prefix"] = vm_name_prefix if vm_sizes is None and not opts.urn: raise TypeError("Missing required property 'vm_sizes'") __props__.__dict__["vm_sizes"] = vm_sizes + __props__.__dict__["zones"] = zones super(ElastigroupAzureV3, __self__).__init__( 'spotinst:index/elastigroupAzureV3:ElastigroupAzureV3', resource_name, @@ -660,12 +1200,19 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + availability_vs_cost: Optional[pulumi.Input[int]] = None, + boot_diagnostics: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3BootDiagnosticArgs', 'ElastigroupAzureV3BootDiagnosticArgsDict']]]]] = None, + capacity_reservation: Optional[pulumi.Input[Union['ElastigroupAzureV3CapacityReservationArgs', 'ElastigroupAzureV3CapacityReservationArgsDict']]] = None, custom_data: Optional[pulumi.Input[str]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3DataDiskArgs', 'ElastigroupAzureV3DataDiskArgsDict']]]]] = None, + description: Optional[pulumi.Input[str]] = None, desired_capacity: Optional[pulumi.Input[int]] = None, draining_timeout: Optional[pulumi.Input[int]] = None, extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ExtensionArgs', 'ElastigroupAzureV3ExtensionArgsDict']]]]] = None, fallback_to_on_demand: Optional[pulumi.Input[bool]] = None, + health: Optional[pulumi.Input[Union['ElastigroupAzureV3HealthArgs', 'ElastigroupAzureV3HealthArgsDict']]] = None, images: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ImageArgs', 'ElastigroupAzureV3ImageArgsDict']]]]] = None, + load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3LoadBalancerArgs', 'ElastigroupAzureV3LoadBalancerArgsDict']]]]] = None, login: Optional[pulumi.Input[Union['ElastigroupAzureV3LoginArgs', 'ElastigroupAzureV3LoginArgsDict']]] = None, managed_service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ManagedServiceIdentityArgs', 'ElastigroupAzureV3ManagedServiceIdentityArgsDict']]]]] = None, max_size: Optional[pulumi.Input[int]] = None, @@ -673,14 +1220,27 @@ def get(resource_name: str, name: Optional[pulumi.Input[str]] = None, network: Optional[pulumi.Input[Union['ElastigroupAzureV3NetworkArgs', 'ElastigroupAzureV3NetworkArgsDict']]] = None, on_demand_count: Optional[pulumi.Input[int]] = None, + optimization_windows: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, os: Optional[pulumi.Input[str]] = None, + os_disk: Optional[pulumi.Input[Union['ElastigroupAzureV3OsDiskArgs', 'ElastigroupAzureV3OsDiskArgsDict']]] = None, + preferred_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + proximity_placement_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ProximityPlacementGroupArgs', 'ElastigroupAzureV3ProximityPlacementGroupArgsDict']]]]] = None, region: Optional[pulumi.Input[str]] = None, resource_group_name: Optional[pulumi.Input[str]] = None, + revert_to_spot: Optional[pulumi.Input[Union['ElastigroupAzureV3RevertToSpotArgs', 'ElastigroupAzureV3RevertToSpotArgsDict']]] = None, scaling_down_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ScalingDownPolicyArgs', 'ElastigroupAzureV3ScalingDownPolicyArgsDict']]]]] = None, scaling_up_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3ScalingUpPolicyArgs', 'ElastigroupAzureV3ScalingUpPolicyArgsDict']]]]] = None, + scheduling_tasks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3SchedulingTaskArgs', 'ElastigroupAzureV3SchedulingTaskArgsDict']]]]] = None, + secrets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3SecretArgs', 'ElastigroupAzureV3SecretArgsDict']]]]] = None, + security: Optional[pulumi.Input[Union['ElastigroupAzureV3SecurityArgs', 'ElastigroupAzureV3SecurityArgsDict']]] = None, + shutdown_script: Optional[pulumi.Input[str]] = None, + signals: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3SignalArgs', 'ElastigroupAzureV3SignalArgsDict']]]]] = None, spot_percentage: Optional[pulumi.Input[int]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ElastigroupAzureV3TagArgs', 'ElastigroupAzureV3TagArgsDict']]]]] = None, - vm_sizes: Optional[pulumi.Input[Union['ElastigroupAzureV3VmSizesArgs', 'ElastigroupAzureV3VmSizesArgsDict']]] = None) -> 'ElastigroupAzureV3': + user_data: Optional[pulumi.Input[str]] = None, + vm_name_prefix: Optional[pulumi.Input[str]] = None, + vm_sizes: Optional[pulumi.Input[Union['ElastigroupAzureV3VmSizesArgs', 'ElastigroupAzureV3VmSizesArgsDict']]] = None, + zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'ElastigroupAzureV3': """ Get an existing ElastigroupAzureV3 resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -693,12 +1253,19 @@ def get(resource_name: str, __props__ = _ElastigroupAzureV3State.__new__(_ElastigroupAzureV3State) + __props__.__dict__["availability_vs_cost"] = availability_vs_cost + __props__.__dict__["boot_diagnostics"] = boot_diagnostics + __props__.__dict__["capacity_reservation"] = capacity_reservation __props__.__dict__["custom_data"] = custom_data + __props__.__dict__["data_disks"] = data_disks + __props__.__dict__["description"] = description __props__.__dict__["desired_capacity"] = desired_capacity __props__.__dict__["draining_timeout"] = draining_timeout __props__.__dict__["extensions"] = extensions __props__.__dict__["fallback_to_on_demand"] = fallback_to_on_demand + __props__.__dict__["health"] = health __props__.__dict__["images"] = images + __props__.__dict__["load_balancers"] = load_balancers __props__.__dict__["login"] = login __props__.__dict__["managed_service_identities"] = managed_service_identities __props__.__dict__["max_size"] = max_size @@ -706,21 +1273,59 @@ def get(resource_name: str, __props__.__dict__["name"] = name __props__.__dict__["network"] = network __props__.__dict__["on_demand_count"] = on_demand_count + __props__.__dict__["optimization_windows"] = optimization_windows __props__.__dict__["os"] = os + __props__.__dict__["os_disk"] = os_disk + __props__.__dict__["preferred_zones"] = preferred_zones + __props__.__dict__["proximity_placement_groups"] = proximity_placement_groups __props__.__dict__["region"] = region __props__.__dict__["resource_group_name"] = resource_group_name + __props__.__dict__["revert_to_spot"] = revert_to_spot __props__.__dict__["scaling_down_policies"] = scaling_down_policies __props__.__dict__["scaling_up_policies"] = scaling_up_policies + __props__.__dict__["scheduling_tasks"] = scheduling_tasks + __props__.__dict__["secrets"] = secrets + __props__.__dict__["security"] = security + __props__.__dict__["shutdown_script"] = shutdown_script + __props__.__dict__["signals"] = signals __props__.__dict__["spot_percentage"] = spot_percentage __props__.__dict__["tags"] = tags + __props__.__dict__["user_data"] = user_data + __props__.__dict__["vm_name_prefix"] = vm_name_prefix __props__.__dict__["vm_sizes"] = vm_sizes + __props__.__dict__["zones"] = zones return ElastigroupAzureV3(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="availabilityVsCost") + def availability_vs_cost(self) -> pulumi.Output[Optional[int]]: + return pulumi.get(self, "availability_vs_cost") + + @property + @pulumi.getter(name="bootDiagnostics") + def boot_diagnostics(self) -> pulumi.Output[Sequence['outputs.ElastigroupAzureV3BootDiagnostic']]: + return pulumi.get(self, "boot_diagnostics") + + @property + @pulumi.getter(name="capacityReservation") + def capacity_reservation(self) -> pulumi.Output[Optional['outputs.ElastigroupAzureV3CapacityReservation']]: + return pulumi.get(self, "capacity_reservation") + @property @pulumi.getter(name="customData") def custom_data(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "custom_data") + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> pulumi.Output[Optional[Sequence['outputs.ElastigroupAzureV3DataDisk']]]: + return pulumi.get(self, "data_disks") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "description") + @property @pulumi.getter(name="desiredCapacity") def desired_capacity(self) -> pulumi.Output[Optional[int]]: @@ -741,11 +1346,21 @@ def extensions(self) -> pulumi.Output[Sequence['outputs.ElastigroupAzureV3Extens def fallback_to_on_demand(self) -> pulumi.Output[bool]: return pulumi.get(self, "fallback_to_on_demand") + @property + @pulumi.getter + def health(self) -> pulumi.Output[Optional['outputs.ElastigroupAzureV3Health']]: + return pulumi.get(self, "health") + @property @pulumi.getter def images(self) -> pulumi.Output[Optional[Sequence['outputs.ElastigroupAzureV3Image']]]: return pulumi.get(self, "images") + @property + @pulumi.getter(name="loadBalancers") + def load_balancers(self) -> pulumi.Output[Optional[Sequence['outputs.ElastigroupAzureV3LoadBalancer']]]: + return pulumi.get(self, "load_balancers") + @property @pulumi.getter def login(self) -> pulumi.Output[Optional['outputs.ElastigroupAzureV3Login']]: @@ -781,11 +1396,31 @@ def network(self) -> pulumi.Output['outputs.ElastigroupAzureV3Network']: def on_demand_count(self) -> pulumi.Output[Optional[int]]: return pulumi.get(self, "on_demand_count") + @property + @pulumi.getter(name="optimizationWindows") + def optimization_windows(self) -> pulumi.Output[Optional[Sequence[str]]]: + return pulumi.get(self, "optimization_windows") + @property @pulumi.getter def os(self) -> pulumi.Output[str]: return pulumi.get(self, "os") + @property + @pulumi.getter(name="osDisk") + def os_disk(self) -> pulumi.Output[Optional['outputs.ElastigroupAzureV3OsDisk']]: + return pulumi.get(self, "os_disk") + + @property + @pulumi.getter(name="preferredZones") + def preferred_zones(self) -> pulumi.Output[Optional[Sequence[str]]]: + return pulumi.get(self, "preferred_zones") + + @property + @pulumi.getter(name="proximityPlacementGroups") + def proximity_placement_groups(self) -> pulumi.Output[Optional[Sequence['outputs.ElastigroupAzureV3ProximityPlacementGroup']]]: + return pulumi.get(self, "proximity_placement_groups") + @property @pulumi.getter def region(self) -> pulumi.Output[str]: @@ -796,6 +1431,11 @@ def region(self) -> pulumi.Output[str]: def resource_group_name(self) -> pulumi.Output[str]: return pulumi.get(self, "resource_group_name") + @property + @pulumi.getter(name="revertToSpot") + def revert_to_spot(self) -> pulumi.Output[Optional['outputs.ElastigroupAzureV3RevertToSpot']]: + return pulumi.get(self, "revert_to_spot") + @property @pulumi.getter(name="scalingDownPolicies") def scaling_down_policies(self) -> pulumi.Output[Optional[Sequence['outputs.ElastigroupAzureV3ScalingDownPolicy']]]: @@ -806,6 +1446,31 @@ def scaling_down_policies(self) -> pulumi.Output[Optional[Sequence['outputs.Elas def scaling_up_policies(self) -> pulumi.Output[Optional[Sequence['outputs.ElastigroupAzureV3ScalingUpPolicy']]]: return pulumi.get(self, "scaling_up_policies") + @property + @pulumi.getter(name="schedulingTasks") + def scheduling_tasks(self) -> pulumi.Output[Optional[Sequence['outputs.ElastigroupAzureV3SchedulingTask']]]: + return pulumi.get(self, "scheduling_tasks") + + @property + @pulumi.getter + def secrets(self) -> pulumi.Output[Optional[Sequence['outputs.ElastigroupAzureV3Secret']]]: + return pulumi.get(self, "secrets") + + @property + @pulumi.getter + def security(self) -> pulumi.Output[Optional['outputs.ElastigroupAzureV3Security']]: + return pulumi.get(self, "security") + + @property + @pulumi.getter(name="shutdownScript") + def shutdown_script(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "shutdown_script") + + @property + @pulumi.getter + def signals(self) -> pulumi.Output[Optional[Sequence['outputs.ElastigroupAzureV3Signal']]]: + return pulumi.get(self, "signals") + @property @pulumi.getter(name="spotPercentage") def spot_percentage(self) -> pulumi.Output[Optional[int]]: @@ -816,8 +1481,23 @@ def spot_percentage(self) -> pulumi.Output[Optional[int]]: def tags(self) -> pulumi.Output[Optional[Sequence['outputs.ElastigroupAzureV3Tag']]]: return pulumi.get(self, "tags") + @property + @pulumi.getter(name="userData") + def user_data(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "user_data") + + @property + @pulumi.getter(name="vmNamePrefix") + def vm_name_prefix(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "vm_name_prefix") + @property @pulumi.getter(name="vmSizes") def vm_sizes(self) -> pulumi.Output['outputs.ElastigroupAzureV3VmSizes']: return pulumi.get(self, "vm_sizes") + @property + @pulumi.getter + def zones(self) -> pulumi.Output[Optional[Sequence[str]]]: + return pulumi.get(self, "zones") + diff --git a/sdk/python/pulumi_spotinst/outputs.py b/sdk/python/pulumi_spotinst/outputs.py index 6b20635b..8135ed15 100644 --- a/sdk/python/pulumi_spotinst/outputs.py +++ b/sdk/python/pulumi_spotinst/outputs.py @@ -17,24 +17,40 @@ __all__ = [ 'DataIntegrationS3', + 'ElastigroupAzureV3BootDiagnostic', + 'ElastigroupAzureV3CapacityReservation', + 'ElastigroupAzureV3CapacityReservationCapacityReservationGroups', + 'ElastigroupAzureV3DataDisk', 'ElastigroupAzureV3Extension', 'ElastigroupAzureV3ExtensionProtectedSettingsFromKeyVault', + 'ElastigroupAzureV3Health', 'ElastigroupAzureV3Image', 'ElastigroupAzureV3ImageCustom', 'ElastigroupAzureV3ImageGalleryImage', 'ElastigroupAzureV3ImageMarketplace', + 'ElastigroupAzureV3LoadBalancer', 'ElastigroupAzureV3Login', 'ElastigroupAzureV3ManagedServiceIdentity', 'ElastigroupAzureV3Network', 'ElastigroupAzureV3NetworkNetworkInterface', 'ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig', 'ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup', + 'ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup', + 'ElastigroupAzureV3OsDisk', + 'ElastigroupAzureV3ProximityPlacementGroup', + 'ElastigroupAzureV3RevertToSpot', 'ElastigroupAzureV3ScalingDownPolicy', 'ElastigroupAzureV3ScalingDownPolicyAction', 'ElastigroupAzureV3ScalingDownPolicyDimension', 'ElastigroupAzureV3ScalingUpPolicy', 'ElastigroupAzureV3ScalingUpPolicyAction', 'ElastigroupAzureV3ScalingUpPolicyDimension', + 'ElastigroupAzureV3SchedulingTask', + 'ElastigroupAzureV3Secret', + 'ElastigroupAzureV3SecretSourceVault', + 'ElastigroupAzureV3SecretVaultCertificate', + 'ElastigroupAzureV3Security', + 'ElastigroupAzureV3Signal', 'ElastigroupAzureV3Tag', 'ElastigroupAzureV3VmSizes', 'HealthCheckCheck', @@ -134,6 +150,191 @@ def subdir(self) -> Optional[str]: return pulumi.get(self, "subdir") +@pulumi.output_type +class ElastigroupAzureV3BootDiagnostic(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "isEnabled": + suggest = "is_enabled" + elif key == "storageUrl": + suggest = "storage_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3BootDiagnostic. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3BootDiagnostic.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3BootDiagnostic.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + is_enabled: bool, + type: str, + storage_url: Optional[str] = None): + pulumi.set(__self__, "is_enabled", is_enabled) + pulumi.set(__self__, "type", type) + if storage_url is not None: + pulumi.set(__self__, "storage_url", storage_url) + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> bool: + return pulumi.get(self, "is_enabled") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="storageUrl") + def storage_url(self) -> Optional[str]: + return pulumi.get(self, "storage_url") + + +@pulumi.output_type +class ElastigroupAzureV3CapacityReservation(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "shouldUtilize": + suggest = "should_utilize" + elif key == "utilizationStrategy": + suggest = "utilization_strategy" + elif key == "capacityReservationGroups": + suggest = "capacity_reservation_groups" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3CapacityReservation. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3CapacityReservation.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3CapacityReservation.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + should_utilize: bool, + utilization_strategy: str, + capacity_reservation_groups: Optional['outputs.ElastigroupAzureV3CapacityReservationCapacityReservationGroups'] = None): + pulumi.set(__self__, "should_utilize", should_utilize) + pulumi.set(__self__, "utilization_strategy", utilization_strategy) + if capacity_reservation_groups is not None: + pulumi.set(__self__, "capacity_reservation_groups", capacity_reservation_groups) + + @property + @pulumi.getter(name="shouldUtilize") + def should_utilize(self) -> bool: + return pulumi.get(self, "should_utilize") + + @property + @pulumi.getter(name="utilizationStrategy") + def utilization_strategy(self) -> str: + return pulumi.get(self, "utilization_strategy") + + @property + @pulumi.getter(name="capacityReservationGroups") + def capacity_reservation_groups(self) -> Optional['outputs.ElastigroupAzureV3CapacityReservationCapacityReservationGroups']: + return pulumi.get(self, "capacity_reservation_groups") + + +@pulumi.output_type +class ElastigroupAzureV3CapacityReservationCapacityReservationGroups(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "crgName": + suggest = "crg_name" + elif key == "crgResourceGroupName": + suggest = "crg_resource_group_name" + elif key == "crgShouldPrioritize": + suggest = "crg_should_prioritize" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3CapacityReservationCapacityReservationGroups. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3CapacityReservationCapacityReservationGroups.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3CapacityReservationCapacityReservationGroups.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + crg_name: str, + crg_resource_group_name: str, + crg_should_prioritize: Optional[bool] = None): + pulumi.set(__self__, "crg_name", crg_name) + pulumi.set(__self__, "crg_resource_group_name", crg_resource_group_name) + if crg_should_prioritize is not None: + pulumi.set(__self__, "crg_should_prioritize", crg_should_prioritize) + + @property + @pulumi.getter(name="crgName") + def crg_name(self) -> str: + return pulumi.get(self, "crg_name") + + @property + @pulumi.getter(name="crgResourceGroupName") + def crg_resource_group_name(self) -> str: + return pulumi.get(self, "crg_resource_group_name") + + @property + @pulumi.getter(name="crgShouldPrioritize") + def crg_should_prioritize(self) -> Optional[bool]: + return pulumi.get(self, "crg_should_prioritize") + + +@pulumi.output_type +class ElastigroupAzureV3DataDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sizeGb": + suggest = "size_gb" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3DataDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3DataDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3DataDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + lun: int, + size_gb: int, + type: str): + pulumi.set(__self__, "lun", lun) + pulumi.set(__self__, "size_gb", size_gb) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def lun(self) -> int: + return pulumi.get(self, "lun") + + @property + @pulumi.getter(name="sizeGb") + def size_gb(self) -> int: + return pulumi.get(self, "size_gb") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @pulumi.output_type class ElastigroupAzureV3Extension(dict): @staticmethod @@ -271,6 +472,66 @@ def source_vault(self) -> str: return pulumi.get(self, "source_vault") +@pulumi.output_type +class ElastigroupAzureV3Health(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoHealing": + suggest = "auto_healing" + elif key == "gracePeriod": + suggest = "grace_period" + elif key == "healthCheckTypes": + suggest = "health_check_types" + elif key == "unhealthyDuration": + suggest = "unhealthy_duration" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3Health. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3Health.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3Health.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_healing: Optional[bool] = None, + grace_period: Optional[int] = None, + health_check_types: Optional[Sequence[str]] = None, + unhealthy_duration: Optional[int] = None): + if auto_healing is not None: + pulumi.set(__self__, "auto_healing", auto_healing) + if grace_period is not None: + pulumi.set(__self__, "grace_period", grace_period) + if health_check_types is not None: + pulumi.set(__self__, "health_check_types", health_check_types) + if unhealthy_duration is not None: + pulumi.set(__self__, "unhealthy_duration", unhealthy_duration) + + @property + @pulumi.getter(name="autoHealing") + def auto_healing(self) -> Optional[bool]: + return pulumi.get(self, "auto_healing") + + @property + @pulumi.getter(name="gracePeriod") + def grace_period(self) -> Optional[int]: + return pulumi.get(self, "grace_period") + + @property + @pulumi.getter(name="healthCheckTypes") + def health_check_types(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "health_check_types") + + @property + @pulumi.getter(name="unhealthyDuration") + def unhealthy_duration(self) -> Optional[int]: + return pulumi.get(self, "unhealthy_duration") + + @pulumi.output_type class ElastigroupAzureV3Image(dict): @staticmethod @@ -452,6 +713,67 @@ def version(self) -> str: return pulumi.get(self, "version") +@pulumi.output_type +class ElastigroupAzureV3LoadBalancer(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceGroupName": + suggest = "resource_group_name" + elif key == "backendPoolNames": + suggest = "backend_pool_names" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3LoadBalancer. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3LoadBalancer.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3LoadBalancer.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + resource_group_name: str, + type: str, + backend_pool_names: Optional[Sequence[str]] = None, + sku: Optional[str] = None): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + pulumi.set(__self__, "type", type) + if backend_pool_names is not None: + pulumi.set(__self__, "backend_pool_names", backend_pool_names) + if sku is not None: + pulumi.set(__self__, "sku", sku) + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> str: + return pulumi.get(self, "resource_group_name") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="backendPoolNames") + def backend_pool_names(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "backend_pool_names") + + @property + @pulumi.getter + def sku(self) -> Optional[str]: + return pulumi.get(self, "sku") + + @pulumi.output_type class ElastigroupAzureV3Login(dict): @staticmethod @@ -597,6 +919,14 @@ def __key_warning(key: str): suggest = "additional_ip_configs" elif key == "applicationSecurityGroups": suggest = "application_security_groups" + elif key == "enableIpForwarding": + suggest = "enable_ip_forwarding" + elif key == "privateIpAddresses": + suggest = "private_ip_addresses" + elif key == "publicIpSku": + suggest = "public_ip_sku" + elif key == "securityGroups": + suggest = "security_groups" if suggest: pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3NetworkNetworkInterface. Access the value via the '{suggest}' property getter instead.") @@ -614,7 +944,11 @@ def __init__(__self__, *, is_primary: bool, subnet_name: str, additional_ip_configs: Optional[Sequence['outputs.ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig']] = None, - application_security_groups: Optional[Sequence['outputs.ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup']] = None): + application_security_groups: Optional[Sequence['outputs.ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup']] = None, + enable_ip_forwarding: Optional[bool] = None, + private_ip_addresses: Optional[Sequence[str]] = None, + public_ip_sku: Optional[str] = None, + security_groups: Optional[Sequence['outputs.ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup']] = None): pulumi.set(__self__, "assign_public_ip", assign_public_ip) pulumi.set(__self__, "is_primary", is_primary) pulumi.set(__self__, "subnet_name", subnet_name) @@ -622,6 +956,14 @@ def __init__(__self__, *, pulumi.set(__self__, "additional_ip_configs", additional_ip_configs) if application_security_groups is not None: pulumi.set(__self__, "application_security_groups", application_security_groups) + if enable_ip_forwarding is not None: + pulumi.set(__self__, "enable_ip_forwarding", enable_ip_forwarding) + if private_ip_addresses is not None: + pulumi.set(__self__, "private_ip_addresses", private_ip_addresses) + if public_ip_sku is not None: + pulumi.set(__self__, "public_ip_sku", public_ip_sku) + if security_groups is not None: + pulumi.set(__self__, "security_groups", security_groups) @property @pulumi.getter(name="assignPublicIp") @@ -648,6 +990,26 @@ def additional_ip_configs(self) -> Optional[Sequence['outputs.ElastigroupAzureV3 def application_security_groups(self) -> Optional[Sequence['outputs.ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup']]: return pulumi.get(self, "application_security_groups") + @property + @pulumi.getter(name="enableIpForwarding") + def enable_ip_forwarding(self) -> Optional[bool]: + return pulumi.get(self, "enable_ip_forwarding") + + @property + @pulumi.getter(name="privateIpAddresses") + def private_ip_addresses(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "private_ip_addresses") + + @property + @pulumi.getter(name="publicIpSku") + def public_ip_sku(self) -> Optional[str]: + return pulumi.get(self, "public_ip_sku") + + @property + @pulumi.getter(name="securityGroups") + def security_groups(self) -> Optional[Sequence['outputs.ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup']]: + return pulumi.get(self, "security_groups") + @pulumi.output_type class ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig(dict): @@ -711,15 +1073,155 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) pulumi.set(__self__, "resource_group_name", resource_group_name) - @property - @pulumi.getter - def name(self) -> str: - return pulumi.get(self, "name") + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> str: + return pulumi.get(self, "resource_group_name") + + +@pulumi.output_type +class ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceGroupName": + suggest = "resource_group_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: Optional[str] = None, + resource_group_name: Optional[str] = None): + if name is not None: + pulumi.set(__self__, "name", name) + if resource_group_name is not None: + pulumi.set(__self__, "resource_group_name", resource_group_name) + + @property + @pulumi.getter + def name(self) -> Optional[str]: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> Optional[str]: + return pulumi.get(self, "resource_group_name") + + +@pulumi.output_type +class ElastigroupAzureV3OsDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sizeGb": + suggest = "size_gb" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3OsDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3OsDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3OsDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + size_gb: Optional[int] = None): + pulumi.set(__self__, "type", type) + if size_gb is not None: + pulumi.set(__self__, "size_gb", size_gb) + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="sizeGb") + def size_gb(self) -> Optional[int]: + return pulumi.get(self, "size_gb") + + +@pulumi.output_type +class ElastigroupAzureV3ProximityPlacementGroup(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceGroupName": + suggest = "resource_group_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3ProximityPlacementGroup. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3ProximityPlacementGroup.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3ProximityPlacementGroup.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + resource_group_name: str): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> str: + return pulumi.get(self, "resource_group_name") + + +@pulumi.output_type +class ElastigroupAzureV3RevertToSpot(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "performAt": + suggest = "perform_at" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3RevertToSpot. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3RevertToSpot.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3RevertToSpot.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + perform_at: str): + pulumi.set(__self__, "perform_at", perform_at) @property - @pulumi.getter(name="resourceGroupName") - def resource_group_name(self) -> str: - return pulumi.get(self, "resource_group_name") + @pulumi.getter(name="performAt") + def perform_at(self) -> str: + return pulumi.get(self, "perform_at") @pulumi.output_type @@ -1114,6 +1616,310 @@ def value(self) -> Optional[str]: return pulumi.get(self, "value") +@pulumi.output_type +class ElastigroupAzureV3SchedulingTask(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cronExpression": + suggest = "cron_expression" + elif key == "isEnabled": + suggest = "is_enabled" + elif key == "adjustmentPercentage": + suggest = "adjustment_percentage" + elif key == "batchSizePercentage": + suggest = "batch_size_percentage" + elif key == "gracePeriod": + suggest = "grace_period" + elif key == "scaleMaxCapacity": + suggest = "scale_max_capacity" + elif key == "scaleMinCapacity": + suggest = "scale_min_capacity" + elif key == "scaleTargetCapacity": + suggest = "scale_target_capacity" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3SchedulingTask. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3SchedulingTask.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3SchedulingTask.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cron_expression: str, + is_enabled: bool, + type: str, + adjustment: Optional[str] = None, + adjustment_percentage: Optional[str] = None, + batch_size_percentage: Optional[str] = None, + grace_period: Optional[str] = None, + scale_max_capacity: Optional[str] = None, + scale_min_capacity: Optional[str] = None, + scale_target_capacity: Optional[str] = None): + pulumi.set(__self__, "cron_expression", cron_expression) + pulumi.set(__self__, "is_enabled", is_enabled) + pulumi.set(__self__, "type", type) + if adjustment is not None: + pulumi.set(__self__, "adjustment", adjustment) + if adjustment_percentage is not None: + pulumi.set(__self__, "adjustment_percentage", adjustment_percentage) + if batch_size_percentage is not None: + pulumi.set(__self__, "batch_size_percentage", batch_size_percentage) + if grace_period is not None: + pulumi.set(__self__, "grace_period", grace_period) + if scale_max_capacity is not None: + pulumi.set(__self__, "scale_max_capacity", scale_max_capacity) + if scale_min_capacity is not None: + pulumi.set(__self__, "scale_min_capacity", scale_min_capacity) + if scale_target_capacity is not None: + pulumi.set(__self__, "scale_target_capacity", scale_target_capacity) + + @property + @pulumi.getter(name="cronExpression") + def cron_expression(self) -> str: + return pulumi.get(self, "cron_expression") + + @property + @pulumi.getter(name="isEnabled") + def is_enabled(self) -> bool: + return pulumi.get(self, "is_enabled") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @property + @pulumi.getter + def adjustment(self) -> Optional[str]: + return pulumi.get(self, "adjustment") + + @property + @pulumi.getter(name="adjustmentPercentage") + def adjustment_percentage(self) -> Optional[str]: + return pulumi.get(self, "adjustment_percentage") + + @property + @pulumi.getter(name="batchSizePercentage") + def batch_size_percentage(self) -> Optional[str]: + return pulumi.get(self, "batch_size_percentage") + + @property + @pulumi.getter(name="gracePeriod") + def grace_period(self) -> Optional[str]: + return pulumi.get(self, "grace_period") + + @property + @pulumi.getter(name="scaleMaxCapacity") + def scale_max_capacity(self) -> Optional[str]: + return pulumi.get(self, "scale_max_capacity") + + @property + @pulumi.getter(name="scaleMinCapacity") + def scale_min_capacity(self) -> Optional[str]: + return pulumi.get(self, "scale_min_capacity") + + @property + @pulumi.getter(name="scaleTargetCapacity") + def scale_target_capacity(self) -> Optional[str]: + return pulumi.get(self, "scale_target_capacity") + + +@pulumi.output_type +class ElastigroupAzureV3Secret(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sourceVaults": + suggest = "source_vaults" + elif key == "vaultCertificates": + suggest = "vault_certificates" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3Secret. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3Secret.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3Secret.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + source_vaults: Sequence['outputs.ElastigroupAzureV3SecretSourceVault'], + vault_certificates: Sequence['outputs.ElastigroupAzureV3SecretVaultCertificate']): + pulumi.set(__self__, "source_vaults", source_vaults) + pulumi.set(__self__, "vault_certificates", vault_certificates) + + @property + @pulumi.getter(name="sourceVaults") + def source_vaults(self) -> Sequence['outputs.ElastigroupAzureV3SecretSourceVault']: + return pulumi.get(self, "source_vaults") + + @property + @pulumi.getter(name="vaultCertificates") + def vault_certificates(self) -> Sequence['outputs.ElastigroupAzureV3SecretVaultCertificate']: + return pulumi.get(self, "vault_certificates") + + +@pulumi.output_type +class ElastigroupAzureV3SecretSourceVault(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceGroupName": + suggest = "resource_group_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3SecretSourceVault. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3SecretSourceVault.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3SecretSourceVault.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + resource_group_name: str): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "resource_group_name", resource_group_name) + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="resourceGroupName") + def resource_group_name(self) -> str: + return pulumi.get(self, "resource_group_name") + + +@pulumi.output_type +class ElastigroupAzureV3SecretVaultCertificate(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "certificateStore": + suggest = "certificate_store" + elif key == "certificateUrl": + suggest = "certificate_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3SecretVaultCertificate. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3SecretVaultCertificate.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3SecretVaultCertificate.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + certificate_store: str, + certificate_url: str): + pulumi.set(__self__, "certificate_store", certificate_store) + pulumi.set(__self__, "certificate_url", certificate_url) + + @property + @pulumi.getter(name="certificateStore") + def certificate_store(self) -> str: + return pulumi.get(self, "certificate_store") + + @property + @pulumi.getter(name="certificateUrl") + def certificate_url(self) -> str: + return pulumi.get(self, "certificate_url") + + +@pulumi.output_type +class ElastigroupAzureV3Security(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "confidentialOsDiskEncryption": + suggest = "confidential_os_disk_encryption" + elif key == "secureBootEnabled": + suggest = "secure_boot_enabled" + elif key == "securityType": + suggest = "security_type" + elif key == "vtpmEnabled": + suggest = "vtpm_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3Security. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ElastigroupAzureV3Security.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ElastigroupAzureV3Security.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + confidential_os_disk_encryption: Optional[bool] = None, + secure_boot_enabled: Optional[bool] = None, + security_type: Optional[str] = None, + vtpm_enabled: Optional[bool] = None): + if confidential_os_disk_encryption is not None: + pulumi.set(__self__, "confidential_os_disk_encryption", confidential_os_disk_encryption) + if secure_boot_enabled is not None: + pulumi.set(__self__, "secure_boot_enabled", secure_boot_enabled) + if security_type is not None: + pulumi.set(__self__, "security_type", security_type) + if vtpm_enabled is not None: + pulumi.set(__self__, "vtpm_enabled", vtpm_enabled) + + @property + @pulumi.getter(name="confidentialOsDiskEncryption") + def confidential_os_disk_encryption(self) -> Optional[bool]: + return pulumi.get(self, "confidential_os_disk_encryption") + + @property + @pulumi.getter(name="secureBootEnabled") + def secure_boot_enabled(self) -> Optional[bool]: + return pulumi.get(self, "secure_boot_enabled") + + @property + @pulumi.getter(name="securityType") + def security_type(self) -> Optional[str]: + return pulumi.get(self, "security_type") + + @property + @pulumi.getter(name="vtpmEnabled") + def vtpm_enabled(self) -> Optional[bool]: + return pulumi.get(self, "vtpm_enabled") + + +@pulumi.output_type +class ElastigroupAzureV3Signal(dict): + def __init__(__self__, *, + timeout: int, + type: str): + pulumi.set(__self__, "timeout", timeout) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def timeout(self) -> int: + return pulumi.get(self, "timeout") + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @pulumi.output_type class ElastigroupAzureV3Tag(dict): def __init__(__self__, *, @@ -1142,6 +1948,8 @@ def __key_warning(key: str): suggest = "od_sizes" elif key == "spotSizes": suggest = "spot_sizes" + elif key == "preferredSpotSizes": + suggest = "preferred_spot_sizes" if suggest: pulumi.log.warn(f"Key '{key}' not found in ElastigroupAzureV3VmSizes. Access the value via the '{suggest}' property getter instead.") @@ -1156,9 +1964,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, od_sizes: Sequence[str], - spot_sizes: Sequence[str]): + spot_sizes: Sequence[str], + preferred_spot_sizes: Optional[Sequence[str]] = None): pulumi.set(__self__, "od_sizes", od_sizes) pulumi.set(__self__, "spot_sizes", spot_sizes) + if preferred_spot_sizes is not None: + pulumi.set(__self__, "preferred_spot_sizes", preferred_spot_sizes) @property @pulumi.getter(name="odSizes") @@ -1170,6 +1981,11 @@ def od_sizes(self) -> Sequence[str]: def spot_sizes(self) -> Sequence[str]: return pulumi.get(self, "spot_sizes") + @property + @pulumi.getter(name="preferredSpotSizes") + def preferred_spot_sizes(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "preferred_spot_sizes") + @pulumi.output_type class HealthCheckCheck(dict):